{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Копытов Иван: заметки с тегом домен",
    "_rss_description": "Блог ленивого сисадмина",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/www.kini24.ru\/tags\/domen\/",
    "feed_url": "https:\/\/www.kini24.ru\/tags\/domen\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/www.kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "230",
            "url": "https:\/\/www.kini24.ru\/all\/prodlenie-domena\/",
            "title": "Продление домена",
            "content_html": "<p>Вчера утром пришло очередное напоминание об окончании срока регистрации домена. И, хотя до него оставалось еще около трех недель, решил не откладывать и продлить срок регистрации.<br \/>\nДля начала зашел на сайт «основного» регистратора, посмотрел цену — 899 рублей. В памяти всплыло, что где-то видел дешевле. Зашел на сайт партнерского регистратора, где первоначально регистрировал домен. И верно, цена в полтора раза ниже — 599 рублей. Деньги лишними не бывают, поэтому будет продлевать тут :-) Выбираю пополнение баланса, в качестве метода пополнения — списание с банковской карты. Подтверждаю пополнение, получаю смс о списании денег. В личном кабинете выбираю продление, деньги списываются со счета, текущий баланс становится равным 1 рублю. Следом падает еще одна смс и письмо на почтовый ящик. Поначалу подумал, что это подтверждение о продлении. Открываю смс, а в ней информация об отказе в приеме платежа и возврате средств. Странно... Открываю письмо — оно от системы Яндекс.Деньги. В письме текст, говорящий что что-то пошло не так, поэтому деньги они мне возвращают. Да ёпрст! Возвращаюсь в личный кабинет — там то же самое, что и в письме от Яндекса. Блjad! Открываю список доменов, а мой продлен до 2020 года. Не понял! Подождал несколько часов, проверил снова — продлен. По подсказке в одном чате смотрю результаты whois — тоже продлен. Хм...<br \/>\nНасколько я понял, деньги поступили на лицевой счет регистратора, я успел оплатить продление, списав деньги со счета в личном кабинете. Затем что-то пошло не так и Яндекс вернул всю сумму, которую я успел перевести. По итогу, домен продлен, денег на это не потрачено. Но для полной уверенности нужно дождаться 23 апреля и посмотреть не изменится ли ситуация.<\/p>\n",
            "date_published": "2019-04-04T10:31:25+07:00",
            "date_modified": "2019-04-04T10:31:22+07:00",
            "tags": [
                "возврат",
                "домен",
                "оплата",
                "ошибка",
                "продление",
                "регистратор",
                "яндекс"
            ],
            "_date_published_rfc2822": "Thu, 04 Apr 2019 10:31:25 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "230",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "53",
            "url": "https:\/\/www.kini24.ru\/all\/perenos-domena\/",
            "title": "Перенос домена",
            "content_html": "<p>Никогда не задавался такой целью, да и необходимости такой никогда не было. В процессе оплаты одного из сайтов СТМ выяснилось, что домен зарегистрирован у одного регистратора, а сам хостинг располагается у другого. Картина достаточно «печальная». Почитав правила, стало понятно, что без заявления, заверенного у нотариуса, перенос никто делать не будет. Так как владельцем домена является генеральный директор, то понятно, что времени у нее на посещение нотариуса нет. Печаль...<br \/>\nВбиваем в поиск запрос на перенос домена от этого регистратора. И тут же натыкаемся на информацию о том, что никакие заявления уже не нужны. Идем в личный кабинет, выполняем все действия по инструкции. Тут меня ждал первый облом — для получения кода переноса требуется верифицировать персональные данные. Подаю заявку, мне отвечают «ждите сутки». Да не вопрос, подожду!<br \/>\nНа следующий день приходит письмо, что аккаунт проверен, можно продолжать. Снова иду в личный кабинет, запрашиваю код. Второй облом — необходимо внести данные для смены регистратора. Указанные в профиле данные не годятся. Ладно, забиваю свой номер телефона и email. Подтверждаю оба, снова запрашиваю код. Среди прочих вариантов выбираю отправить его на электронную почту. Третий облом — состояние домена не позволяет получить код. Эт еще почему? Повторяю процедуру запроса, на этот раз все получается. Видимо, еще выполнялось сохранение данных для переноса. С кодом в зубах, а точней, в письме, иду в личный кабинет регистратора, к которому нужно перенести домен. Уже понимая, что сам не найду, сразу открываю справку, где процедура переноса, как оказалось, расписана очень подробно и даже с картинками (вот за это я его тоже люблю! в смысле регистратора). Снова действуем по инструкции, вбиваем код переноса и выполняем еще парочку подтверждений. В конце получаю письмо с уведомлением, что процесс переноса может занять до 5-ти рабочих дней. А мне что? Мне торопиться некуда.<br \/>\nВ общем, вот такой вот маленький квест получился. Перенос домена от одного регистратора к другому — процедура хоть и простая, но в процессе у вас запрашивается куча подтверждений. Ну и, конечно, лучше всего 100 раз проверить что, куда и откуда. А то ведь бывало, что щелкнешь не туда, нажмешь не ту кнопочку и все, ты попал. Хорошо еще, если на небольшую сумму :-)<\/p>\n",
            "date_published": "2017-04-28T15:17:34+07:00",
            "date_modified": "2017-04-28T15:17:31+07:00",
            "tags": [
                "домен",
                "перенос",
                "регистратор"
            ],
            "_date_published_rfc2822": "Fri, 28 Apr 2017 15:17:34 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "53",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "5",
            "url": "https:\/\/www.kini24.ru\/all\/zaschita-sayta-pri-pomoschi-http-public-key-pinning-hpkp\/",
            "title": "Защита сайта при помощи HTTP Public Key Pinning (HPKP)",
            "content_html": "<p>Данная технология призвана защитить посетителя вашего сайта от атаки типа MITM (Man in the middle, человек посередине). Иными словами посетитель может быть уверен, что данные, которые он получает, исходят с вашего сайта, а не с какого-то другого.<\/p>\n<p>Суть технологии состоит в создании публичного ключа на основе сертификата, который установлен на вашем сайте. Соответственно, чтобы она работала, требуется валидный сертификат. Впрочем, она будет работать и на самоподписанных (self-signed) сертификатах. Полученный на основе вашего сертификата ключ добавляется в заголовок ответа вашего сервера, после чего браузер сравнивает полученный ключ с тем, который он вычисляет после получения данных о вашем сертификате.<\/p>\n<p>Итак, что нам требуется:<\/p>\n<ol start=\"1\">\n<li>Какой-либо установленный для сайта сертификат.<\/li>\n<li>Консоль для получения публичного ключа.<\/li>\n<\/ol>\n<p>Кстати, не так давно для нормального функционирования этой технологии требовался всего лишь один ключ, сейчас же нужно указывать два или более ключей. На мой взгляд двух будет достаточно, от этого и будем отталкиваться. Второй ключ является «резервным», этот момент я не совсем понимаю, но не будем отступать от требований.<\/p>\n<p>Действовал я по следующей схеме:<\/p>\n<ul>\n<li>— получаем сертификат на сайте <a href=\"https:\/\/letsencrypt.org\/\">Let’s Encrypt<\/a> для двух сайтов: example.com и www.example.com;<\/li>\n<li>— так как я использую вариант без www, то ключ, полученный на базе первого будет основным, на базе второго — резервным;<\/li>\n<li>— генерируем ключи для обоих сертификатов;<\/li>\n<li>— добавляем нужные инструкции в файл \/<i>etc\/httpd2\/conf\/sites-available\/default-http.conf<\/i>.<\/li>\n<\/ul>\n<p>О получении сертификата рассказывать не буду, достаточно почитать главную страницу сайта. Допустим, вы его получили и установили на свой сайт. Теперь требуется создать ключи при помощи следующей команды:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">openssl x509 -noout -in certificate.pem -pubkey | openssl rsa -pubin -outform der | \\<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">openssl dgst -sha256 -binary | base64<\/code><\/pre><p>где <i>certificate.pem<\/i> — полный путь к сертфикату.<\/p>\n<p>После выполнения команды вы получите нечто подобное:<\/p>\n<p><b><i>LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=<\/i><\/b><\/p>\n<p>Это и есть нужный вам ключ. Повторяем команду для второго сертификата и добавляем данные в файл конфигурации сайта:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Header set Public-Key-Pins &quot;pin-sha256=\\&quot;pin1\\&quot;; pin-sha256=\\&quot;pin2\\&quot;; max-age=time&quot;<\/code><\/pre><p>где:<\/p>\n<ul>\n<li><i>pin1<\/i> — основной ключ для данного сайта. В моем случае example.com;<\/li>\n<li><i>pin2<\/i> — резервный ключ для сайта. То есть www.example.com;<\/li>\n<li><i>time<\/i> — время действия ключа в секундах.<\/li>\n<\/ul>\n<p>Опциональный параметр <i>includeSubDomains<\/i> указывает на то, что ключи действительны также для поддоменов.\nЕще один необязательный параметр report-uri указывает на адрес, куда должны отправляться отчеты об ошибках в формате JSON. Его я, возможно, добавлю на сайт, но пока что считаю его ненужным для себя.<\/p>\n<p>Какие тут есть нюансы? Если вы неправильно настроите HPKP, ваш сайт станет недоступен. Можно также настроить отправку отчетов в случае каких-либо ошибок. Для этого немного меняем заголовок (или просто добавляем еще одной строкой):<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Header set Public-Key-Pins-Report-Only &quot;pin-sha256=\\&quot;pin1\\&quot;; pin-sha256=\\&quot;pin2\\&quot;; max-age=time&quot;<\/code><\/pre>",
            "date_published": "2016-08-16T22:24:24+07:00",
            "date_modified": "2016-10-01T13:22:18+07:00",
            "tags": [
                "apache",
                "HPKP",
                "HTTP Public Key Pinning",
                "openssl",
                "pin-sha256б",
                "Public-Key-Pins",
                "внедрение",
                "домен",
                "защита",
                "сайт",
                "установка"
            ],
            "_date_published_rfc2822": "Tue, 16 Aug 2016 22:24:24 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "5",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "4",
            "url": "https:\/\/www.kini24.ru\/all\/vnedrenie-http-strict-transport-security-hsts-na-svoy-sayt\/",
            "title": "Внедрение HTTP Strict Transport Security (HSTS) на свой сайт",
            "content_html": "<p>Сначала небольшая <a href=\"https:\/\/ru.wikipedia.org\/wiki\/HSTS\">выдержка из википедии<\/a>:<\/p>\n<blockquote>\n<p><i>«HSTS (сокр. от англ. HTTP Strict Transport Security) — механизм, активирующий форсированное защищённое соединение через протокол HTTPS. Данная политика безопасности позволяет сразу же устанавливать безопасное соединение, вместо использования HTTP-протокола. Механизм использует особый заголовок Strict-Transport-Security для принудительного использования браузером протокола HTTPS даже в случае перехода по ссылкам с явным указанием протокола HTTP. Механизм специфицирован в RFC6797 в ноябре 2012 года.<\/i><\/p>\n<p><i>HSTS помогает предотвратить часть атак, направленных на перехват соединения между пользователем и веб-сайтом, в частности атаку с понижением степени защиты и воровство кук.<\/i><\/p>\n<p><i>Дополнительную защиту https-соединений предоставляют методы Certificate pinning (хранение списка разрешенных для домена сертификатов или CA в исходных текстах браузера) и HTTP Public Key Pinning (англ.). Они предотвращают множество возможностей подмены tls-сертификатов https-сервера.»<\/i><\/p>\n<\/blockquote>\n<p>Для внедрения этой технологии нам понадобится несколько вещей:<\/p>\n<ol start=\"1\">\n<li>Наличие валидного сертификата (можно бесплатно получить на сайте <a href=\"https:\/\/letsencrypt.org\/\">Let’s Encrypt<\/a>)<\/li>\n<li>Уверенность в том, что будет использоваться только https протокол, включая все ваши субдомены.<\/li>\n<li>Полное перенаправление с http-версий сайтов на https.<\/li>\n<\/ol>\n<p>Если что-то из этого по каким-то причинам вам не подходит, то эта технология вам не нужна.<\/p>\n<p>Так как у меня используется «старенький» Apache версии 2.2, то и настраивать, соответственно, мы будет его.\nДля включения HSTS нам нужно добавить в файл \/<i>etc\/httpd2\/conf\/sites-available\/default_https.conf<\/i> следующие строки:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;IfModule ssl_module&gt;\n    &lt;VirtualHost *:443&gt;\n        Header set Strict-Transport-Security &quot;max-age=31536000; includeSubDomains; preload&quot;\n   &lt;\/VirtualHost&gt;\n&lt;\/IfModule&gt;<\/code><\/pre><p>Первые и последние две строки — стандартные для данного файла, если они имеются, то добавлять их не нужно. Нас больше всего интересует третья строчка.<\/p>\n<p>Инструкция Header set позволяет вставить заголовок в ответ сервера. В данном случае заголовок «Strict-Transport-Security». В скобках за ним расположены параметры этого заголовка:<\/p>\n<ul>\n<li><i>max-age<\/i> — время в секундах, которое будет действовать этот заголовок. Если быть точнее, то это время, в течение которого сайт будет доступен по протоколу HTTPS. Не рекомендуется устанавливать его менее 18 недель;<\/li>\n<\/ul>\n<ul>\n<li><i>includeSubDomains<\/i> — указывается, если действие заголовка распространяется также на поддомены. Не является обязательным;<\/li>\n<\/ul>\n<ul>\n<li><i>preload<\/i> — параметр, позволяющий указывать, что ваш сайт никогда не будет доступен по незащищенному протоколу. Не является обязательным. Про него будет чуть ниже.<\/li>\n<\/ul>\n<p>Итак, данные мы добавили, теперь нужно перезагрузить файлы конфигурации:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># service httpd2 condreload<\/code><\/pre><p>Наличие заголовка в ответе сервера можно проверить, например, на <a href=\"http:\/\/mainspy.ru\/otvet_servera\">этом сайте<\/a>. Среди прочих вы должны увидеть такую строчку:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Strict-Transport-Security: max-age=31536000; includeSubDomains; preload<\/code><\/pre><p>Идем на сайт <a href=\"https:\/\/www.ssllabs.com\/ssltest\/\">ssllabs<\/a>, вводим адрес своего сайта с указанием https и тестируем, что у нас получилось. Тест занимает некоторое время, его вполне хватит на то, чтобы, например, налить себе чашечку кофе.<\/p>\n<p>По итогу мы должны увидеть такие строчки:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/hsts-01.jpg\" width=\"957\" height=\"41\" alt=\"Эту вы увидите в шапке отчета\" \/>\n<div class=\"e2-text-caption\">Эту строчку вы увидите в шапке отчета<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/hsts-02.jpg\" width=\"854\" height=\"47\" alt=\"Эта будет находиться ближе к концу отчета\" \/>\n<div class=\"e2-text-caption\">Эта будет находиться ближе к концу отчета<\/div>\n<\/div>\n<p>Если вы их видите, значит все в порядке. В противном случае ищите ошибку.<\/p>\n<p>И, наконец, про параметр <i>preload<\/i>. Существует так называемый «preload list», в котором перечислены все домены, использующие технологию HSTS. Своего рода список «избранных» :-) При желании вы можете <a href=\"https:\/\/hstspreload.appspot.com\/\">подать заявку<\/a> на включение вашего домена в этот список, но на скорый ответ не рассчитывайте. Список обновляется с выпуском каждой версии браузера Chrome, поэтому может пройти несколько месяцев, прежде, чем вы увидите, что ваш домен добавлен в него. Для подачи заявки нужно выполнить несколько требований, указанных на главной странице сайта, поэтому рекомендую прочитать ее внимательно. Значение имеет даже регистр параметров заголовка. В случае критической ошибки после нажатия на кнопку «Check status and eligibility» фон страницы станет красным, в случае некритической — желтым, если же все верно — зеленым. На этой же странице указано, что нужно делать, чтобы удалить свой домен из этого списка.<\/p>\n<p>В принципе, это все, что вам нужно знать об этой технологии защиты вашего сайта. Надеюсь, что этот текст вам помог.<\/p>\n",
            "date_published": "2016-08-16T11:56:05+07:00",
            "date_modified": "2016-10-01T13:20:19+07:00",
            "tags": [
                "apache",
                "Header",
                "hsts",
                "HTTP Strict Transport Security",
                "HTTPS",
                "includeSubDomains",
                "preload",
                "set",
                "Strict-Transport-Security",
                "внедрение",
                "домен",
                "защита",
                "использование",
                "настройка",
                "сайт",
                "установка"
            ],
            "image": "https:\/\/www.kini24.ru\/pictures\/hsts-01.jpg",
            "_date_published_rfc2822": "Tue, 16 Aug 2016 11:56:05 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "4",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/www.kini24.ru\/pictures\/hsts-01.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/hsts-02.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}