Сегодня мы поговорим про SSL шифрование и конкретно про его применение в apache web server.
Хоть исытания проводились на Fedora Core, но метод достаточно общий, с точностью до размещения конфигов.
сначала установим все необходимое
# yum install mod_ssl openssl
теперь изменим конфиг - у меня он лежал /etc/pki/tls/openssl.cnf
Изменяем вот что:
А так же стандартные ответы, что бы по 10 раз одно и то же не вбивать.
далее я создал папки:
# mkdir ~/ssl
# mkdir ~/ssl/ssl.crt
# mkdir ~/ssl/ssl.crl
# mkdir ~/ssl/ssl.key
# mkdir ~/ssl/ssl.prm
#cd ~/ssl
Теперь создаем корневой сертификат и ключ к нему:
# openssl req -new -x509 -keyout ssl.key/gw-ca.pem -out gw-ca.pem -days 3650
на 10 лет. Пароль стоит записать ну или в идеале запомнить - это ключ что бы подписывать сертификаты.
Снимем пароль с ключа
# openssl rsa -in ssl.key/gw-ca.pem -out gw-ca.key
# openssl x509 -in gw-ca.pem -out gw-ca.crt
На выходе этой команды, т.е. файл gw-ca.crt мы получим корневой сертификат.
создадим файл индексов
# touch index.txt
и файл серийных номеров:
# echo '01' > serial
Теперь создадим ключ для сервера:
Создаем запрос на подпись(новый сертификат и ключ к нему):
# openssl req -new -keyout ssl.key/gw.pem -out ssl.csr/gw.pem
# openssl rsa -in ssl.key/gw.pem -out gw.key
Теперь подпишем запрос:
# openssl ca -policy policy_anything -out ssl.crt/gw.pem -infiles ssl.csr/gw.pem
# openssl x509 -in ssl.crt/gw.pem -out ssl.crt/gw.crt
# chmod -R 400 *
Небольшая строчечка, что бы apache не спрашивал пароль при каждом запуске
# cd ~/ssl/ssl.key
# openssl rsa -in gw.key -out gw.key.apache
Вот с сертификатами и все. Теперь настройка apache. А это я опишу чуть позже.
Хоть исытания проводились на Fedora Core, но метод достаточно общий, с точностью до размещения конфигов.
сначала установим все необходимое
# yum install mod_ssl openssl
теперь изменим конфиг - у меня он лежал /etc/pki/tls/openssl.cnf
Изменяем вот что:
А так же стандартные ответы, что бы по 10 раз одно и то же не вбивать.
далее я создал папки:
# mkdir ~/ssl
# mkdir ~/ssl/ssl.crt
# mkdir ~/ssl/ssl.crl
# mkdir ~/ssl/ssl.key
# mkdir ~/ssl/ssl.prm
#cd ~/ssl
Теперь создаем корневой сертификат и ключ к нему:
# openssl req -new -x509 -keyout ssl.key/gw-ca.pem -out gw-ca.pem -days 3650
на 10 лет. Пароль стоит записать ну или в идеале запомнить - это ключ что бы подписывать сертификаты.
Снимем пароль с ключа
# openssl rsa -in ssl.key/gw-ca.pem -out gw-ca.key
# openssl x509 -in gw-ca.pem -out gw-ca.crt
На выходе этой команды, т.е. файл gw-ca.crt мы получим корневой сертификат.
создадим файл индексов
# touch index.txt
и файл серийных номеров:
# echo '01' > serial
Теперь создадим ключ для сервера:
Создаем запрос на подпись(новый сертификат и ключ к нему):
# openssl req -new -keyout ssl.key/gw.pem -out ssl.csr/gw.pem
# openssl rsa -in ssl.key/gw.pem -out gw.key
Теперь подпишем запрос:
# openssl ca -policy policy_anything -out ssl.crt/gw.pem -infiles ssl.csr/gw.pem
# openssl x509 -in ssl.crt/gw.pem -out ssl.crt/gw.crt
# chmod -R 400 *
Небольшая строчечка, что бы apache не спрашивал пароль при каждом запуске
# cd ~/ssl/ssl.key
# openssl rsa -in gw.key -out gw.key.apache
Вот с сертификатами и все. Теперь настройка apache. А это я опишу чуть позже.