Как создать самоподписной SSL-сертификат

Практически все сайты, работающие с конфиденциальной информацией, используют протокол HTTPS. По своей сути, это HTTP-протокол, работающий с использованием шифрованных транспортных механизмов TLS и SSL; и предназначен в первую очередь для защиты от снифферов.

Для того, чтобы Apache смог работать с использованием этого протокола, необходим SSL-сертификат. Их можно купить у доверенных организаций (VeriSign, Thawte и др.), или создать свои собственные (самоподписные).

Если в системе установлен OpenSSL, то сгенерировать корневой сертификат в общем-то несложно:

0. Cоздаем запароленyый ключ:
sudo openssl genrsa -des3 -out server.key 1024

1. :елаем вариант ключа для использования без паролей (для вебсервера, например)
sudo openssl rsa -in server.key -out server.key.insecure

2. Cоздаем сертификат для сервера на 10 лет
sudo openssl req -new -days 3650 -key server.key -out server.csr

3. Подписываем его ключом сервера
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

В свойства виртуалхоста для порта 443 прописать:

SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key

MD5 умер. Уязвимость не позволяет его использовать как hash-функцию для проверки целостности программы или подписывания кода.

Вы наверняка уже знаете, что MD5 (Message Digest 5) – это 128-битный алгоритм хэширования, предназначенный для создания отпечатков или дайджестов сообщений произвольной длины. Значительное число программ использует сигнатуры MD5 в качестве контрольной суммы для проверки целостности файлов.
Однако, недавние исследования показали, что и этот алгоритм несовершенен.
Суть эксперимента заключалось в создании двух разных программ, с разными названиями и разной функциональностью; но с одинаковой сигнатурой MD5.
Они взяли MS Visual C++ в качестве компилятора, и написали 2 простейших программы; скомпилировали их и получили 2 исполняемых файла с одинаковой сигнатурой. Исходный текст программы, исполняемые файлы и ключи шифрования доступный по ссылке, приведенной выше; все желающие могут самостоятельно проверить, что сигнатуры этих файлов совпадают.
Таким образом, злоумышленники при серьезном подходе в любой бинарник смогут зашить вирус/троян/или еще какую-нибудь гадость, и измененный бинарник пройдет проверку подписи MD5.
Будте внимательны, и старайтесь не устанавливать программ, сигнатура которых рассчитана с помощью MD5. Сигнатуры SHA-1 на сегодняшний день являются менее уязвимыми для атак, чем сигнатуры MD5; учтите это при установке сторонних программ.