.:BLOG ▪ 
//\(oo)/\

Как создать самоподписанный сертификат для Apache и настроить вебхук для бота телеграм

▪ месяц назад

Система: Debian/Ubuntu

Шаги:

sudo apt-get install openssl

Генерируем сертификат:

sudo openssl req -x509 -nodes -days 4365 -newkey rsa:2048 -keyout /etc/ssl/private/apache.key -out /etc/ssl/certs/apache.crt

Жмем Enter на все вопросы, кроме "Common Name (eg, fully qualified host name) []:", на этот вопрос отвечаем IP-адресом сервера.

openssl сгенерирует новый приватный ключ RSA, которым будет подписан наш сертификат, и конечный файл будет записан в /etc/ssl/private/apache.key. Сам сертификат будет располагаться здесь /etc/ssl/certs/apache.crt, и будет валидным еще 4365 дней.

Наша настройка будет простой, поэтому мы не будем заморачиваться с Diffie-Hellman (это нужно настраивать только для супер-параноидальных случаев - perfect forward secrecy).

Теперь настроим Apache.

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

sudo touch /etc/apache2/conf-available/ssl-params.conf

И записываем туда данный конфиг:

Apache


Config
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
SSLSessionTickets Off

Далее, настроим виртуальный хост.
Обычно настройки содержатся в файле:
/etc/apache2/sites-available/default-ssl.conf

Изменим соответствующие строки в нем на такие:

Apache


Config
SSLCertificateFile /etc/ssl/certs/apache.crt
SSLCertificateKeyFile /etc/ssl/private/apache.key

Так мы подсветили путь к нашему ключу и сертификату.

SSL теперь должен заработать.

sudo systemctl restart apache2

При подключении по :443 нам будет показано предупреждение. Поэтому как пользовательское решение этот вариант создает неудобства, но как сервисное решение для админов в случае с Telegram Webhook это полностью удовлетворяет нашим нуждам.

Подключение Telegram Webhook будет рассмотрено в следующей статье.









   .:  $COOKIES {ON} | @/TG | VPS в Германии