Брандмауэры и специальное программное обеспечение 8 Часть 4

Вид материалаРеферат

Содержание


Записи SSL
Первые запуск и обращение к Apache
Подобный материал:
1   ...   79   80   81   82   83   84   85   86   ...   101

Записи SSL


Если вы компонуете Apache с использованием модуля mod_ssl, в конец файла httpd.conf добавляется раздел, который имеет отношение к SSL.


ВНИМАНИЕ

Прежде чем приступить к использованию вашего сервера SSL, вы обязаны выполнить настройку этого раздела.

Значения некоторых параметров следует оставить такими, какие они есть. Ранее у вас уже была возможность изменить номер порта, через который сервер будет ожидать поступления новых соединений. Данные, которые необходимо заменить в первую очередь, располагаются в разделе . Выражение VirtualHost содержит в себе метку _default_, которая указывает на то, что система будет использовать следующие далее записи, если только для SSL-сервера, к которому клиент обращается по имени, не существует другого раздела VirtualHost, в котором указываются другие параметры. Вам также потребуется изменить номер порта для того, чтобы он соответствовал любым сделанным вами ранее изменениям.

Для данного узла набор параметров General будет выглядеть в точности так же, как и для обычной, не защищенной части HTTP-сервера. Это означает, что защищенный корневой каталог web-документов (DirectoryRoot) совпадает с незащищенным корневым каталогом web-документов.


ВНИМАНИЕ

Использование одного и того же корневого каталога Web-документов как для защищенной, так и для незащищенной части web-сервера — плохая идея. Директива DirectoryRoot защищенного сервера ни в коем случае не должна указывать на тот же самый каталог, что и директива DirectoryRoot незащищенного сервера. Эти два каталога не должны совпадать и не должны обладать общими подкаталогами. Два соответствующих дерева подкаталогов должны существовать полностью отдельно друг от друга, в противном случае создание защищенного web-сервера теряет смысл.

Разделить два дерева подкаталогов можно несколькими методами. Например, для незащищенной части web-сервера можно использовать каталог /home/httpd/ htdocs, а для защищенной части сервера создать параллельную структуру каталогов с другим именем (например secure). В частности, вы можете создать подкаталог secure в каталоге httpd и в качестве защищенного корневого каталога документов использовать каталог /home/httpd/secure. Другой вариант предусматривает создание двух раздельных подкаталогов в каталоге htdocs. Их можно назвать secure и nonsecure или public и private. Вам потребуется внести соответствующие изменения в конфигурацию обычного и защищенного web-серверов.

Для каждого из этих каталогов можно создать отдельный подкаталог cgi-bin. Это не является обязательным условием, однако если ваш незащищенный web-сервер использует множество сценариев CGI, возможно, вы не захотите, чтобы эти сценарии можно было запустить на стороне защищенного сервера.

Значение параметра ServerName может быть одним и тем же для обоих серверов, так как для обращения к защищенному серверу клиент будет использовать префикс https, а для обращения к незащищенной стороне будет использоваться обычный префикс http.

Возможно, будет более удобным, если вы будете использовать для защищенной и незащищенной стороны вашего сервера раздельные журналы ошибок и трансферов, однако, опять же, это не является обязательным и может быть реализовано на ваше усмотрение.

Многие параметры, о которых говорилось ранее, могут применяться также и в отношении защищенной стороны вашего сервера. Я надеюсь, что читатели смогут самостоятельно освоить использование этих параметров.


ВНИМАНИЕ

Если ваш защищенный и незащищенный web-серверы работают на одном и том же компьютере и один из этих серверов был взломан, можете считать, что второй сервер столь же уязвим. Будьте чрезвычайно осторожны в выборе сценариев CGI и параметров, действующих на незащищенной стороне вашего web-сервера.

В отношении Apache можно использовать множество других, более совершенных возможностей, однако я не буду описывать их в данной книге. К таким возможностям относятся директивы ограничения используемых шифров (таких как idea) и директивы определения уровня кодирования, который требуется от клиентов (например, запрещение 40-битных шифров), и т. п. Более подробно об этом можно узнать из электронной документации Apache.

Первые запуск и обращение к Apache


После того как вы внесли в конфигурацию сервера описанные ранее изменения и разместили в защищенном дереве каталогов по крайней мере один файл index, html, вы можете приступить к проверке механизмов доступа к web-содержимому. И если файл index.phpl защищенного сервера отличается от файла index.phpl незащищенного сервера, вы сможете со всей очевидностью обнаружить любые возникающие проблемы.

Для начала запустите Apache в качестве незащищенного сервера. Для этого можно использовать команду apachectl start. После этого запустите web-браузер и обратитесь по адресу /, чтобы убедиться в том, что web-сервер функционирует. Если вы выбрали порт, номер которого отличается от номера по умолчанию 80 (например 8080), вы должны указать номер используемого сервером порта в составе URL (например, :8080/). Если браузер отобразит корректную индексную HTML-страницу, значит, половина вашего сервера работает нормально. Если система сработает некорректно, обратитесь к файлам журналов для того, чтобы понять, в чем проблема. Если все работает нормально, остановите сервер командой apachectl stop.

Теперь запустите web-сервер Apache с поддержкой SSL. Для этого необходимо использовать команду apachectl startssl. Если при создании серверного сертификата вы указали ключевую фразу, при запуске сервера Apache в режиме SSL система попросит вас ввести эту фразу. После того как сервер Apache начал работу, прежде всего обратитесь к незащищенной web-странице так, как это было описано в предыдущем абзаце, — это необходимо для того, чтобы убедиться, что незащищенная часть сервера, как и прежде, работает нормально. После этого в строке адреса вашего браузера введите URL: https://localhost/. Обратите внимание на присутствие буквы «s» в названии протокола https. Если вы используете порт, отличающийся от порта по умолчанию 443 (например, 8443), вы должны указать номер этого порта в составе URL (например, https://localhost:8443/). Если все работает так, как должно, на экране перед вами появится диалоговое окно New Site Certificate (сертификат нового узла). Это диалоговое окно появляется на экране потому, что ваш браузер не распознает авторитетный сертифицирующий орган, который является источником данного сертификата. Используя появляющиеся на экране диалоговые окна, сообщите системе всю необходимую информацию (например, срок использования сертификата) и примите сертификат. Если вы создали сертификат для некоторого конкретного имени сетевого узла, на экране появится сообщение о том, что указанный вами сетевой узел (localhost) не соответствует имени узла, которое содержится внутри сертификата. Это нормально. Если вы обратитесь к серверу, используя в точности то же имя, которым вы пользовались при создании серверного сертификата (о создании серверного сертификата было рассказано ранее в данной главе), предупреждение о несоответствии имен на экране не появится. Убедитесь в том, что сервер обращается к правильному корневому каталогу web-документов. Если все работает нормально, вы можете приступить к использованию вашего защищенного web-сервера.