<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Копытов Иван: заметки с тегом HTTPS</title>
<link>https://kini24.ru/tags/https/</link>
<description>Блог ленивого сисадмина</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог ленивого сисадмина</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Зеркало NOD32</title>
<guid isPermaLink="false">86</guid>
<link>https://kini24.ru/all/zerkalo-nod32/</link>
<pubDate>Thu, 07 Sep 2017 18:38:37 +0700</pubDate>
<author></author>
<comments>https://kini24.ru/all/zerkalo-nod32/</comments>
<description>
&lt;p&gt;Старею, наверное, старею. Полдня бился, не мог понять почему при верной конфигурации зеркала, оно не запрашивает пароль на доступ к обновлениям. Плюнул на все, пошел читать Пикабу. Когда он закончился, ушел покурить и тут меня осенило. Такое зачастую бывает, давно уже понял. Если не можешь справиться с какой-то задачей, нужно «забыть» про нее на время, абстрагироваться. Решение придет чуть позже само. Так и в этот раз получилось.&lt;br /&gt;
Я же любитель скрывать информацию от посторонних. Это была одна из причин почему я перешел на использование протокола HTTPS. Так как NOD32 не умеет (по крайней мере, 4 и 5 версии) работать через него, то оставил «лазейку» в конфигурации субдомена для него. Страница при этом открывается по HTTPS, а сам антивирус может обновляться через HTTP. Так вот... По привычке все изменения вносил в раздел, предназначенный для страницы, то есть HTTPS, тогда как нужно было это делать в разделе для антивируса. Вернулся в кабинет, скопировал нужные строки в нужный раздел файла конфигурации — и все заработало так, как и задумывалось. Дома еще слегка поправил, чтобы все компьютеры на работе и дома могли обновляться с моего сервера без использования пары логин/пароль. И на этом пока остановился.&lt;br /&gt;
Примерно в начале недели, кстати, закончилась лицензия на DrWeb, который устанавливал предыдущий администратор. Что я могу сказать за почти год его использования. Достаточно неудобная вещь это, оказывается. Нет, в тех вопросах, когда нужно установить антивирус на несколько машин, удалить его, запустить проверку и так далее — это безусловно удобно. Открыл страницу администрирования, задал нужное действие и никуда не нужно бегать. Но когда тебе нужно на время отключить антивирус или внести какой-то файл в исключения — тут полный облом. Можно, конечно, покопаться в настройках центра управления и внести исключения для каждой (!!!) станции, но, на мой взгляд это перебор. Нужен более простой вариант. По настройкам центра управления я проходился не один раз и они не показались мне логичными в плане группировки, почти каждый раз приходилось искать где же был нужный параметр. И несколько параноидальный режим работы агентов на компьютерах, которые не отличаются новизной «железа», меня достаточно сильно тяготил. Поэтому я просто ждал, когда же закончится действие лицензии.&lt;br /&gt;
Черт с ним, с DrWeb! Пусть он мне одно время и нравился за то, что «кушает» мало ресурсов и обновления у него «весят» мало. Тогда интернет был дорогой (правда в той местности он и до сих пор дорогой) и «деревья были большими». Но, видимо, те времена безвозвратно ушли. Остановимся пока что на NOD32. Итак, установить версию 4 или 5, чтобы иметь возможность задать адрес зеркала обновлений сразу после установки — это не проблема. Проблемы начинаются когда нужно установить версию 6 или выше. Нет, можно, конечно, установить антивирус нужной версии, отключить HIPS, перезагрузиться в безопасный режим, изменить нужный параметр реестра, снова перезагрузиться в нормальный режим, задать адрес зеркала... Слишком много манипуляций, на мой взгляд. Мой преподаватель информатики Раиса Петровна всегда говорила «Программист ДОЛЖЕН быть ленивым!» Видимо, я слишком буквально это понял и запомнил :-) Суть решения состоит в том, что вы запускаете некую программу перед установкой антивируса. Она мониторит нужный параметр и, при его создании или изменении (если антивирус был установлен ранее), меняет значение на нужное. В таком случае мы получаем возможность задать адрес зеркала обновлений без перезагрузок, отключений HIPS и так далее. Вручную все это мной уже обкатывалось на 8 версии антивируса. Я просто открывал редактор реестра, запускал установку антивируса и в нужный момент менял значение параметра. Момент определился методом проб и ошибок — установка драйверов. После завершения установки можно было задавать зеркало самому, без перезагрузки компьютера. Если честно, то я не совсем понимаю почему никто еще не создал подобное решение — оно же лежит на поверхности. Хотя, возможно, я просто плохо искал :-)&lt;br /&gt;
В общем, осталось только написать соответствующую программу и запустить ее в тестирование, благо есть куда. И исправлять ошибки по мере их нахождения.&lt;/p&gt;
</description>
</item>

<item>
<title>Повышение безопасности сервера при помощи заголовков</title>
<guid isPermaLink="false">8</guid>
<link>https://kini24.ru/all/povyshenie-bezopasnosti-servera-pri-pomoschi-zagolovkov/</link>
<pubDate>Wed, 31 Aug 2016 11:39:41 +0700</pubDate>
<author></author>
<comments>https://kini24.ru/all/povyshenie-bezopasnosti-servera-pri-pomoschi-zagolovkov/</comments>
<description>
&lt;p&gt;Для увеличения степени безопасности сервера понадобится добавить или удалить несколько заголовков, которые он отдает при запросе страниц. Я не буду подробно расписывать какой из них за что отвечает, ограничусь лишь кратким описанием.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;a href="https://kini24.ru/all/vnedrenie-http-strict-transport-security-hsts-na-svoy-sayt/"&gt;HTTP Strict Transport Security (HSTS) &lt;/a&gt;— позволяет форсировать HTTPS подключение.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kini24.ru/all/zaschita-sayta-pri-pomoschi-http-public-key-pinning-hpkp/"&gt;HTTP Public Key Pinning (HPKP) &lt;/a&gt; — позволяет создать своеобразную «электронную подпись» для вашего сайта.&lt;/li&gt;
&lt;li&gt;X-Download-Options со значением «noopen» позволяет запретить открытие любых файлов с вашего сайта (например, документов в формате PDF), становится возможно только скачать их.&lt;/li&gt;
&lt;li&gt;X-Content-Type-Options со значением «nosniff» инструктирует Internet Explorer версии 8 не определять автоматически content-type, а использовать уже полученный.&lt;/li&gt;
&lt;li&gt;Еще один заголовок X-XSS-Protection со значением «1; mode=block» активирует встроенную защиту от XSS (Cross-Site Scripting, «межсайтовый скриптинг»).&lt;/li&gt;
&lt;li&gt;X-Frame-Options со значением «SAMEORIGIN» запрещает открывать страницы вашего сайта во фрейме на чужом сайте.&lt;/li&gt;
&lt;li&gt;Заголовок Set-Cookie должен указываться с параметрами HttpOnly и Secure. Это предотвратит XSS-атаки и защитит cookie от кражи при помощи скрипта javascript.&lt;/li&gt;
&lt;li&gt;В заголовке Server также должна быть указана минимальная информация о сервере. Например, просто Apache. Это не даст злоумышленнику получить дополнительную информацию о программном обеспечении, установленном на вашем сервере.&lt;/li&gt;
&lt;li&gt;По аналогичным причинам рекомендуется убрать заголовок X-Powered-By, если таковой присутствует.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;И, как обычно, есть ресурсы, с помощью которых можно проверить насколько корректно вы указали эти заголовки. Первый из них — &lt;a href="https://securityheaders.io"&gt;securityheaders.io&lt;/a&gt;, работает очень быстро, корректно указанные по его мнению заголовки выделяются зеленым цветом. Некоторые он не выделяет, но, думаю, что на них он просто не обращает внимание.&lt;/p&gt;
&lt;p&gt;Второй ресурс — &lt;a href="https://redbot.org"&gt;Redbot&lt;/a&gt;. В левой части страницы он показывает заголовки, которые он смог получить. В правой вкратце описывается действие заголовка, также значками выделяется корректность их указания. Стадия их получения почему-то немного затянута, на мой взгляд — около 1 минуты, будем надеяться, что это будет исправлено. Также есть возможность включить в запрос дополнительные параметры.&lt;/p&gt;
&lt;p&gt;Если вы думаете, что я что-то пропустил, то пишите в комментариях.&lt;/p&gt;
</description>
</item>

<item>
<title>Внедрение HTTP Strict Transport Security (HSTS) на свой сайт</title>
<guid isPermaLink="false">4</guid>
<link>https://kini24.ru/all/vnedrenie-http-strict-transport-security-hsts-na-svoy-sayt/</link>
<pubDate>Tue, 16 Aug 2016 11:56:05 +0700</pubDate>
<author></author>
<comments>https://kini24.ru/all/vnedrenie-http-strict-transport-security-hsts-na-svoy-sayt/</comments>
<description>
&lt;p&gt;Сначала небольшая &lt;a href="https://ru.wikipedia.org/wiki/HSTS"&gt;выдержка из википедии&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;«HSTS (сокр. от англ. HTTP Strict Transport Security) — механизм, активирующий форсированное защищённое соединение через протокол HTTPS. Данная политика безопасности позволяет сразу же устанавливать безопасное соединение, вместо использования HTTP-протокола. Механизм использует особый заголовок Strict-Transport-Security для принудительного использования браузером протокола HTTPS даже в случае перехода по ссылкам с явным указанием протокола HTTP. Механизм специфицирован в RFC6797 в ноябре 2012 года.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;HSTS помогает предотвратить часть атак, направленных на перехват соединения между пользователем и веб-сайтом, в частности атаку с понижением степени защиты и воровство кук.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Дополнительную защиту https-соединений предоставляют методы Certificate pinning (хранение списка разрешенных для домена сертификатов или CA в исходных текстах браузера) и HTTP Public Key Pinning (англ.). Они предотвращают множество возможностей подмены tls-сертификатов https-сервера.»&lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Для внедрения этой технологии нам понадобится несколько вещей:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Наличие валидного сертификата (можно бесплатно получить на сайте &lt;a href="https://letsencrypt.org/"&gt;Let’s Encrypt&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Уверенность в том, что будет использоваться только https протокол, включая все ваши субдомены.&lt;/li&gt;
&lt;li&gt;Полное перенаправление с http-версий сайтов на https.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Если что-то из этого по каким-то причинам вам не подходит, то эта технология вам не нужна.&lt;/p&gt;
&lt;p&gt;Так как у меня используется «старенький» Apache версии 2.2, то и настраивать, соответственно, мы будет его.
Для включения HSTS нам нужно добавить в файл /&lt;i&gt;etc/httpd2/conf/sites-available/default_https.conf&lt;/i&gt; следующие строки:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;IfModule ssl_module&amp;gt;
    &amp;lt;VirtualHost *:443&amp;gt;
        Header set Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains; preload&amp;quot;
   &amp;lt;/VirtualHost&amp;gt;
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Первые и последние две строки — стандартные для данного файла, если они имеются, то добавлять их не нужно. Нас больше всего интересует третья строчка.&lt;/p&gt;
&lt;p&gt;Инструкция Header set позволяет вставить заголовок в ответ сервера. В данном случае заголовок «Strict-Transport-Security». В скобках за ним расположены параметры этого заголовка:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;max-age&lt;/i&gt; — время в секундах, которое будет действовать этот заголовок. Если быть точнее, то это время, в течение которого сайт будет доступен по протоколу HTTPS. Не рекомендуется устанавливать его менее 18 недель;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;includeSubDomains&lt;/i&gt; — указывается, если действие заголовка распространяется также на поддомены. Не является обязательным;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;preload&lt;/i&gt; — параметр, позволяющий указывать, что ваш сайт никогда не будет доступен по незащищенному протоколу. Не является обязательным. Про него будет чуть ниже.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Итак, данные мы добавили, теперь нужно перезагрузить файлы конфигурации:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# service httpd2 condreload&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Наличие заголовка в ответе сервера можно проверить, например, на &lt;a href="http://mainspy.ru/otvet_servera"&gt;этом сайте&lt;/a&gt;. Среди прочих вы должны увидеть такую строчку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Strict-Transport-Security: max-age=31536000; includeSubDomains; preload&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Идем на сайт &lt;a href="https://www.ssllabs.com/ssltest/"&gt;ssllabs&lt;/a&gt;, вводим адрес своего сайта с указанием https и тестируем, что у нас получилось. Тест занимает некоторое время, его вполне хватит на то, чтобы, например, налить себе чашечку кофе.&lt;/p&gt;
&lt;p&gt;По итогу мы должны увидеть такие строчки:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://kini24.ru/pictures/hsts-01.jpg" width="957" height="41" alt="Эту вы увидите в шапке отчета" /&gt;
&lt;div class="e2-text-caption"&gt;Эту строчку вы увидите в шапке отчета&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://kini24.ru/pictures/hsts-02.jpg" width="854" height="47" alt="Эта будет находиться ближе к концу отчета" /&gt;
&lt;div class="e2-text-caption"&gt;Эта будет находиться ближе к концу отчета&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Если вы их видите, значит все в порядке. В противном случае ищите ошибку.&lt;/p&gt;
&lt;p&gt;И, наконец, про параметр &lt;i&gt;preload&lt;/i&gt;. Существует так называемый «preload list», в котором перечислены все домены, использующие технологию HSTS. Своего рода список «избранных» :-) При желании вы можете &lt;a href="https://hstspreload.appspot.com/"&gt;подать заявку&lt;/a&gt; на включение вашего домена в этот список, но на скорый ответ не рассчитывайте. Список обновляется с выпуском каждой версии браузера Chrome, поэтому может пройти несколько месяцев, прежде, чем вы увидите, что ваш домен добавлен в него. Для подачи заявки нужно выполнить несколько требований, указанных на главной странице сайта, поэтому рекомендую прочитать ее внимательно. Значение имеет даже регистр параметров заголовка. В случае критической ошибки после нажатия на кнопку «Check status and eligibility» фон страницы станет красным, в случае некритической — желтым, если же все верно — зеленым. На этой же странице указано, что нужно делать, чтобы удалить свой домен из этого списка.&lt;/p&gt;
&lt;p&gt;В принципе, это все, что вам нужно знать об этой технологии защиты вашего сайта. Надеюсь, что этот текст вам помог.&lt;/p&gt;
</description>
</item>


</channel>
</rss>