Возможно вы искали: 'Wizard and the Princess'

May 15 2025 19:44:20
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Установка и настройка Apache и подписанных SSL-сертификатов (apache ssl cert freebsd)

Установка и настройка Apache и подписанных SSL-сертификатов (apache ssl cert freebsd)

Ключевые слова: apache, ssl, cert, freebsd, (найти похожие документы)

From: Бульба Сергей <bas@vulcan.ru.>
Newsgroups: email
Date: Mon, 9 Nov 2008 17:02:14 +0000 (UTC)
Subject: Установка и настройка Apache и подписанных SSL-сертификатов

От автора

В связи с тем, что иногда приходится изучать кучу документации,
тестировать и пробовать различные подходы, то тратится куча времени.
Очень часто приходится бороздить просторы OpenNET'а, поэтому я решил,
что накопленный опыт целесообразно выкладывать именно сюда, чтобы и мне
было проще и оно наверное ещё кому пригодится. Так же очень часто статьи
вроде бы уже об изученных вещах очень удачно переписываться и
дополняются под новые версии программного обеспечения. Хотелось бы
добавить, что так как статья писалась по горячим следам мне необходимых
вещей, то и описывать я буду свой пример, т.е. разговаривать о
виртуальных примерах и ситуациях я не намерен. На основе данной статьи
можно заточить настройку web-сервера под свои нужды без особых проблем.


Введение

Со временем наступает момент, когда трафик от сервера к клиенту
необходимо (или хотелось бы) шифровать. В моём случае это потребовалось
для самописной системы, в которой проскакивали логины и пароли
пользователей. Поэтому было решено использовать связку apache + mod_ssl.


Используемое ПО

FreeBSD 7.0
Apache 2.2.9


Установка Apache

Не люблю изобретать велосипед и выдумывать, если что-то придумано до меня,
поэтому в установке ПО во FreeBSD я использую систему портов. Так же
местоположение конфигов я не изменяю и оставляю по умолчанию.
Устанавливаем Apache:

# cd /usr/ports/www/apache22
# make install clean


При установке Apache первый раз появится диалоговое окно с выбором
модулей. Необходимо проверить, что модуль SSL выбран (находится почти в
самом низу). Остальные модули можно включить/отключить под свои нужды.
После мы нажимаем "Ok" и ждём окончания компиляции и
установки.


Создание SSL-сертификатов

После установки web-сервера и перед его конфигурированием нам необходимо
создать ssl-сертификаты. Создавать их мы будем в папке с конфигами
Apache. Для создания сертификатов нам потребуется ряд данных. Первое,
что нам потребуется - это пароль. Как всегда придумываем что-нибудь
длинное и сложное. В нашем примере пусть это будет "agu7Lirithiunee".

# cd /usr/local/etc/apache22
# openssl genrsa -des3 -rand /dev/random -out server.key 1024
# openssl rsa -in server.key -out server.pem
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


При выполнении третьей команды нам необходимо будет заполнить небольшую
анкету. По сути, можно постоянно нажимать Enter, но есть поля, которые
заполнить всё же необходимо. Я бы рекомендовал не лениться, а заполнять
все поля. Так же необходимо заметить, что файл server.csr нам
потребуется для получения подписанного сертификата.

Common Name (eg, YOUR name) []: www.domain.ru - заполняем полным
доменным именем нашего сервера, для которого мы получаем сертификат.

Email Address []: user@domain.ru - указываем свой адрес электронной почты.

Дополнительные (extra) поля не заполняйте!

По завершению у нас будет создано 4 файла: server.crt, server.csr, server.key, server.pem.

По сути, на этом можно и остановиться: web-сервер уже сможет работать по
ssl, но мы столкнёмся со следующими проблемами:

1) Полученные сертификаты не являются подписанными, поэтому браузеры
будут на них ругаться, что в свою очередь приведёт к тому, что
пользователю потребуется выполнять ряд действий. Так как не все
пользователи поймут, что от них надо они попросту забьют тревогу,
закроют страницу и всё.

2) Вполне возможно, что нам просто необходимы валидные сертификаты,
поэтому нам не подойдут неподписанные, так как они не будут отвечать
всем требованиям по безопасности.

Выдачей подписанных сертификатов занимается ряд сервисов в интернете. К
счастью есть и такие, которые дают подписанные сертификаты бесплатно:

http://www.freessl.su - сроком на 1 месяц
http://www.instantssl.com/ssl-certificate-products/free-ssl-certificate.html - сроком на 3 месяца

1. Зайдя на http://www.instantssl.com/ssl-certificate-products/free-ssl-certificate.html
нажимаем на кнопку Get It Free Now!

2. В предложенной форме в первое поле мы копируем содержимое файла с
расширением CSR (копируем полностью).

3. Во втором поле выбираем пункт Apache-ModSSL.

4. Нажимаем Next.

5. Выбираем, на какой адрес высылать сертификаты.

6. Нажимаем Confirm & Continue.

7. В следующей форме заполняем все поля, выделенные красным цветом.
Особое внимание обратите внимание на Admin Contact email - это наш
адрес, на который придут уведомления и сертификаты. Так же нас будут
интересовать поля из раздела Choose your Admin Contact's Management
Details - это наши логин и пароль в данной системе.

8. Нажимаем Agree & Continue.

После этого к нам на e-mail придёт уведомление, что мы зарегистрированы
и что на адрес администратора домена выслан запрос на подтверждение. Так
как у меня стоит перенаправление со служебных адресов (admin, root,
webmaster), то я получаю сразу оба письма. В одном из них будет ссылка
на форму подтверждения и код активации. Когда мы введёт оставшиеся
данные к нам на почту придёт архив с двумя сертификатами, которые мы
должны скопировать к ранее созданным сертификатам. После чего мы можем
продолжить конфигурирование web-сервера.

Конфигурирование Apache

Для запуска Apache с SSL добавляем следующие строки в конфиги:

# echo "apache2_enable=YES" >> /etc/rc.conf
# echo "apache2ssl_enable=YES" >> /etc/rc.conf
# echo "accf_http_load=YES" >> /boot/loader.conf
# kldload accf_http


Третья строка необходима для того, чтобы при запуске не появлялась ошибка:

[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter


Четвёртая строка необходима для того, чтобы не перегружать сервер, так
как FreeBSD позволяет динамически подгружать/выгружать модули ядра. Для
проверки, что модуль загрузился смотрим вывод команды kldstat.

Проводим стандартную настройку httpd.conf:

1) Указываем e-mail админа:

ServerAdmin webmaster@domain.ru


2) Указываем имя сервера и не забудьте раскомментировать строчку:

ServerName www.domain.ru:80


3) Раскомментируем поддержку виртуальных хостов:

Include etc/apache22/extra/httpd-vhosts.conf


4) Раскомментируем поддержку ssl:

Include etc/apache22/extra/httpd-ssl.conf


После этого приступим к конфигурированию httpd-ssl.conf:

1) Для того, чтобы запуск web-сервера выполнялся автоматически и не
останавливался на запрос пароль ssl-сертификатов, то заменяем

SSLPassPhraseDialog builtin


на

SSLPassPhraseDialog exec:/usr/local/etc/apache2/echo


2) Изменяем секцию виртуального хоста под свои нужды. В конфиге много
комментариев, поэтому я приведу только то, что должно быть.

<VirtualHost a.b.c.d:443>
DocumentRoot "/usr/local/www/apache22/data"
ServerName www.domain.ru:443
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/etc/apache22/www_domain_ru.crt
SSLCertificateKeyFile "/usr/local/etc/apache22/server.key"
SSLCACertificateFile /usr/local/etc/apache22/www_domain_ru.ca-bundle
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/www/apache22/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
</VirtualHost>


a.b.c.d - IP-адрес виртуального хоста. Обратите внимание на директивы
SSLCertificateFile и SSLCACertificateFile - это как раз те директивы,
которые указывают на полученные и подписанные ssl-сертификаты.

3) Создаём скрипт echo в папке /usr/local/etc/apache22, который будет
отвечать Apache на запрос пароля сертификатов следующего содержания:

#!/bin/sh
/bin/echo agu7Lirithiunee


Меняем владельца и права доступа:

# chown root:wheel /usr/local/etc/apache22/echo
# chmod 700 /usr/local/etc/apache22/echo


4) Создаём обычный виртуальный хост. Для этого редактируем конфиг
httpd-vhosts.conf. Примеры виртуальных хостов я комментирую, так как
пользуюсь минимальным набором директив.

NameVirtualHost a.b.c.d:80
<VirtualHost a.b.c.d:80>
DocumentRoot "/usr/local/www/apache22/data"
ServerName www.domain.ru
</VirtualHost>


Важное дополнение. В связи с тем, что сертификаты подписываются на конкретный домен,
то у нас будет проблема, в случае нескольких алиасов для сервера или если сервер
доступен с локальной сети под одной адресацией/алиасом, а с интернета - под другими.
Самый верный способ - сделать перенаправление. Способов сделать много, покажу тот,
который использует файл .htaccess и mod_rewrite.

1) Открываем для редактирования конфиг httpd-vhosts.conf.
2) Разрешаем опцию AllowOverride, для этого меняем содержимое виртуального хоста
на ниже следующее:

NameVirtualHost a.b.c.d:80
<VirtualHost a.b.c.d:80>
DocumentRoot "/usr/local/www/apache22/data"
ServerName www.domain.ru
<Directory /usr/local/www/apache22/data/>
AllowOverride All
</Directory>
</VirtualHost>


3) Далее нам необходимо создать файл .htaccess в директории нашего сайта содержащий
такой код:

RewriteEngine on
Redirect / https://www.domain.ru/


Не наступите на те же грабли, что и я как-то. Если у вас защищаемый контент находится
по адресу http://www.domain.ru/dir, то всё равно строчка редирект будет выглядить
как написано выше.

Редактирование конфигов завершено. Теперь мы можем запустить Apache:

[root@domain /usr/local/etc/apache22/]# /usr/local/etc/rc.d/apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.


После этого заходим через браузер на страницу http://www.domain.ru и
видим It works! Стандартный протокол передачи работает. Для проверки ssl
заходим по адресу https://www.domain.ru. В зависимости от
браузера должен появится или замочек, или название сертификата, при
клике на который будет писаться, что "подключение безопасно" или
"подключение использует шифрование".


Источники

http://www.opennet.ru/base/sec/ssl_freebsd.txt.html
http://www.opennet.ru/base/net/apache_mod_ssl.txt.html
http://www.opennet.ru/base/sec/apache_ssl_certification.txt.html
http://www.lissyara.su/?id=1284
http://httpd.apache.org/docs/2.2
http://httpd.apache.org/docs/2.2/ssl/
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html
http://yandex.ru/yandsearch?clid=9582&text=apache22+ssl+freebsd
1064 Прочтений •  [Установка и настройка Apache и подписанных SSL-сертификатов (apache ssl cert freebsd)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Установка и настройка Apache и подп... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка