Главная » 2013 » Декабрь » 12 » 12.5. SSL и Apache
01:58
12.5. SSL и Apache

12.5.1. Установка SSL

SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности в Интернет. Этот метод поддерживает несколько способов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на уровне сервера. SSL работает на транспортном уровне и поэтому обеспечивает надежное шифрование всех типов данных. Более подробно о реализации SSL можно прочитать на сайте компании Netscape – http://home. netscape. com/info/security‑doc. html

Протокол S‑HTTP является еще одним «безопасным» Интернет‑протоколом. Он был разработан для предоставления конфиденциальности данных, передаваемых через соединение. Конфиденциальность нужна, например, при передаче номеров кредитных карточек и прочей важной информации.

Модуль mod_ssl реализует в сервере Apache слой SSL, который осуществляет шифрование всего потока данных между клиентом и сервером. Для всех остальных частей Web‑сервера модуль mod_ssl является прозрачным. Для работы в этом режиме требуется браузер, поддерживающий механизм SSL (этому условию удовлетворяют все современные распространенные браузеры).

Что касается установки, то вам необходимо установить пакет OpenSSL (http://www. openssl. org), хотя возможно у вас в системе уже установлен этот пакет. Для проверки этого введите openssl, и если вы увидите в ответ приглашение OpenSSL>, значит – OpenSSL уже установлен. В противном случае для установки OpenSSL выполните следующие шаги (перед этим выполните команду su для того, чтобы приобрести привилегии суперпользователя):

1. Распакуйте последнюю версию OpenSSL командой:

2. Перейдите в каталог openssl‑x. y.z и выполните команду:

3. Если все нормально (нет ошибок), введите команду:

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

4. Затем нужно ввести команды make install и ldconfig. Перед выполнением команды ldconfig убедитесь, что в файле /etc/ld. so. conf прописан путь к библиотекам OpenSSL (по умолчанию это /usr/local/ssl/lib).

12.5.2. Подключение SSL к Apache

Теперь осталось подключить mod_ssl к Apache. При этом следует учитывать, что вам нужна версия mod_ssl, которая совместима с вашей версией Apache. Иначе модуль mod_ssl будет некорректно работать или вообще откажется что‑либо делать. Последние цифры в названии модуля указывают на совместимость с определенной версией Apache. Например, для Apache 1.3.14 нужен файл mod_ssl‑2.7.1‑1.3.14.tar. gz. Здесь 2.7.1 – версия mod_ssl. Распакуйте модуль командой:

И выполните команду:

В данном примере я использую OpenSSL 0.9.5. Теперь перейдите в каталог с Apache, откомпилируйте его и установите сертификат:

Таким образом вы установите Apache в каталог, указанный в опции – prefix (по умолчанию /usr/local/apache). Теперь попробуйте запустить Apache. Это можно сделать с помощью команды:

Параметр startssl необходим для включения SSL. Сервер Apache уже функционирует, однако обратиться по протоколу https вы еще не можете. Для этого вам нужно сконфигурировать виртуальные хосты, которые будут использовать протокол https. Но для начала необходимо настроить Apache для прослушивания порта 443. С этой целью откройте любым редактором файл /etc/httpd/conf/httpd. conf и добавьте в него следующие строки:

Примечание. Порт 443 – это стандартный порт для протокола HTTPS. Именно по этому порту Apache будет прослушивать виртуальные хосты.

Теперь непосредственно приступите к созданию виртуального сервера, работающего по протоколу https, для чего продолжите редактирование файла /etc/httpd/conf/httpd. conf. Пример того, что необходимо при этом ввести, приведен в листинге 12.12:

Листинг 12.12. Виртуальный https‑cepвep

После таких строк вы можете конфигурировать свой виртуальный хост как обычно. Теперь нужно перезапустить сервер httpd. При запуске Apache потребует ввести пароль. Если вы не хотите вводить его при каждом запуске системы – перейдите в каталог, где находится файл ssl. key и выполните следующие команды:

Почти все готово! Теперь сервер не должен запрашивать пароль и будет работать в нормальном режиме. При обращении https://host. domain браузер запросит вас на предмет использования сертификата.

Чтобы Apache по умолчанию стартовал с поддержкой SSL, исправьте в файле bin/apachectl условие start на startold, a startssl на просто start. Затем, находясь в каталоге. usr/local/bin, установите ссылку openssl:

12.5.3. Генерирование сертификатов

Сертификат гарантирует безопасное подключение к Web‑серверам и (или) удостоверяет личность владельца. Идентификация обеспечивается путем применения личного ключа, известного только пользователю данной системы. Когда пользователь посещает защищенный узел для передачи секретной информации (например, номеров кредитных карточек) по протоколу https, узел автоматически пошлет ему сертификат.

Итак, давайте приступим к генерированию сертификатов. Для этого сначала выполните команду:

Она создаст файл server. key. После этого вы должны подать запрос в службу верификации:

Здесь вам придется ответить на вопросы. Если вы ошибетесь – ничего страшного, все можно будет повторить заново. В том случае, если запрос сгенерирован правильно, вы должны получить такую надпись:

Отвечая на вопросы, будьте очень внимательны – ваши ответы увидит весь мир.

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

В данном случае у вас получится «самоподписанный» сертификат. Если вы хотите получить полноценный сертификат, то вам придется заплатить за подпись деньги. Для этого добро пожаловать на сайт www. thawte. com. В России представителем этого сайта является solutions. rbc. ru. Компания ThawTe занимается генерированием полноценных сертификатов. Получить сертификат от ThawTe можно, естественно, за деньги. На сайте же solutions. rbc. ru просто перепродают услуги компании ThawTe.

Возвращаясь к генерированию сертификата, скопируйте sign. sh из пакета mod_ssl в каталог с ключами и подпишите себя:

Если на экране появится надпись:

То это означает, что все собрано правильно. Затем скопируйте новые файлы server. key и server. crt на место старых. Выполните команду make в каталоге с. crt‑файлом.

В заключении вы получите полностью работающий Apache, защищенный SSL. Для сбора полной информации о работе SSL введите:

Категория: Сервер Apache | Просмотров: 376 | Добавил: spb_serge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: