[devel] I: apache2-mod_ssl{,-compat}: Изменения настроек SSL.
Aleksey Avdeev
solo на solin.spb.ru
Сб Янв 26 14:12:08 MSK 2013
15.01.2013 22:21, Aleksey Avdeev пишет:
> Приветствую.
>
> Я планирую перевести дефолтные настройки apache2-mod_ssl{,-compat} на
> использование общесистемного хранилища сертификатов /var/lib/ssl.
> (Сейчас apache2-mod_ssl использует своё внутреннее хранилище,
> /etc/httpd2/conf/ssl.*.)
Содержащий данные изменения apache2-2.2.22-alt15 ушёл в Сизиф (см.
<http://git.altlinux.org/tasks/archive/done/_85/88057/logs/events.7.1.log>):
теперь при старте/рестарте сервера в /var/lib/ssl, средствами
cert-sh-functions, создаётся ключ и сертификат с именем httpd2, если
выполняются условия:
1. Существует /etc/httpd2/conf/mods-enabled/ssl.load (модуль ssl грузится).
2. Существует как минимум один файл (ссылка) из
/etc/httpd2/conf/sites-enabled/{000-,}default_https{,-compat}.conf (т.
е. используется что-то из
/etc/httpd2/conf/sites-available/default_https{-compat,}.conf).
3. В файлах п. 2 значения SSLCertificate{,Key}File соответствуют
умолчальным.
>
> Пока планирую сделать в
> /etc/httpd2/conf/sites-available/default_https{-compat,}.conf такие
> настройки (в значениях помеченных "????" я неуверен):
Сделано:
>
> # Server Certificate:
> # Point SSLCertificateFile at a PEM encoded certificate. If
> # the certificate is encrypted, then you will be prompted for a
> # pass phrase. Note that a kill -HUP will prompt again. Keep
> # in mind that if you have both an RSA and a DSA certificate you
> # can configure both in parallel (to also allow the use of DSA
> # ciphers, etc.)
> SSLCertificateFile "/var/lib/ssl/certs/server.crt"
> #SSLCertificateFile "/var/lib/ssl/certs/server-dsa.crt"
SSLCertificateFile "/var/lib/ssl/certs/httpd2.cert"
#SSLCertificateFile "/var/lib/ssl/certs/httpd2-dsa.cert"
>
> # Server Private Key:
> # If the key is not combined with the certificate, use this
> # directive to point at the key file. Keep in mind that if
> # you've both a RSA and a DSA private key you can configure
> # both in parallel (to also allow the use of DSA ciphers, etc.)
> SSLCertificateKeyFile "/var/lib/ssl/private/server.key"
> #SSLCertificateKeyFile "/var/lib/ssl/private/server-dsa.key"
SSLCertificateKeyFile "/var/lib/ssl/private/httpd2.key"
#SSLCertificateKeyFile "/var/lib/ssl/private/httpd2-dsa.key"
Для обеспечения преемственности настроек, при обновлении
apache2-mod_ssl{,-compat} <= 2.2.22-alt14 запускается триггер, который
при условиях (должны выполняться все):
1. Существовании старых сертификата и ключа (файлов
/etc/httpd2/conf/ssl.{crt/server.crt,key/server.key}).
2. Замены старого конфига
/etc/httpd2/conf/sites-available/default_https{-compat,}.conf на новый
(за счёт %config(noreplace), такое происходит только если поставленный
из пакета файл не редактировался).
В файлах /etc/httpd2/conf/sites-available/default_https{-compat,}.conf
для SSLCertificateKeyFile и SSLCertificateKeyFile сохраняется
использование старых значений:
# New certificate file
#SSLCertificateFile "/var/lib/ssl/certs/httpd2.cert"
# Old certificate file
SSLCertificateFile "/etc/httpd2/conf/ssl.crt/server.crt"
#SSLCertificateFile "/var/lib/ssl/certs/httpd2-dsa.cert"
и
# New certificate key file
#SSLCertificateKeyFile "/var/lib/ssl/private/httpd2.key"
# Old certificate key file
SSLCertificateKeyFile "/etc/httpd2/conf/ssl.key/server.key"
#SSLCertificateKeyFile "/var/lib/ssl/private/httpd2-dsa.key"
За счёт этого сохраняется использование старых ключа и сертификата (и
новые при этом не создаются).
>
> # Server Certificate Chain:
> # Point SSLCertificateChainFile at a file containing the
> # concatenation of PEM encoded CA certificates which form the
> # certificate chain for the server certificate. Alternatively
> # the referenced file can be the same as SSLCertificateFile
> # when the CA certificates are directly appended to the server
> # certificate for convinience.
> #SSLCertificateChainFile "/var/lib/ssl/certs/ca-root.pem"
#SSLCertificateChainFile "/var/lib/ssl/certs/ca-root.pem"
>
> # Certificate Authority (CA):
> # Set the CA certificate verification path where to find CA
> # certificates for client authentication or alternatively one
> # huge file containing all of them (file must be PEM encoded)
> # Note: Inside SSLCACertificatePath you need hash symlinks
> # to point to the certificate files. Use the provided
> # Makefile to update the hash symlinks after changes.
> #SSLCACertificatePath "/var/lib/ssl/certs"
> #SSLCACertificateFile "/var/lib/ssl/certs/ca-root.pem"
#SSLCACertificatePath "/var/lib/ssl/certs"
#SSLCACertificateFile "/var/lib/ssl/certs/ca-root.pem"
>
> # Certificate Revocation Lists (CRL):
> # Set the CA revocation path where to find CA CRLs for client
> # authentication or alternatively one huge file containing all
> # of them (file must be PEM encoded)
> # Note: Inside SSLCARevocationPath you need hash symlinks
> # to point to the certificate files. Use the provided
> # Makefile to update the hash symlinks after changes.
> #SSLCARevocationPath "/var/lib/ssl/certs"
> #SSLCARevocationFile "/var/lib/ssl/certs/ca-bundle.crl"
#SSLCARevocationPath "/var/lib/ssl/certs"
#SSLCARevocationFile "/var/lib/ssl/certs/ca-bundle.crl"
PS: В бранчи данный вариант отправлю примерно через неделю (если
проблемы не выплывут).
--
С уважением. Алексей.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 900 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20130126/be5c0219/attachment.bin>
Подробная информация о списке рассылки Devel