Итак, давайте приступим к генерированию сертификатов. Для этого сначала выполните команду:
# openssl genrsa -des3 -out server.key 1024
Она создаст файл server.key
. После этого вы должны подать запрос в службу верификации:
# openssl req -new -key server.key -out server.csr
Здесь вам придется ответить на вопросы. Если вы ошибетесь — ничего страшного, все можно будет повторить заново. В том случае, если запрос сгенерирован правильно, вы должны получить такую надпись:
You now have to send this Certificate Signing Request (CSR)
to a Certifying Authority (CA) for signing
Отвечая на вопросы, будьте очень внимательны — ваши ответы увидит весь мир.
По всем правилам вы сейчас должны подписать сертификат у сертифицирующей организации. Это услуга платная, и оказывает ее компания ThawTe ( www.thawte.com
), которую в России представляет www.solutions.rbc.ru
. Бесплатно вы можете получить только «самоподписанный» сертификат. Скопируйте sign.sh
из пакета mod_ssl в каталог с ключами и подпишите себя сами:
# openssl req -new -x509 -days 365 -key server.key -out server.csr
# ./sign.sh server.csr
Если на экране появится надпись
Now you have two files: server.key and server.crt.
These now can be used as following
то это означает, что все собрано правильно. Затем скопируйте новые файлы server.key
и server.crt
на место старых. Выполните команду makeв каталоге с .crt-файлом.
В итоге вы получите полностью работающий Apache, защищенный SSL. Для сбора полной информации о работе SSL введите:
# openssl s_client -connect localhost:443 -state -debug
16.11. Пример файла httpd.conf
В этом параграфе приведен пример стандартной конфигурации сервера Apache. Каждому блоку листинга 16.15 сопутствуют комментарии, которые помогут вам разобраться с различными настройками сервера.
Листинг 16.15. Пример файла httpd.conf
##
## httpd.conf -- файл конфигурации сервера HTTP Apache
##
# ----------------------------------------------------
# Установите имя сервера
ServerName www.dhsilabs.com
ResourceConfig /dev/null
AccessConfig /dev/null
# Поддержка динамических разделяемых объектов (Dynamic
# Shared Object -- DSO)
# Для более подробной информации о DSO прочтите файл
# README.DSO,
# входящий в дистрибутив Apache.
# Модуль расширяет возможности сервера Apache,
# добавляет в его состав новые функции.
# Подключить модуль можно так
# LoadModule foo_module libexec/mod_foo.so
# Вы можете найти документацию по модулям в файле
# "/var/www/manual/mod"
#LoadModule mmap_static_module modules/mod_mmap_static.so
LoadModule env_module modules/mod_env.so
### The first module activates buffered logs.
# Первый модуль обеспечивает протоколирование.
# Он запишет информацию
# в протокол access_log, когда буфер объемом 4К
# переполнится.
#LoadModule config_buffered_log_module modules/mod_log_config_buffered.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_infо.so
# Вы должны выбрать директиву mod_include
# или mod_include_xssi,
# но не обе одновременно! Директива mod_include более
# безопасна, но xssi содержит больше функций.
LoadModule includes_module modules/mod_include.so
#LoadModule includes_module modules/mod_include_xssi.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule proxy_module modules/libproxy.so
LoadModule alias_module modules/mod_alias.so
# Модуль mod_jserv должен быть объявлен до mod_rewrite.
LoadModule jserv_module modules/mod_jserv.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule db_auth_module modules/mod_auth_db.so
LoadModule digest_module modules/mod_digest.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
Читать дальше
Конец ознакомительного отрывка
Купить книгу