Вероятно, постоянные читатели блога kostikov.co заметили, что он, как, впрочем, и ряд других поддерживаемых автором HTTP-серверов, работают на базе Lighttpd. Действительно, этот быстрый и лёгкий веб-сервер снискал широкую популярность и был широко распространён в качестве лучшей альтернативы стандартному Apache. Однако, с течением времени и неизбежным прогрессом в сетевых технологиях разработчики Lighttpd заметно отстали в их поддержке, а конкуренты, в лице, главным образом, Nginx, за тот же интервал существенно нарастил функционал и стал куда более распространённым решением.

Наиболее существенным недостатком Lighttpd представляется отсутствие в настоящее время поддержки им современной версии протокола HTTP/2, которая имеет большое количество преимуществ перед предыдущими версиями. Также минусом этого веб-сервера является отсутствие поддержки протокола Online Certificate Status Protocol (OCSP), который начинает приобретать важное значение в свете борьбы со злоупотреблениями при выпуске SSL-сертификатов.

В связи с вышеизложенным, после изучения возможных альтернатив, автор принял решение о переносе блога на HTTP/2 сервер H2O, которому ранее была посвещена обзорная статья, как на наиболее прогрессивный и перспективный в обозримом будущем вариант.

В опубликованных ранее постах уже затрагивался вопрос обеспечения должного уровня безопасности интернет сервисов посредством множества доступных в настоящее время механизмов, таких, например, как сертификаты SSL / TLS или электронную подпись DKIM.

Однако, ряд моментов, связанных с дополнительной защитой сайтов и, как следствие, технологией HTTP, мною пока детально не освещался. Тема же, безусловно, заслуживает более развёрнутого изложения. Такой попыткой и является эта статья.

На страницах этого блога уже неоднократно затрагивались вопросы, связанные с защитой передаваемых по сети данных с использованием технологии SSL / TLS. Вопрос надёжности защищённых соединений в последнее время стал особенно актуальным для России, где на государственном уровне предполагается внедрение механизма для тотальной дешифровки всего трафика в Интернет одним из наиболее вероятных способов реализации которого, как раз, и может стать внедрение промежуточного сертификата для защищённых соединений.

В развитие темы, предлагаю вашему вниманию статью о внедрении относительно и новой пока малораспространённой технологии HTTP Public Key Pining (HPKP) и её использованию совместно с удостоверяющим центром Let's Encrypt.

Стандарт HPKP или key pining изложен в документе RFC7469 и описывает механизм, который призван повысить уровень защиты в WWW через дополнительную идентификацию и проверку того факта, что используемый в ходе защищённого соединения сертификат действительно принадлежит посещаемому сайту и не был подменён тем или иным заинтересованным лицом или структурой для несанкционированного доступа к передаваемой информации, то есть нейтрализации атак Man in the Middle (MitM).

Вопрос защиты информации в сети Интернет с каждым годом не только не теряет, но и приобретает всё большую актуальность.

Одним из проявлений этого процесса является массовое внедрение использования шифрования передваемых данных посредством технологии SSL / TLS сертификатов (далее для краткости - просто SSL).

Помимо проблем безопасности, к началу повсеместного применения данной технологии стимулируют и новые системы ранжирования поисковой выдачи, которые учитывают наличие шифрованного соединения для сайтов, а также возможность получения бесплатных SSL сертификатов, которую предоставляет ряд ведущих провайдеров данных услуг, в частности Let's Encrypt.

Однако, несмотря на очевидную пользу, шифрование данных посредством SSL/TLS имеет и ряд ограничений, вызванных особенностями используемых протоколов.

Усиливаем HTTPS на web-сервере

Hardening HTTPS on web-server

Протокол HTTPS, который используется для защиты передаваемых данных в WWW, в настоящее время становится основным способом соединения с сетью. В теории, данные передаваемые в рамках такой сессии недоступны никому кроме их отправителя и получателя.

Однако, на практике в применяемых для этого криптографических протоколах SSL и TLS в последние годы было обнаружены масса проблем, которые потенциально могу привести к раскрытию передаваемых данных.

В связи с этим как сами SSL и TLS, так и программное обеспечение, которое их обрабатывает, постоянно модернизируются и дополняются. Это процесс обусловливает необходимость и постоянных проверок, обновления и настройки обеспечивающих работу по HTTPS web-серверов.

Не так давно в промышленную эксплуатацию был запущен центр сертификации Let's Encrypt.

От всех прочих провайдеров SSL сертификатов его отличает две главные особенности.

Во-первых, Let's Encrypt позволяет получить (и в ряде случаев даже установить) полученный сертификат в вашу систему в автоматическом режиме, а, во-вторых, сделать это совершенно бесплатно.

Сочетание этих двух факторов даёт возможность легко получить, быстро установить и забыть об обновлении полученного (одного или нескольких) SSL сертификатов в будущем.

Итак, небольшой how-to который был подготовлен на базе настройки этого самого блога.