mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
Создаём закрытый ключ для своего центра
(его нада будет закрыть паролем)
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
г
openssl req -new -key smtpd.key -out smtpd.csr
Основные параметры - катороые надо указать при генерации
Organization Name (O) : Logovo
Organizational Unit Name (OU) : SMTPD SSL key
Common Name (CN) : mail.padonak.su
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
далее - тока правильно указать пути в настройках :
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_auth_only = no
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
Создание SSL сертификатов на примере почтового сервера
Модератор: padonki
Создание собственного центра сертификации
Создание собственного CA
С OpenSSL, Вы можете создать ваши собственные сертификаты и даже Certificate Authority - это значит, что Вы можете создать, подписать и распространить свой сертификат по всему миру. В этом случае вся мировая общественность не сможет опознать Вас как CA ("я хочу принять сертификат ООО "Хренсгоры"? Нет!"), но позволяет идентифицировать уникальный хост. И это - все, что Вам необходимо для двух хостов, соединяющихся с вашим туннельным сервером.
Вы можете захотеть создать свой CA на туннельном сервере, а можете и не захотеть. Вам решать.
Для начала, входите на любой хост, который будет играть роль CA и создайте каталог, где Вы будете хранить свои сертификаты. Создать подкаталоги CA (demoCA), можно запустив следующий сценарий:
Когда будет запрошено имя сертификата CA, нажмите Enter. Затем будет запрошен пароль на защиту секретного ключа CA. Очень важно озаботиться безопасностью этого пароля, иначе любой человек сможет подписывать сертификаты от Вашего имени. Затем, будет запрошена информация о вашем местоположении, компании, общем имени, и адресе электронной почты. Все это понятно, кроме "общего имени". Это - принудительный бит однозначного определения данных, типа полностью уточненного имени домена Вашего хоста или Вашего имени.
После ввода требуемой информации, подкаталог demoCA будет создан. При большом желании можно дать chmod к файлу частного ключа (demoCA/private/cakey.pem), разрешив его на чтение только для root. Но это не должно быть необходимым, ведь Вы указали хороший пароль?
Вы можете игнорировать большинство содержания demoCA, но в ближайшем будущем Вы будете должны использовать demoCA/cacert.pem.
Создание и установка сертификатов :
Теперь, когда все готово для подписи сертификатов, Вы можете создавать их для всех хостов Вашей сети. Есть несколько простых шагов, одинаковых для каждого удаленного хоста и туннельного сервера.
Первый шаг должен создать публичный ключ и запрос сертификата. На сервере СА выполните:
Затем, сертификат должен быть подписан :
В результате Вы будете теперь иметь два файла, чтобы скопировать их на соответствующую машину: apache_key.pem и apache_key.crt.
Поместите их в /etc/apache2/cert/ Задайте минимальный права доступа (на своё усмотрение) . Ну и естейственно в настройках пропишите пути на них, штоб MOD SSL мог с ними работать :
С OpenSSL, Вы можете создать ваши собственные сертификаты и даже Certificate Authority - это значит, что Вы можете создать, подписать и распространить свой сертификат по всему миру. В этом случае вся мировая общественность не сможет опознать Вас как CA ("я хочу принять сертификат ООО "Хренсгоры"? Нет!"), но позволяет идентифицировать уникальный хост. И это - все, что Вам необходимо для двух хостов, соединяющихся с вашим туннельным сервером.
Вы можете захотеть создать свой CA на туннельном сервере, а можете и не захотеть. Вам решать.
Для начала, входите на любой хост, который будет играть роль CA и создайте каталог, где Вы будете хранить свои сертификаты. Создать подкаталоги CA (demoCA), можно запустив следующий сценарий:
Код: Выделить всё
/usr/local/ssl/misc/CA.pl -newca
(могут быть разные пути дапустим в ubuntu 8.04 : /usr/lib/ssl/misc/CA.pl -newca )
После ввода требуемой информации, подкаталог demoCA будет создан. При большом желании можно дать chmod к файлу частного ключа (demoCA/private/cakey.pem), разрешив его на чтение только для root. Но это не должно быть необходимым, ведь Вы указали хороший пароль?
Вы можете игнорировать большинство содержания demoCA, но в ближайшем будущем Вы будете должны использовать demoCA/cacert.pem.
Создание и установка сертификатов :
Теперь, когда все готово для подписи сертификатов, Вы можете создавать их для всех хостов Вашей сети. Есть несколько простых шагов, одинаковых для каждого удаленного хоста и туннельного сервера.
Первый шаг должен создать публичный ключ и запрос сертификата. На сервере СА выполните:
Код: Выделить всё
openssl req -new -nodes -keyout apache_key.pem -out apache_key.pem -days 3650
Код: Выделить всё
openssl ca -policy policy_anything -out apache_cert.pem -infiles apache_key.pem
Поместите их в /etc/apache2/cert/ Задайте минимальный права доступа (на своё усмотрение) . Ну и естейственно в настройках пропишите пути на них, штоб MOD SSL мог с ними работать :
Код: Выделить всё
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine On
SSLCertificateFile /etc/apache2/cert/apache_cert.pem
SSLCertificateKeyFile /etc/apache2/cert/apache_key.pem
DocumentRoot /var/www
</VirtualHost>