Начиная с 5.2, по-моему, OpenBSD научилась загружаться с корневым разделом в софтовом рейде. Правда при этом загрузчику вместе со всей папкой /boot таки приходится выделять нормальный раздел, который должен быть на каждом диске массива.
понедельник, 2 декабря 2013 г.
понедельник, 6 мая 2013 г.
openssl certs
CA
openssl ecparam -name secp521r1 -out ec521.param
openssl genpkey -paramfile ec521.param -out root-ca.key
openssl ec -in root-ca.key -noout -text
openssl ec -aes-256-ecb -in root-ca.key -out root-ca-aes.key
Генерируем приватный ключ:
openssl genpkey -out some.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048
создаем кофигурационный файл req.conf:
[req]
default_md = sha256
utf8 = yes
prompt = no
distinguished_name = req_dn
[req_dn]
countryName = UK
organizationName = ECMA Ltd
organizationalUnitName = WWW
commonName = www.ecma.com
Генерируем запрос на сертификат:
openssl req -new -key some.key -config req.conf -out some.csr
Проверить содержимое:
openssl req -in mycsr.csr -noout -text
Конфигурационный файл для подписи ca_serv.conf:
[default] default_ca = ca_root [x509_extensions] basicConstraints = critical,CA:false keyUsage = critical,digitalSignature,keyEncipherment subjectKeyIdentifier = hash [ca_root] home = . database = $home/db/index serial = $home/db/serial crlnumber = $home/db/crlnumber certificate = $home/private/ca-root.crt private_key = $home/private/ca-root.key RANDFILE = $home/private/random new_certs_dir = $home/certs unique_subject = no copy_extensions = copy default_days = 365 default_crl_days = 365 default_md = sha256 policy = policy_c_o_match [policy_c_o_match] countryName = match stateOrProvinceName = optional organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional
подписываем на CA машине:
openssl ca -out host.crt -in some.csr -config ca_serv.conf -extensions x509_extensionsпроверяем
openssl x509 -in
host.crt -noout -texthttp://pages.cs.wisc.edu/~zmiller/ca-howto/
http://www.madboa.com/geek/openssl/#cert-exam
воскресенье, 30 декабря 2012 г.
Проверка сервера через сертификаты
Итак, я пересаживаюсь на новую машину, захожу по ssh на сервер и вижу знакомую надпись:
и хз, как отвечать. откуда ж я помню какой фингерпринт был на каждом сервере. А чужих серверов в округе полно, и вбивать свой пароль неизвестной машине очень не хочется.
Можно хранить фингерпринты где-нибудь в интернете, в доступном месте. Можно завести dns-записи, но для этого нужен свой dns-сервер, ибо я еще не видел сервисов умеющих заводить их. И, наконец, можно подписать ключи серверов ключом центра авторизации, и тогда на клиентской машине нужно будет добавить только одну строчку в known_hosts и мы автоматически начинаем доверять всем своим серверам.
при этом создается обычная пара ssh ключей: ca-key (приватный) и ca-key.pub (открытый, он нам понадобится на клиентских машинах)
получаем файл /etc/ssh/ssh_host_ecdsa_key-cert.pub
перезапускаем ssh
при этом ключи самого сервера добавлять не нужно.
таким образом подписав нашим ca-key ключи всех серверов, мы сможем проверять валидность их ключей без изменения known-hosts
authenticity of this host is can`t be established
key fingerprint is xxxxxxxxxxxx
are you sure?
и хз, как отвечать. откуда ж я помню какой фингерпринт был на каждом сервере. А чужих серверов в округе полно, и вбивать свой пароль неизвестной машине очень не хочется.
Можно хранить фингерпринты где-нибудь в интернете, в доступном месте. Можно завести dns-записи, но для этого нужен свой dns-сервер, ибо я еще не видел сервисов умеющих заводить их. И, наконец, можно подписать ключи серверов ключом центра авторизации, и тогда на клиентской машине нужно будет добавить только одну строчку в known_hosts и мы автоматически начинаем доверять всем своим серверам.
создаем ключ CA
ssh-keygen -t ecdsa -f /etc/ssh/ca-keyпри этом создается обычная пара ssh ключей: ca-key (приватный) и ca-key.pub (открытый, он нам понадобится на клиентских машинах)
подписываем хост-ключи сервера
ssh-keygen -s /etc/ssh/ca-key -h -I server.com /etc/ssh/ssh_host_ecdsa_key.pubполучаем файл /etc/ssh/ssh_host_ecdsa_key-cert.pub
настраиваем sshd
в файле /etc/ssh/sshd_config добавляем строкуHostCertificate /etc/ssh/ssh_host_ecdsa_key-cert.pubперезапускаем ssh
настраиваем клиент
содержимое ca-key.pub (это одна строка) копируем в known_hosts. В начале этой строки добавляем@cert-authority server_nameпри этом ключи самого сервера добавлять не нужно.
таким образом подписав нашим ca-key ключи всех серверов, мы сможем проверять валидность их ключей без изменения known-hosts
понедельник, 6 августа 2012 г.
загрузочная флешка с линуксом
Вчера встала задача поднять вайфай на ноутбуке. Система стояла openbsd, в которой драйверов на карточку нету даже в планах. Проводная сеть работает. Под линукс нужные дрова есть. Остается загрузить линукс. Сидирома нет - исошки не прокатят. Пытаюсь найти образ загрузочной флешки (кстати, с опенбсд такая нашлась на первой странице гугла), но везде только инструкции, как создать ее самому. Для создания требуются утилиты, которые под опенкой не работают/отсутствуют.
Вобщем, сплошное разочарование :( Вайфая я так и не получил.
Сегодня, придя на работу, первым делом создал загрузочную флешку с установочным образом генты.
выкладываю тут на всякий случай - gentoo_usb.img
для заливки - dd if=gentoo_usb.img of=/dev/sdc
или как там флешка определилась. флешка нужна на 500 мб или больше
и для лучшего поиска - gentoo liveusb flash скачать, без смс, без регистрации :)
Вобщем, сплошное разочарование :( Вайфая я так и не получил.
Сегодня, придя на работу, первым делом создал загрузочную флешку с установочным образом генты.
выкладываю тут на всякий случай - gentoo_usb.img
для заливки - dd if=gentoo_usb.img of=/dev/sdc
или как там флешка определилась. флешка нужна на 500 мб или больше
и для лучшего поиска - gentoo liveusb flash скачать, без смс, без регистрации :)
вторник, 31 июля 2012 г.
panic in ghc
Написал маленький но полезный скрипт на хаскеле. И он прекрасно компилировался и работал на домашнем буке. Но после копирования на рабочую машину ghc сказал:
$ ghc
ghc: panic! (the 'impossible' happened)
(GHC version 6.12.3 for i386-unknown-openbsd):
too few bytes. Failed reading at byte position 10861
Оно, конечно, дома то уже 7-ая версия стоит, и я подумал, а не изменился ли синтаксис?
Но попытка скомпилировать программу с одной строчкой и той контстантой не привела к успеху
Зато как обычно гугл почти сразу дал ответ -
надо почистить ~/.ghc
Похоже туда он сваливает временные файлы для ускорения компиляции и после обновления системы формат их изменился
четверг, 26 апреля 2012 г.
заведение виртуального почтового ящика
используются exim + courier imapd
в /etc/exim/auths добавляем строку:
vmailbox@vdomain: password
в /etc/exim/domains/vdomain добавляем строку:
vmailbox
(пожалуй, этот вместо этого можно использовать файл с паролями, но я скорее перейду на ldap)
Теперь imap.
создаем папку для ящика:
mkdir /home/vdomain/vmailbox
генерируем структуру:
maildirmake /home/vdomain/vmailbox
выставляем права:
chmod -R vdomain:vdomain /home/vdomain/vmailbox
добавляем запись в базу паролей:
userdb "vmailbox@vdomain" set home=/home/vdomain mail=/home/vdomain/vmailbox uid=vdomain gid=vdomain
задаем пароль:
userdbpw -md5 | userdb "vmailbox@vdomain" set imappw - для IMAP
userdbpw -md5 | userdb "vmailbox@vdomain" set pop3pw - для POP3
компилируем базу паролей:
makeuserdb
в последних версиях OpenBSD почему-то makeuserdb ругается No such file or directory
это лечится через
ln -s /usr/local/libexec/makedatprog /usr/local/libexec/courier-authlib/
ну или сам скрипт makeuserdb поправить - он на перле
в /etc/exim/auths добавляем строку:
vmailbox@vdomain: password
в /etc/exim/domains/vdomain добавляем строку:
vmailbox
(пожалуй, этот вместо этого можно использовать файл с паролями, но я скорее перейду на ldap)
Теперь imap.
создаем папку для ящика:
mkdir /home/vdomain/vmailbox
генерируем структуру:
maildirmake /home/vdomain/vmailbox
выставляем права:
chmod -R vdomain:vdomain /home/vdomain/vmailbox
добавляем запись в базу паролей:
userdb "vmailbox@vdomain" set home=/home/vdomain mail=/home/vdomain/vmailbox uid=vdomain gid=vdomain
задаем пароль:
userdbpw -md5 | userdb "vmailbox@vdomain" set imappw - для IMAP
userdbpw -md5 | userdb "vmailbox@vdomain" set pop3pw - для POP3
компилируем базу паролей:
makeuserdb
в последних версиях OpenBSD почему-то makeuserdb ругается No such file or directory
это лечится через
ln -s /usr/local/libexec/makedatprog /usr/local/libexec/courier-authlib/
ну или сам скрипт makeuserdb поправить - он на перле
воскресенье, 30 октября 2011 г.
ipsec на openbsd
Генерация приватного ключа для isakmpd:
#openssl genrsa -out /etc/isakmpd/private/local.key 1024
#sudo chmod 600 /etc/isakmpd/private/local.key
#openssl genrsa -out /etc/isakmpd/private/local.key 1024
#sudo chmod 600 /etc/isakmpd/private/local.key
Подписаться на:
Сообщения (Atom)