Настройка для Apache+SSL для openSuSe 11.4. Чисто для себя сохранил то что нужно.

Настройка для SSL для openSuSe 11.4. Чисто для себя сохранил то что нужно.

Предварительные настройки


]]>

Корректируем конфиг OpenSSL]]> создаем любую свою директорию и в нее копируем шаблон openssl.cnf.tmpl из /var/lib/CAM и правим:

      dir = .
      certs = $dir/ssl.crt
      crl_dir = $dir/ssl.crl
      database = $dir/index.dat
      new_certs_dir = $dir/ssl.crt
      certificate = $dir/ssl.crt/<файл корневого
 сертификата>
      serial = $dir/serial
      crl = $dir/ssl.clr/<файл отозванных сертификатов>
      private_key = $dir/ssl.key/<файл приватного
 ключа - ключа корневого сертификата>
      RANDFILE = $dir/ssl.key/.rand

Примечание. 
Для удобства при заполнении полей при создании сертификатов можно поменять значения по умолчанию для таких полей сертификатов, как страна, штат, отдел, адрес электронной почты и общее название. 
ВНИМАНИЕ! При создании сертификата сервера, значение поля Common Name должно соответствовать доменному имени (FQDN) сервера, на котором будет работать сертификат. Создаем в этой папке /cert, /ssl.crt и файлы index.dat, index.dat.attr, serial.


Создаём файл серийного номера:

      # echo '01' > serial

Создаём файл базы данных сертификатов:

     # touch index.dat

Создаём корневой сертификат:

Создаём ключ корневого сертификата:

     # openssl genrsa -des3 -out <файл ключа корневого
 сертификата> 1024

Создаём самоподписанный корневой сертификат

     # openssl req -new -x509 -days 3653 -key
 <файл ключа корневого сертификата> -out <файл сертификата>

Создаём запрос на подписание сертификата сервера:

Создаём ключ сертификата сервера:

     # openssl genrsa -des3 -out <файл ключа
 сертификата сервера> 1024

Создаём запрос на подписание сертификата сервера:

     # openssl req -new -days 1096 -key <файл ключа
 сертификата сервера -out <файл запрос на подписание
 сертификата сервера>

Подписываем запрос на подписание сертификата сервера (создание сертификата сервера):

     # openssl ca -config /etc/ssl/openssl.cnf 
-days 365 -out <файл сертификата сервера>
 -infiles <файл запроса на подписание сертификата сервера>

В моем случае:


openssl ca -config /root/crt/openssl.cnf -days 365 -out gscert.pem -infiles gscert_s.pem

 

Просмотр содержимого файлов сертификатов/ключей:

Просмотр содержимого файла ключа:

     # openssl rsa -noout -text -in <файл ключа>

Просмотр содержимого файла сертификата:

     openssl x509 -noout -text -in <файл сертификата>

Просмотр содержимого файла запроса на подписние сертификата сервера:

     openssl req -noout -text -in <файл запроса на 
подписание сертификата сервера>

Смена/удаление пароля из файла ключа

Смена пароля в файле ключа:

# openssl rsa -des3 -in <файл ключа> -out
 <временный файл ключа>
# mv <временный файл ключа> <файл ключа>

Удаление пароля из файла ключа:

     # cp <файл ключа> <сохраняемый файл ключа>
     # openssl rsa -in <сохраняемый файл ключа>
 -out <файл ключа>

Экспорт корневого сертификата:

openssl pkcs12 -export -out <новое имя>pfx -in <root>.pem -inkey <root>.key

Как посмотреть список доступных шифров?

Использовать команду ciphers:

# все доступные шифры
openssl ciphers -v

# только шифры TLSv1
openssl ciphers -v -tls1

# только шифры длиною больше 128 битов (high ciphers)
openssl ciphers -v 'HIGH'

# только шифры длиною больше 128 битов, использующие AES
openssl ciphers -v 'AES+HIGH'

 

 

Как измерить производительность сетевого соединения?

openssl s_time -connect remote.host:443

Помимо этого простейшего измерения у подкоманды s_time есть множество других возможностей:

# получить удалённую страницу test.html, используя только
 новые сеансы
openssl s_time -connect remote.host:443 -www /test.html 
-new

# аналогично, но только используя SSLv3 и сильное
 шифрование
# (подробности относительно шифрования в ciphers(1))
openssl s_time \
  -connect remote.host:443 -www /test.html -new \
  -ssl3 -cipher HIGH

# сравнить относительную производительность разных шифров
# 10-секундные тесты
IFS=":"
for c in $(openssl ciphers -ssl3 RSA); do
echo $c
openssl s_time -connect remote.host:443 \
    -www / -new -time 10 -cipher $c 2>&1 | \
    grep bytes
echo
done

Сэмулировать web-сервер с помощью openssl s_server:

# запустить сервер (на порту 4433)
openssl s_server -cert mycert.pem -www

# на втором хосте (или даже этом же) запустить s_time
openssl s_time -connect myhost:4433 -www / -new -ssl3

Все "левые" протоколы и шифрования убрать:

SSLCipherSuite CAMELLIA128-SHA:!EXP:!NULL:+MEDIUM:-LOW
SSLProtocol +SSLv3 -SSLv2 -TLSv1
 

Пример директив:

 
ServerName <имя сайта>
SSLEngine on
 
SSLCertificateFile /etc/apache2/crt/gscert.pem
SSLCertificateKeyFile /etc/apache2/crt/gscert.key
SSLCACertificateFile /etc/apache2/crt/gsroot.pem
#SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
SSLCipherSuite CAMELLIA128-SHA:!EXP:!NULL:+MEDIUM:-LOW
SSLProtocol +SSLv3 -TLSv1 -SSLv2
 
Теги: 

Похожие материалы по этой теме на сайте

Содержимое
Kaspersky Virus Removal Tool 9

Плагин Kaspersky Virus Removal Tool с возможностью обновления баз при сборке через интернет.

Symantec Ghost 11.0 WIM

WIM-плагин для Symantec Ghost 11.0 - содержит файлы программы.

MPCFFDSHOW

Плагин для Media Player Classic 6.4.9.0 и FFdshow Video Codec - без файлов программы. Содержит скрипт автосоздания.

Windows Preinstallation Environment (WinPE) — это облегчённая версия ОС Windows, которая позволяет загружаться с внешнего носителя.

Краткий обзор

    WinPE был первоначально предназначен, чтобы использоваться только как прединсталяционная платформа для запуска Microsoft Windows, заменяя DOS. Но позже он стал...

Ieshua's Live DVD/USB 2.13

- В качестве оболочки(shell) используется стандартный Explorer(XPE) и BsExplorer для ERD Commander
- Загрузчик производит автоопределение HAL и ядра

MIN(Y)PE by yurkesha (WIM)

Архиватор: 7-ZIP.
Файловый менеджер: FAR.
Утилиты для HDD: Piriform Defragler, Easeus Partition Table Doctor, EXT2FSD, PowerQuest PartitinInfo и PTedit, UFS Explorer, Victoria....

CDBF for Windows WIM

Отличный и быстрый редактор файлов dBase

Meetsoft Final Recovery 2.2.6.275

WIM-плагин для Meetsoft Final Recovery 2.2.6.275 - содержит файлы программы.