| |||||||||||||||||||||
Ключевые слова: freebsd, apache, ssl, mod_ssl, crypt, (найти похожие документы)
From: Александр Елисеенко <tusur at mail.ru> Newsgroups: email Date: Mon, 11 May 2004 14:31:37 +0000 (UTC) Subject: Установка Apache с поддержкой SSL и генерация сертификатов По материалам статей: Stricty (http://www.opennet.ru/base/sec/ssl_freebsd.txt.html) Alexch (http://www.opennet.ru/base/net/apache_mod_ssl.txt.html) Недавно на OpenNET были опубликованы две статьи на тему установки Apache с поддержкой SSL под FreeBSD. Ключевой момент - генерация сертификатов. И если в статье у Stricty представлена хоть и не совсем удачная (малопонятна система именования файлов, лишние действия), но по крайней мере самостоятельная попытка разобраться в этом вопросе, то у alexch - чистой воды плагиат. Не согласен с комментарием Максима Чиркова - нового в этой статье ничего нет. Такого сорта статьи только запутывают читателей. На самом деле не нужно заново изобретать велосипед, в стандартной поставке Apache + mod_ssl и в openssl есть все необходимое. Установка Apache 1.3 с поддержкой SSL делается очень просто: cd /usr/ports/www/apache13-modssl (английская версия) или cd /usr/ports/russian/apache13-modssl (русская версия) make make certification TYPE=custom make install при генерации сертификатов создается нешифрованный ключ корневого сертификата (ca.key), сертификационный запрос (ca.csr) и самоподписанный корневой сертификат (ca.crt), нешифрованный ключ сервера (server.key) сервера, сертификационный запрос (server.csr) и подписанный корневым сертификатом собственно сертификат сервера (server.crt). Будет предложено зашифровать ключи. При ответе на вопросы в процессе генерации сертификационного запроса сервера необходимо учесть, что commonName - это обязательно главное доменное имя хоста. Для сертификационного запроса корневого сертификата этот параметр не имеет значения. Ключи можно шифровать, а можно и не шифровать. При запуске Apache с шифрованным ключом потребуется ввести пароль, это можно сделать с помощью внешней программы. И самое главное - файл корневого сертификата ca.crt необходимо передать на клиентский компьютер и ввести в хранилище сертификатов браузера. Только в этом случае при обращении к нашему серверу по защищенному протоколу браузер НЕ БУДЕТ выдавать предупреждение, что сертификат выдан организацией, не входящей в состав доверенных. Авторы вышеупомянутых статей предлагают прописывать ссылку на файл корневого сертификата в строке SSLCACertificateFile /usr/local/etc/apache/ssl.crt/ca.crt конфигурационного файла httpd.conf, но это неверно. Данная опция предназначена для организации проверки сертификатов КЛИЕНТОВ на стороне сервера. Сгенерировать сертификаты можно и по другому. В состав дистрибутива openssl входят скрипты CA.sh и CA.pl cd /usr/local/openssl/misc создаем корневой сертификат ./CA.sh -newca генерируем личный ключ и сертификационный запрос сервера ./CA.sh -newreq и подписываем его своим корневым сертификатом. ./CA.sh -sign переписываем ключ и сертификат сервера в служебный каталог Apache cp newreq.pem /usr/local/etc/apache/sslkey/server.key cp newcert.pem /usr/local/etc/apache/ssl.crt/server.crt Файл корневого сертификата ./demoCA/cacert.pem необходимо распространить по клиентским компьютерам. Если кто желает узнать о генерации ключей и сертификатов в большей мере, рекомендую обратиться к документации на ssl lynx /usr/local/share/doc/apache/manual/mod/mod_ssl/ssl_faq.html На этом все. С уважением, Александр
| |||||||||||||||||||||
|
|
|