{
    "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\/nastroyka\/",
    "feed_url": "https:\/\/www.kini24.ru\/tags\/nastroyka\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/www.kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "262",
            "url": "https:\/\/www.kini24.ru\/all\/servisy-dlya-testirovaniya-veb-i-pochtovyh-serverov\/",
            "title": "Сервисы для тестирования веб, почты и других серверов (обновляемая запись)",
            "content_html": "<p>Соберу, пожалуй, в одном месте список серверов для тестирования различных сервисов. Одни сервисы уходят, другие приходят, поэтому постараюсь сделать этот список обновляемым. Да и просто порой открываешь для себя новые сервисы и хочется их сохранить для использования в дальнейшем.<\/p>\n<p><b>Почта<\/b><br \/>\n<a href=\"https:\/\/www.checktls.com\/TestReceiver?LEVEL=DETAIL\">CheckTLS<\/a>. Очень любопытный сервис проверки почты. Наблюдаем за прогрессом в реальном времени.<\/p>\n<p><a href=\"https:\/\/dkimcore.org\/tools\/\">DKIM Core Tools<\/a>. Генерация и проверка настроек DKIM.<\/p>\n<p><a href=\"https:\/\/dmarcian.com\/dmarc-inspector\/\">DMARC Inspector<\/a>. Проверка корректности записи DMARC.<\/p>\n<p><a href=\"https:\/\/esmtp.email\/tools\/mta-sts\/\">ESMTP email<\/a>. Проверка настройки MTA-STS. Это функция, призывающая удаленные серверы обмениваться почтовыми сообщениями, используя защищенное соединение.<\/p>\n<p><a href=\"https:\/\/www.mail-tester.com\">Mail tester<\/a>. Всё время «теряю» этот сервис. Отправляете письмо на указанный адрес и через некоторое время можете посмотреть отчет о прохождении письма.<\/p>\n<p><a href=\"https:\/\/mxtoolbox.com\">MX Toolbox<\/a>. Сервис проверки почтового сервера и, немножко, веб-сервера. Множество самых различных тестов. Имхо, один из самых лучших сервисов.<\/p>\n<p><a href=\"https:\/\/ssl-tools.net\">SSL Tools<\/a>. Старый и уже позабытый мной сервис проверки SSL почтового сервера. Также есть проверка web-сервера и некоторых уязвимостей.<\/p>\n<p><a href=\"https:\/\/uptimebot.ru\/online\/smtp-check\/\">UptimeBot<\/a>. Можно по быстрому посмотреть на каких портах поддерживается TLS\/STARTTLS. А также проверить DKIM, DMARC, SPF, Whois.<\/p>\n<p><b>Сканеры открытых портов<\/b><br \/>\n<a href=\"http:\/\/www.ipv6scanner.com\">Сканер IPv6<\/a>. Сканирует на выбор либо только указанный порт, либо все часто используемые. В первом случае можно указать использовать TCP или UDP протокол.<\/p>\n<p><b>Jabber<\/b><br \/>\n<a href=\"https:\/\/compliance.conversations.im\">Тест jabber-сервера<\/a>. Проверка jabber-сервера на наличие часто используемых функций.<\/p>\n<p><b>IPv6<\/b><br \/>\n<a href=\"http:\/\/test-ipv6.com\/\">Тест IPv6<\/a>. Тест доступности сервера по IPv6. Краткий, но доступный для понимания проблем отчет.<\/p>\n<p><a href=\"https:\/\/ipv6-test.com\/\">IPv6 тест<\/a>. Назвал так, потому что название схоже с предыдущим сервером, только поменяны местами два слова. Функционал такой же, как и у сервера выше. Также позволяет проверить скорость соединения, пропинговать сервер и показывает статистику распространения протокола по странам. Позабавило, что Россию исключили из списка, раньше она там точно была.<\/p>\n<p><a href=\"https:\/\/www.kame.net\">Черепашка<\/a>. Если вы видите танцующую черепашку, то доступ к страницам, работающим по IPv6, у вас есть.<\/p>\n<p><b>Скорость соединения<\/b><br \/>\n<a href=\"https:\/\/www.speedtest.net\/\">Speedtest<\/a>. Всем известный ресурс проверки скорости соединения. Настолько известный, что почти все провайдеры так или иначе мухлюют при обращении клиента к этому сайту, чтобы он показал скорость выше той, что есть на самом деле.<\/p>\n<p><a href=\"https:\/\/speed.cloudflare.com\/\">Тест от Cloudflare<\/a>. Не менее известный сервис проверки скорости соединения.<\/p>\n<p><b>Общее<\/b><br \/>\n<a href=\"https:\/\/dnschecker.org\">DNS Checker<\/a>. Несмотря на название, это комплекс утилит для проверки почты, домена и т. д. В чем-то схож с <a href=\"https:\/\/mxtoolbox.com\">MX Toolbox<\/a>.<\/p>\n<p><a href=\"https:\/\/hstspreload.org\/\">HSTS Preload<\/a>. Сервис проверки на включение вашего сервера в список HSTS Preload. Это список серверов, при обращении к которым будет сразу использоваться HTTPS-соединение, минуя HTTP. На мой взгляд, сейчас не сильно актуально, потому все поголовно переходят на HTTPS. Там же находятся рекомендации по настройке сервера для последующего включения его в список. Если проверка прошла успешно, фон страницы станет зеленым. Эта настройка отображается в отчете SSL Labs.<\/p>\n<p><a href=\"https:\/\/www.hardenize.com\">Hardenize<\/a>. Проверяет веб- и почтовый серверы. Выдает информацию по зоне, DNS-записям и настройкам. Среди проверяемых функций такие как: DNSSEC, CAA, MTA-STS, TLSRPT, SPF, DMARC, DANE, заголовки ответов и прочее. Выдает достаточно информативный отчет.<\/p>\n<p><a href=\"https:\/\/www.immuniweb.com\/\">Immuniweb<\/a>. Есть два неплохих теста: <a href=\"https:\/\/www.immuniweb.com\/ssl\/\">SSL<\/a> и <a href=\"https:\/\/www.immuniweb.com\/websec\/\">безопасности сайта<\/a>. В первом проверяет настройки сервера на соответствие стандартам PCI DSS, HIPAA and NIST и Industry Best Practices. Второй проверяет GDPR Compliance, PCI DSS и заголовки ответов (куда же без них?).<\/p>\n<p><a href=\"https:\/\/en.internet.nl\/\">internet.nl<\/a>. Позволяет проверить настройки веб- и почтового серверов. Тестирует DNSSEC, IPv6, DANE, заголовки ответов и RPKI. Для меня лично новинкой стала проверка файла security.txt.<\/p>\n<p><a href=\"https:\/\/tests.nettools.ru\/\">NetTools<\/a>. Сборник самых различных тестов: почта, веб-сервер, сканер открытых портов, скорости соединения, NTP-сервера, DNS, FTP..<\/p>\n<p><a href=\"https:\/\/securityheaders.com\/\">Security Headers<\/a>. Проверяет заголовки ответов веб-сервера. Пройдя по ссылкам, можно попасть на <a href=\"https:\/\/scotthelme.co.uk\">блог Scott Helme<\/a> и узнать как настроить тот или иной заголовок. Вообще в блоге много полезной информации. Единственный «минус» — всё на английском.<\/p>\n<p><a href=\"https:\/\/www.ssllabs.com\/ssltest\/\">SSL Labs<\/a>. Один из самых популярных сервисов тестирования веб-серверов. Проверяет сертификаты, используемые шифры, протоколы (HTTP, HTTP\/2), совместимость с популярными браузерами, наличие уязвимостей и некоторых настроек (HSTS, OCSP, HPKP и другие). К сожалению, почту проверять не умеет.<\/p>\n<p><a href=\"https:\/\/dnssec-analyzer.verisignlabs.com\/\">Verisign анализатор<\/a>. Быстрая проверка DNSSEC. Не могли что ли сделать шрифт покрупнее в отчете?<\/p>\n<p><a href=\"https:\/\/zonemaster.net\">ZoneMaster<\/a>. Проводит полную проверку вашего доменного имени.<\/p>\n<p><a href=\"https:\/\/webrtc.github.io\/samples\/src\/content\/peerconnection\/trickle-ice\/\">Проверка STUN и TURN<\/a>. Собственно весь функционал описан в названии. В случае корректной настройки STUN должен вернуть «srflx» в списке. В случае с TURN — «relay».<\/p>\n<p><a href=\"https:\/\/1.1.1.1\/help\">Тест DoH<\/a>. Проверка работоспособности DNS-over-HTTPS от Cloudflare. Показывает «Yes» только в случае, если вы настроили DoH на их серверы. В противном случае стоит ориентироваться на ASN.<\/p>\n<p><a href=\"https:\/\/dnsleaktest.com\">Тест утечки DNS<\/a>. Отображает серверы, которым вы «доверяете» хранить и, возможно, использовать информацию о том, к каким серверам или сайтам вы подключаетесь.<\/p>\n<p><b>Генераторы настроек<\/b><br \/>\n<a href=\"https:\/\/ssl-config.mozilla.org\/\">Генератор настроек SSL<\/a>. Генератор настроек SSL от Mozilla для различных программ.<\/p>\n<p><a href=\"https:\/\/securitytxt.org\">Генератор файла security.txt<\/a> Удобная форма генератора security.txt.<\/p>\n<p><b>Реклама<\/b><br \/>\n<a href=\"https:\/\/checkadblock.ru\/\">CheckAdBlock<\/a>. Один из первых сайтов, который мне попался много лет назад, когда возникла мысль протестировать работу блокировщиков рекламы в браузере.<\/p>\n",
            "date_published": "2023-01-20T13:35:10+07:00",
            "date_modified": "2025-02-28T09:01:38+07:00",
            "tags": [
                "dns",
                "ipv6",
                "jabber",
                "online",
                "ssl",
                "web",
                "веб",
                "защита",
                "настройка",
                "порт",
                "почта",
                "проверка",
                "сервер",
                "сервис",
                "тест"
            ],
            "_date_published_rfc2822": "Fri, 20 Jan 2023 13:35:10 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "262",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "235",
            "url": "https:\/\/www.kini24.ru\/all\/otkryty-pochtovy-reley\/",
            "title": "Открытый почтовый релей",
            "content_html": "<p>Внезапно обнаружил, что мой почтовый сервер стал полностью открытым. Если честно, то даже не помню когда вносил какие-то сколь значимые изменения в конфигурацию postfix. С какого перепуга произошло это событие — для меня пока что загадка. Единственное, что косвенно указывало на это — возросшая нагрузка на сервер. Но я «грешил» на другое. Команда mailq сегодня выдала очередь из более чем 100 тысяч сообщений на отправку. Пришлось убивать всю очередь, не искать же нормальные письма в такой куче. Изменил несколько параметров почтовика, вроде бы все более-менее пришло в норму, даже сервер стал отвечать побыстрей. Но тесты все равно выдают, что у меня открытый релей, поэтому завтра, если будет свободное время, придется сбрасывать конфигурацию postfix и dovecot на «заводскую» и настраивать всё заново. Благо, что есть рабочий корпоративный сервер и часть настроек можно перенести оттуда. Впрочем, настройка с нуля поможет освежить мою память в этом плане и, возможно, пересмотреть некоторые настройки безопасности.<\/p>\n",
            "date_published": "2019-05-12T23:31:24+07:00",
            "date_modified": "2019-05-12T23:31:19+07:00",
            "tags": [
                "postfix",
                "настройка",
                "неожиданность",
                "открытый",
                "почта",
                "проблема",
                "релей",
                "сервер"
            ],
            "_date_published_rfc2822": "Sun, 12 May 2019 23:31:24 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "235",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "214",
            "url": "https:\/\/www.kini24.ru\/all\/ustanovka-ejabberd-na-alt-linux\/",
            "title": "Установка ejabberd на ALT Linux",
            "content_html": "<h3>Заметка, по большей части, для себя.<\/h3>\n<p>Решил поделиться своим опытом установки и настройки ejabberd. В процессе встречал много ошибок, которые можно было бы избежать, будь у меня опыт по работе с этим сервером. Но опыт что называется «нулевой».<br \/>\nПервым делом, конечно, установка:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># apt-get install ejabberd<\/code><\/pre><p>Несмотря на то, что после установки появляется одноименная служба, воспользоваться ей мы пока не сможем. Угум-с... Поэтому начинаем с того, что создаем базу данных в MySQL и пользователя. SQL-скрипт находится по пути <i> \/usr\/lib\/erlang\/lib\/ejabberd-18.03\/priv\/sql\/mysql.sql<\/i>.<br \/>\nТеперь регистрируем пользователя:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># ejabberdctl start\nWARNING: It is not recommended to run ejabberd as root\n# ejabberdctl register admin example.com PaSsWoRd\n# ejabberdctl stop<\/code><\/pre><p>Ответы сервера будут немного отличаться, но основной вопрос возникает при виде строки «<i>WARNING: It is not recommended to run ejabberd as root<\/i>». Чтобы избавиться от этого предупреждения, нужно запускать ejabberd от имени другого пользователя. Это делает сервис, но он нам пока недоступен. Почти.<br \/>\nПосле запуска ejabberdctl в папке \/<i>var\/lib\/ejabberd<\/i> создаются нужные подкаталоги и файлы баз Mnesia. Вот только права у них сейчас root, поэтому сервер не сможет с ними работать. Меняем владельца:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># chown -R ejabberd:ejabberd \/var\/lib\/ejabberd<\/code><\/pre><p>Не забываем про логи — там то же самое:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># chown -R ejabberd:ejabberd \/var\/log\/ejabberd<\/code><\/pre><p>Теперь нужно изменить файл конфигурации сервера под себя. Открываем \/<i>etc\/ejabberd\/ejabberd.yml<\/i> и правим, как минимум, строчку <i>hosts<\/i> в начале файла. И учтите еще пару моментов.<\/p>\n<ol start=\"1\">\n<li>Если вы планируете дать возможность анонимным пользователям подключаться к вашему серверу в качестве клиентов, то лучше сразу настройте подраздел <i>host_config<\/i> в разделе <i>AUTHENTICATION<\/i>. Я лично потерял весь ростер, когда настроил его уже в процессе работы. Хрен знает почему так получилось, но повторов мне не хочется.<\/li>\n<li>Также лучше всего сразу настроить ejabberd на использованием базы MySQL и не использовать встроенную Mnesia. Связано это с ограничением Mnesia на размер БД. Если планируется использовать запись действий.<\/li>\n<\/ol>\n<p>После всего этого можно пробовать запускать службу:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># systemctl start ejabberd<\/code><\/pre><p>Итак, служба запустилась, сервер нас слушает.<br \/>\nКакие еще есть нюансы? Ну, например, использование сертификатов от Let’sEncrypt. Я перебрал множество вариантов их подключения, но сервер каждый раз продолжал ругаться или на их отсутствие, или на то, что они подписаны неизвестным CA, или что не может выстроить цепочку сертификатов, чтобы доверять им. Перед настройкой нам нужно провести небольшие подготовительные работы. А именно — экспортировать корневой сертификат DST Root CA X3 в pem-файл. После этого размещаем его, например, в папке сертификатов Let’sEncrypt \/<i>etc\/letsencrypt<\/i> и даем права на чтение всем. Подкаталогам <i>live<\/i> и <i>archive<\/i> даем права 0755. Самим сертификатам даем права 0644. Вроде бы ничего не забыл. Теперь приступаем к настройке ejabberd.<br \/>\nВ разделе <i>Certificates<\/i> прописываем следующие параметры:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ca_file: &quot;\/etc\/letsencrypt\/DSTRootCAX3.pem&quot;\ncertfiles:\n  - &quot;\/etc\/letsencrypt\/live\/kini24.ru\/*.pem&quot;<\/code><\/pre><p>Первый указывает на корневой сертификат, второй — на папку с сертификатами на наш домен. Перезапускаем службу ejabberd и проверяем логи на ошибки. Если все нормально, то никаких сообщений по поводу сертификатов вы не увидите, кроме такой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[error] &lt;0.306.0&gt;@ejabberd_pkix:validate:543 Failed to list directory \/etc\/ssl\/certs: no such file or directory<\/code><\/pre><p>Согласен с ejabberd, нет у меня такой папки. Ну и черт с ней! :-)<br \/>\nВсе остальные параметры настраиваются достаточно просто, почитать можно здесь: <a href=\"https:\/\/docs.ejabberd.im\/admin\/configuration\/.\">https:\/\/docs.ejabberd.im\/admin\/configuration\/.<\/a> Вот тут всплыл другой нюанс, решение которого я искал достаточно долго. Дело в том, что в файле все регулируется отступами. Примерно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">listen:\n  -\n    port: 5222\n    ip: &quot;::&quot;\n    module: ejabberd_c2s\n    starttls: true\n    starttls_required: true\n    zlib: true<\/code><\/pre><p>У первой строки отступа нет вообще, потому что она «главная». У второй (тире) в начале два пробела. У следующего параметра, port, уже 4 пробела. Иными словами, каждый параметр отделяется от своего «родителя» двумя пробелами.<\/p>\n",
            "date_published": "2018-08-29T13:31:45+07:00",
            "date_modified": "2018-08-29T13:31:38+07:00",
            "tags": [
                "ejabberd",
                "let's encrypt",
                "linux",
                "настройка",
                "пробел",
                "сертификат",
                "установка"
            ],
            "_date_published_rfc2822": "Wed, 29 Aug 2018 13:31:45 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "214",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "207",
            "url": "https:\/\/www.kini24.ru\/all\/nastroyka-kyocera-m2235dn\/",
            "title": "Настройка Kyocera M2235dn",
            "content_html": "<h2>Сканирование по сети<\/h2>\n<p>Убил сегодня с утра почти полтора часа, чтобы понять почему МФУ не может подключиться к сетевой папке на компьютере, чтобы складывать туда сканированные документы. Вроде бы и параметры забил по инструкции., включая варианты, найденные в интернете, но все равно «Ошибка подключения». Сходил к юристам, посмотрел настройки у них (до этого кабинет был закрыт). Вернулся, вбил такие же — результат нулевой, доступа нет.<br \/>\nВ общем, не буду томить, проблема оказалась в имени компьютера. Оно было в кириллице. Это сделал кто-то из предыдущих администраторов, а я не трогал. «Работает — не трогай!» Как только имя было изменено на латинское, все сразу заработало. И к папке подключается, и складывает документы в нее. Кофе только не варит, паршивец :-)<br \/>\nНу, а далее просто себе заметка на будущее.<br \/>\n<b>Имя хоста<\/b> — имя компьютера или его IP-адрес. Без предваряющих двух обратных слэшей. ТОЛЬКО имя или IP.<br \/>\n<b>Порт<\/b> — стандартный 445 порт.<br \/>\n<b>Папка<\/b> — имя сетевой папки, начиная с одного обратного слэша. Например: \\Scanned. Конечно, должен быть доступ на запись в папку.<br \/>\n<b>Имя пользователя<\/b> и <b>пароль<\/b> — должны быть обязательно. Если даже они не нужны для записи в папку, придется их создать.<\/p>\n",
            "date_published": "2018-07-30T12:03:20+07:00",
            "date_modified": "2018-07-30T12:03:12+07:00",
            "tags": [
                "kyocera",
                "m2235dn",
                "настройка",
                "сеть",
                "сканирование"
            ],
            "_date_published_rfc2822": "Mon, 30 Jul 2018 12:03:20 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "207",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "184",
            "url": "https:\/\/www.kini24.ru\/all\/wifi-na-neskolko-etazhey\/",
            "title": "WiFi на несколько этажей",
            "content_html": "<p>Стоит задача установить интернет в гостинице на несколько этажей — с 3-го по 5-ый. Номеров много, кабели кидать не вариант — работы не на один месяц с учетом загруженности. Поэтому делаем обычный WiFi. Берем три роутера по средней цене, по одному на каждый этаж. Один ставим основным, к нему подведен кабель провайдера, остальные два работают как усилители. В пятницу проложили кабель от провайдера, подключили к основному роутеру. Остальную работу оставил на понедельник.<br \/>\nВчера с утра еду в гостиницу, все настраиваю. Вроде бы все работает замечательно: интернет раздается на все три этажа, уровень сигнала хороший до конца коридора в обоих направлениях. Но я же не могу просто так все оставить, начинаю тестирование. Так как все роутеры фирмы Keenetic, то при настройке и тестировании сильно помогла программа <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.ndmsystems.remote\">My.Keenetic с Google Play<\/a>. Отключаем питание основного роутера, имитируя ситуацию с отключением электричества. После окончания загрузки ждем несколько минут, чтобы «усилители» подхватили сеть. Хрен там плавал! Не видят они после такого происшествия основной роутер. Экспериментальным путем было выяснено, что достаточно перезагрузить один из двух «усилителей», чтобы восстановить всю сеть на всех этажах. Попутно выяснилось, что не получится сделать этакую «лестницу»: второй «усилитель» берет WiFi с основного роутера и используется для получения сигнала третьего. Все должны подключаться только к основному. Печально. Хотя, возможно, я что-то не так делал.<br \/>\nВыходов из текущей ситуации я вижу несколько (в порядке предпочтения):<\/p>\n<ol start=\"1\">\n<li>Обратиться в техническую поддержку производителя. Возможно, что там прояснится ситуация почему «усилители» не подхватывают сеть.<\/li>\n<li>Сделать самому или просто купить «умную» розетку, которой можно управлять удаленно. Не ездить же после каждого отключения света восстанавливать WiFi в гостинице.<\/li>\n<li>Самый простой и надежный, на первый взгляд. Переключаем роутеры в режим «точки доступа» и прокладываем кабель между ними. Но тут интересен вопрос о том как будут «дружить» между собой три беспроводных сети с одинаковым именем. Никогда не экспериментировал с этим.<\/li>\n<\/ol>\n",
            "date_published": "2018-04-10T17:48:29+07:00",
            "date_modified": "2018-04-10T17:48:21+07:00",
            "tags": [
                "wifi",
                "интернет",
                "настройка",
                "роутер",
                "сибиряк"
            ],
            "_date_published_rfc2822": "Tue, 10 Apr 2018 17:48:29 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "184",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "181",
            "url": "https:\/\/www.kini24.ru\/all\/upravlenie-pleerom-vlc-s-pulta\/",
            "title": "Управление плеером VLC с пульта",
            "content_html": "<p><b>Предыстория<\/b>.<br \/>\nВсе началось с того, что меня попросили записать несколько мультсериалов на диски. Плеер оказался капризным, документация не соответствовала действительности, пришлось помучиться с подбором воспринимаемых им кодеков. В процессе захотелось посмотреть некоторые из этих сериалов — я начинал их смотреть в детстве, но до конца их так и не посмотрел. Серии короткие, в среднем по 20 минут, и вскакивать каждый раз, чтобы переключить на следующую, мне было лень. Поэтому на аукционе был приобретен универсальный пульт, который мне предстояло настроить на управление VLC.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/ik-pult-vieta@2x.jpg\" width=\"220\" height=\"565\" alt=\"Пульт Vieta\" \/>\n<div class=\"e2-text-caption\">Вот такой вот симпатичный пульт<\/div>\n<\/div>\n<p>Я бы еще долго его «настраивал» по причине лени, но в прошедшую пятницу меня практически свалил с ног приступ хандроза. Нормально дышать я не мог — каждый вдох отдавался болью в груди, поэтому всякие физические нагрузки мне были противопоказаны. В субботу вспомнил про него и решил, что пора устроить себе постельный режим.<\/p>\n<p><b>Переходим к настройке<\/b>.<br \/>\nLirc у меня на компьютере уже был установлен, дело было только за настройкой пульта. В процессе выяснилось множество деталей, пульт тоже оказался немного «капризным», поэтому пришлось немного отойти от стандартного пути настройки. В итоге все выглядело следующим образом.<br \/>\nДля начала записываем коды клавиш пульта. Мне пришлось форсировать raw-режим записи:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># irrecord -f --device=\/dev\/lirc0<\/code><\/pre><p>Далее жмем Enter и немного ждем как просит программа. Вводим название пульта без пробелов, у меня это Vieta. Потом начинаем нажимать разные кнопки пульта с такой скоростью, чтобы появилась хотя бы одна точка и их было бы не больше 10. В результате irrecord определяет его параметры и затем начинается процесс ввода кнопок. Вводим название кнопки, затем, когда программа попросит, нажимаем саму кнопку. Названия лучше брать стандартные, узнать их можно выполнив следующую команду:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># irrecord -l<\/code><\/pre><p>После того как введена последняя кнопка, при запросе имени очередной кнопки нужно просто нажать Enter. Процесс записи завершен, о чем irrecord и проинформирует, указав имя файла, в который были записаны данные. Конечно, можно использовать и получившийся в результате файл (наверное), но выглядит он не очень эстетично, поэтому лучше привести его в более читабельный вид:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># irrecord -a Vieta.lircd.conf<\/code><\/pre><p>В конце выполнения этой команды будет предложено ввести имя файла, в который будет сохранен результат. Вводим имя и продолжаем.<br \/>\nПолучившийся в результате файл копируем в папку \/etc\/lirc\/lircd.conf.d. «Плюсом» в этой папке является то, что туда можно скопировать множество файлов от разных пультов и все они будут использоваться lirc. Перезапускаем службу:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># service lircd restart<\/code><\/pre><p>Половина работы сделана, осталось настроить VLC. Для этого нужно будет создать еще один файл, в который будут записаны действия, выполняемые в ответ на нажатие соответствующей кнопки. Этот файл один для множества программ, но меня пока что интересует только плеер. Формат у файла следующий:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">begin\n    button = KEY_PLAYPAUSE\n    prog = vlc\n    config = key-play-pause\nend<\/code><\/pre><p>Здесь <i>KEY_PLAYPAUSE<\/i> — это название кнопки из ранее созданного файла vieta.lircd.conf, <i>vlc<\/i> — название программы, а <i>key-play-pause<\/i> — действие в плеере. Список действий VLC можно посмотреть на вики проекта, но лучше использовать следующую команду:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">vlc -H --advanced 2&gt;&amp;1 |sed -n &#039;\/--key\/ {s\/^\\ *--\/\/; s\/^\\(.*\\) &lt;[^&gt;]*&gt;\\ *\\(.*\\)$\/\\2 -&gt; \\1\/; h}; \/^.*[^ ].*-&gt; key\/ p; \/^ -&gt; key\/ { n; s\/^[ \\t\\n]*\/\/M; G; s\/\\n\/\/; p}&#039;<\/code><\/pre><p>Далее, по документации к lirc нам нужно запустить программу irexec, которая и будет «нажимать» кнопки в системе в ответ на нажатие на пульте. Но, как оказалось в случае с VLC, нам она не нужна. Осталось только настроить сам плеер на удаленное управление. Запускаем его и идеи в настройки программы и в левом нижнем углу выбираем пункт «Все». Для начала включаем управление пультом<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/vlc-lirc01@2x.png\" width=\"520\" height=\"413\" alt=\"Подключение lirc в VLC\" \/>\n<div class=\"e2-text-caption\">Подключение lirc в VLC<\/div>\n<\/div>\n<p>Затем указываем имя файла конфигурации. Он у меня называется .lircrc и лежит в домашнем каталоге. Чтобы он мне не мешался, я сделал его скрытым.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/vlc-lirc02@2x.png\" width=\"520\" height=\"413\" alt=\"Путь к файлу lircrc\" \/>\n<div class=\"e2-text-caption\">Указываем полный путь к файлу lircrc<\/div>\n<\/div>\n<p>Всё, сохраняем настройки и перезапускаем плеер. Теперь можно пробовать управлять VLC с пульта.<br \/>\nСразу он у меня не заработал, пришлось проверять, что компьютер вообще принимает команды с пульта:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># irw<\/code><\/pre><p>Если после нажатия кнопки на пульте на экране появляются коды кнопок и их названия, которые были введены в файл vieta.lircd.conf, то пульт и приемник работают нормально. У меня реакции не было никакой, но после выполнения команды<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># mode2<\/code><\/pre><p>все странным образом заработало.<br \/>\nОсобо меня порадовала кнопка Language на пульте. На нее я повесил переключение звуковой дорожки. Например, в том же «Доктор Хауз» звуковых дорожек с русским переводом несколько, но нравится мне только один. С этой кнопкой не нужно заморачиваться каждый раз при переключении.<br \/>\nДа, весь процесс настройки немного муторный, нужно вводить много текста, но делается это один раз, поэтому придется потерпеть.<br \/>\nЕще одним «минусом» , с которым мне пришлось столкнутся — ИК-излучатель в моем пульте совсем чуть-чуть торчит из корпуса, вследствие чего угол, под которым можно управлять плеером, очень мал. Надо достаточно точно направлять пульт на приемник. Впрочем, это устранимо :-)<br \/>\nКстати, счастливые обладатели телефона с ИК-передатчиком, могут использовать его для управления плеером или вообще компьютером. Да, я знаю, что есть множество других программ для управления компьютером, но почему бы не использовать и такой вариант?<\/p>\n<p><b>P.S<\/b>. Пока искал как lirc различает короткое и длинное нажатие на клавишу пульта, наткнулся на недокументированный (по крайней мере, на официальном сайте его описание я не нашел) параметр <i>ignore_first_events<\/i>, который позволяет реализовать реакцию на долгое нажатие кнопки. В ходе тестирования оказалось, что сначала идет реакция на короткое нажатие, затем, если кнопка не была отпущена, то выполняется действие, запрограммированное на долгое. Чтобы было понятней, покажу на примере. Например, в файле lircrc заданы следующие секции:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">begin\n    button = KEY_FORWARD\n    prog = vlc\n    config = key-jump+short\nend\n\nbegin\n    button = KEY_FORWARD\n    prog = vlc\n    config = key-jump+medium\n    ignore_first_events = 10\nend<\/code><\/pre><p>Если зажать кнопку примерно на три секунды, то сначала выполнится первая секция — плеер переместится на 10 секунд вперед, затем, спустя 10 повторов от пульта, выполнится вторая секция — плеер перейдет на 60 секунд вперед. То есть, в сумме, плеер перейдет на 70 секунд вперед.<\/p>\n",
            "date_published": "2018-04-01T10:35:59+07:00",
            "date_modified": "2018-04-01T12:52:39+07:00",
            "tags": [
                "lirc",
                "vlc",
                "настройка",
                "пульт",
                "управление"
            ],
            "image": "https:\/\/www.kini24.ru\/pictures\/ik-pult-vieta@2x.jpg",
            "_date_published_rfc2822": "Sun, 01 Apr 2018 10:35:59 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "181",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/www.kini24.ru\/pictures\/ik-pult-vieta@2x.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/vlc-lirc01@2x.png",
                    "https:\/\/www.kini24.ru\/pictures\/vlc-lirc02@2x.png"
                ]
            }
        },
        {
            "id": "168",
            "url": "https:\/\/www.kini24.ru\/all\/neudachnoe-nachalo-dnya\/",
            "title": "Неудачное начало дня",
            "content_html": "<p>На неделе договорились с товарищем, что я проведу техническое обслуживание в одной из аптек. Заодно я решил, что он будет первым кто протестируем <a href=\"https:\/\/support.kini24.ru\/\">мою новую систему заявок на техподдержку<\/a>. Итак, он оставил там заявку, я получил уведомление, все нормально. Ехать я должен был в субботу утром.<br \/>\nУтро субботы началось как обычно. Телефон меня уведомил о наличии новой прошивки и предложил обновить ее. Ничуть не сомневаясь, как обычно, согласился. Все предыдущие обновления проходили без эксцессов. Но это был не тот случай... После обновления прошивки и перезагрузки телефон выдал сообщение «Приложение system не отвечает» и предложили либо закрыть его, либо подождать. Ни одна из кнопок на нажатия не реагировала. Перезагружаю телефон, жду. После загрузки он снова перезагрузился, что вызвало у меня некоторые подозрения. В итоге, после десятка перезагрузок он либо выдавал вышеуказанное сообщение, либо перезагружался, либо вообще не реагировал на любые действия. Потихоньку я начинал понимать, что придется делать сброс настроек, но очень не хотелось... Но выхода не было. Надеясь на то, что после сброса работа телефона восстановится, загрузился в recovery (поди еще разберись в китайских надписях!) и сбросил телефон до заводского состояния. После сброса пришлось, конечно, заново устанавливать все необходимые программы.<br \/>\nПотеряв на всех этих манипуляциях почти час времени, с опозданием поехал в аптеку — работать все равно надо. Проведя там полдня, в перерывах восстановил работу мессенджеров — благо, что их было всего трое. Контакты восстановились из резервной копии Google. А вот бэкап Xiaomi меня ничуть не порадовал — последний созданный бэкап датировался летом прошлого года. Спрашивается зачем я настраивал синхронизацию? Но чуть позже оказалось, что все смс-ки, фотографии и т. д. снова очутились у меня на телефоне. СМС-сообщения были самым, наверное, важным среди всего этого. Это меня порадовало, ибо были контакты еще не внесенные в адресную книгу, но которые можно было извлечь из смс-ок.<br \/>\nВ итоге, настройку телефона закончил только сегодня. Самым утомительным оказалось организовать ярлыки на рабочем столе по папкам.<\/p>\n",
            "date_published": "2018-03-04T20:22:45+07:00",
            "date_modified": "2018-03-04T20:22:39+07:00",
            "tags": [
                "настройка",
                "обновление",
                "прошивка",
                "сбой",
                "сброс",
                "телефон"
            ],
            "_date_published_rfc2822": "Sun, 04 Mar 2018 20:22:45 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "168",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "158",
            "url": "https:\/\/www.kini24.ru\/all\/serviio-2\/",
            "title": "Serviio",
            "content_html": "<h3>Небольшой обзор DLNA-сервера<\/h3>\n<p>Чуть меньше недели назад я, при помощи докера, <a href=\"https:\/\/kini24.ru\/all\/ustanovka-serviio\/\">установил<\/a> на свой домашний сервер Serviio. В отличие от других серверов подобного рода, которые я попробовал, этот показался мне самым интересным, несмотря на его недостатки. Впрочем, последнее — только мое мнение, кому-то эти недостатки покажутся преимуществами.<br \/>\nСразу хочу упомянуть один достаточно важный момент. Первые 15 дней сервер работает в режиме полной функциональности. Если по истечении этого периода вы не установите лицензию, то программа автоматически перейдет в режим бесплатной версии, которая имеет некоторые ограничения. Почитать о различиях версий можно на <a href=\"http:\/\/serviio.org\/buy-pro\/10-uncategorised\/60-free-vs-pro\">этой странице<\/a>. Стоимость лицензии на текущий момент составляет 25 долларов США. Или около 1500 российских рублей.<br \/>\nПервое, что мне бросилось в глаза — множество папок, так же как и у miniDLNA. Это очень опечалило потому, что из-за этого нюанса я и собирался менять сервер. Но, покопавшись в настройках, обнаружил, что отображение папок настраивается и можно просто убрать ненужные. Так я и поступил, оставив только самые востребованные.<br \/>\nВ качестве папок, где хранятся файлы, которые вы потом будете воспроизводить на телевизоре или другом устройстве, можно указать любые. Но так как я использую докер, то их нужно дополнительно указывать в параметрах запуска контейнера и только затем подключать в настройках программы. Как обычно, поиск мультимедиа файлов несколько нагружает процессор, что, впрочем, длится достаточно недолго.<br \/>\nНе лишним будет упомянуть порты, которые могут вам понадобиться для просмотра или для управления сервером:<\/p>\n<ol start=\"1\">\n<li>1900 — общий порт UPnP;<\/li>\n<li>8895 — не совсем понял что за порт, но без него ни одно устройство не видит сервер.<\/li>\n<li>23423 и 23523 — для управления сервером по HTTP и HTTPS протоколам соответственно.<\/li>\n<li>23424 и 23524 — для просмотра мультимедиа по HTTP и HTTPS соответственно.<\/li>\n<\/ol>\n<p>Если вы планируете просматривать фильмы, слушать музыку или управлять сервером за пределами вашей сети, то на последние 4 порта следует настроить перенаправление на роутере или просто открыть к ним доступ извне. Но, увы, для этого вам понадобятся дополнительные программы для вашего смартфона или планшета:<\/p>\n<ol start=\"1\">\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.serviigo\">ServiiGo<\/a>. Программа для удаленного просмотра фильмов или прослушивания музыки. Увы, но для доступа к такой возможности требуется версия Pro сервера. Для использования требует порты 23424 и 23524.<\/li>\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.serviidroid\">ServiiDroid<\/a>. Эта программа позволяет вам:<\/li>\n<\/ol>\n<ul>\n<li>просматривать текущее состояние сервера и изменять его;<\/li>\n<li>вручную обновить данные библиотеки;<\/li>\n<li>просмотреть или изменить настройки подключенных клиентов;<\/li>\n<li>управлять папками, в которых нужно искать файлы, или онлайн-источниками;<\/li>\n<li>и, наконец, изменять настройки самого сервера.<br \/>\nИными словами, эта программа позволяет вам полностью управлять настройками Serviio и, что не менее важно, она не требует для своей работы Pro-версии программы.<\/li>\n<\/ul>\n<p>Кстати, заметил, что по протоколу HTTPS сервер отдает данные немного быстрее, чем по HTTP.<br \/>\nИз «минусов» могу отметить следующие пункты:<\/p>\n<ol start=\"1\">\n<li>Некоторую заторможенность в работе программы, что обусловлено использованием java.<\/li>\n<li>Не всегда корректно распределяет медиафайлы по категориям.<\/li>\n<li>Некорректно работает с кодировкой cp1251. То есть, с русским языком.<\/li>\n<\/ol>\n<p>Второй пункт раздражает больше всего. Например, я скачал из интернета все сезоны «Звездного пути». Serviio просканировал все папки и отобразил мне две папки сериала вместо одной. В первой папке были три сезона по одной-две серии в каждом, во второй — все 7 сезонов и все серии. Думаю, что это связано с некорректной обработкой информации, извлеченной из этих файлов, но не править же каждый раз эту информацию (что, кстати, не помогает) после скачивания фильма.<br \/>\nТретий пункт... Думаю тут даже рассказывать нечего. Если информация в файле закодирована при помощи cp1251, то вместо нормального текста, на экране вы увидите «кракозябры». Лечится это перекодировкой в utf-8, то есть после скачивания, например, музыки, нужно сделать еще дополнительные движения.<\/p>\n",
            "date_published": "2018-02-06T15:04:08+07:00",
            "date_modified": "2018-03-05T07:54:43+07:00",
            "tags": [
                "docker",
                "serviio",
                "настройка",
                "обзор"
            ],
            "_date_published_rfc2822": "Tue, 06 Feb 2018 15:04:08 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "158",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "156",
            "url": "https:\/\/www.kini24.ru\/all\/ustanovka-serviio\/",
            "title": "Установка Serviio",
            "content_html": "<p>На домашнем сервере установлен Alt Linux, у которого свое видение в отношении сторонних программ. Того serviio в репозитории нет, а попытка установить его с сайта провалилась. Скорее всего, тут сыграло роль недостаточное знание мной линукса. Поэтому, в итоге, был выбран путь попроще, который я с начала не заметил. Речь идет об установке serviio в виде docker.<br \/>\nДля начала скачиваем образ на компьютер:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># docker pull lsiocommunity\/serviio<\/code><\/pre><p>Затем, в соответствии с документацией, запускаем, немного изменив параметры запуска под себя:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">docker run -d --restart=always --name=serviio -v \/mnt\/sda\/serviio\/config:\/config -v \/mnt\/sda\/serviio\/media:\/media -v \/mnt\/sda\/serviio\/transcode:\/transcode --net=host lsiocommunity\/serviio<\/code><\/pre><p>По пути \/mnt\/sda у меня находится второй жесткий диск, на котором располагается всякое «барахло».<br \/>\nПоначалу ни одно из устройств в сети не смогло увидеть serviio. Немного поэкспериментировав, понял, что все дело в том, не был открыт один из портов на сервере. В итоге, пришлось открыть порты 8895, 23423, 23424, 23523, 23524 и 1900. Serviio не видели именно из-за порта 8895.<br \/>\nНу а дальше все было просто: заходим по адресу <a href=\"http:\/\/192.168.1.254:23423\/console\">http:\/\/192.168.1.254:23423\/console<\/a> (где 192.168.1.254 — адрес моего сервера) и настраиваем сервер под свои нужды уже в графическом интерфейсе. Тестировал его работу на трех устройствах: ТВ Samsung UE43M5500AU, телефоне на базе Android и компьютере с установленными Alt Linux и VLC. Все три успешно подключились и смогли проиграть фильм с разрешением FullHD. Тормоза оказались только на телефоне, но с него, как говорится, «взятки гладки».<\/p>\n",
            "date_published": "2018-02-02T22:14:48+07:00",
            "date_modified": "2018-02-06T15:04:35+07:00",
            "tags": [
                "dlna",
                "docker",
                "linux",
                "serviio",
                "настройка",
                "сервер"
            ],
            "_date_published_rfc2822": "Fri, 02 Feb 2018 22:14:48 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "156",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "116",
            "url": "https:\/\/www.kini24.ru\/all\/dobavlyaem-mail-ru-v-openfire\/",
            "title": "Добавляем mail.ru в Openfire",
            "content_html": "<p>«Переклинило» меня на очередном эксперименте — подключаться к icq и mail.ru через транспорты своего jabber-сервера. Разницы для меня никакой, в то же время нужно заводить только одну учетную запись в клиенте. Плюс к этому вся история переписки будет храниться опять же на моем сервере.<br \/>\nВсе оказалось и просто и сложно одновременно. Сложность заключалась в том, чтобы найти компонент для использования транспорта. Ссылка на компонент в <a href=\"http:\/\/sudouser.com\/nastrojka-transporta-v-mailru-agent-dlya-jabber-servera-openfire.html\">популярной статье<\/a> о подключении транспорта оказалась не рабочей, но нашлась на другом ресурсе. Благо, что человек выложил <a href=\"http:\/\/lapsar.ru\/files\/mrim.rar\">архив с нужными файлами<\/a> на своем сайте. Настройка заняла буквально несколько минут.<br \/>\nДля начала распаковал архив в домашний каталог. Изменил конфигурацию под свой сервер:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[main]\nname = xmpp.kini24.ru\npassword = пароль_для_регистрации_компонента_на_сервере\n# -- optional --\nadmins = admin@kini24.ru\n# -- defaults --\nserver = 127.0.0.1\ndisconame = Mail.ru IM\nport = 5275\nreconnect = on\nprobe = on\nshow_version = on\nshow_os = on\npsyco = off\n# -- http proxy for avatars (default is none) --\n# http_proxy = http:\/\/localhost:3128\n# -- PID file (default is none) --\n# pidfile = \/var\/run\/mrim.pid\n\n[profile]\ntype = xml\ndir = \/var\/spool\/mrim\n\n[logger]\nlogfile = \/var\/log\/openfire\/mrim.log\nloglevel = info\n# --- logger defaults ---\n# timestamp = %%d\/%%m\/%%y-%%H:%%M:%%S\n# xml_formatting = off<\/code><\/pre><p>Затем открыл веб-интерфейс Openfire и в разделе <b>Настройки сервера<\/b> — <b>Внешние устройства<\/b> — <b>Разрешено подключаться<\/b> (да, вот такой дурацкий перевод) добавил поддомен и пароль для подключения компонента. Без этого при попытке запуска компонента я получал только кучу сообщений типа<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">31\/10\/17-10:30:21 Connecting to XMPP server\n31\/10\/17-10:30:22 Connection to server lost<\/code><\/pre><p>Затем запустил транспорт:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/python mrim.py -c mrim.conf<\/code><\/pre><p>Вернулся в Openfire, открыл <b>Сеансы<\/b> — <b>Компонент сеансов<\/b>, где и увидел что транспорт подключился к серверу. Затем прошел регистрацию в своем клиенте Miranda NG и попробовал написать своему другу. Полученный от него ответ оказал, что все работает нормально. Перед этим пришлось, правда, ответить на кучу запросов авторизации.<br \/>\nОсталось только добавить запуск транспорта в автозагрузку и настройка полностью завершена.<\/p>\n",
            "date_published": "2017-10-31T11:02:30+07:00",
            "date_modified": "2017-10-31T11:03:50+07:00",
            "tags": [
                "jabber",
                "mail.ru",
                "openfire",
                "настройка",
                "подключение",
                "сервер",
                "транспорт"
            ],
            "_date_published_rfc2822": "Tue, 31 Oct 2017 11:02:30 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "116",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "79",
            "url": "https:\/\/www.kini24.ru\/all\/ubiraem-nazvanie-servera-apache\/",
            "title": "Убираем название сервера Apache",
            "content_html": "<p>Не совсем, конечно, правильный заголовок, но какой уж есть...<br \/>\nСобственно, сегодня я не планировал этим заниматься, просто так вышло. На сервере установлен Apache версии 2.4. При помощи двух параметров (ServerTokens Prod и ServerSignature Off) можно сократить название сервера до банального Apache. Но убрать само название сервера «нельзя». Для того, чтобы это сделать понадобится установить или включить дополнительный модуль mod_security. У меня он установлен не был, но был в репозитории. Раньше, кстати, когда был установлен Apache версии 2.2, его там не было, поэтому приходилось довольствоваться тем, что получилось. Итак, установил модуль, включил его и... поймал ошибку при запуске сервера. Что за ошибка было поначалу не совсем понятно, поскольку ее текст уходил за пределы экрана. Пришлось вывод команды перенаправить в файл, из которого уже стало понятно, что сервер не может найти файлы конфигурации в подкаталоге модуля. Посмотрев в папке, вообще не нашел таковых. Видимо, не очень-то они и нужны. Поэтому просто закомментировал эти строчки и еще раз перезапустил сервер. На этот раз все прошло штатно, он заработал. «Хорошо», подумал я и добавил в файл конфигурации модуля строку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">SecServerSignature &quot; &quot;<\/code><\/pre><p>После перезапуска Apache, проверил заголовки, которые отдает сервер при подключении к сайту и убедился, что имя сервера теперь вообще не отображается. Для пущей убедительности прогнал тесты на нескольких онлайн-сервисах, которые показали, что не знают что за сервер у меня установлен.<\/p>\n",
            "date_published": "2017-08-16T15:22:55+07:00",
            "date_modified": "2017-08-16T15:22:45+07:00",
            "tags": [
                "apache",
                "безопасность",
                "имя",
                "настройка",
                "сервер"
            ],
            "_date_published_rfc2822": "Wed, 16 Aug 2017 15:22:55 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "79",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "69",
            "url": "https:\/\/www.kini24.ru\/all\/nastroyka-vpn-na-openwrt\/",
            "title": "Настройка VPN на OpenWrt",
            "content_html": "<h3>Доступ в домашнюю сеть<\/h3>\n<p>На фоне запретов на VPN и анонимайзеров, взбрело в голову прокинуть туннель в свою домашнюю сеть. Так сказать, пока это не стало противоправным действием :-) Все делал вот по <a href=\"https:\/\/wiki.openwrt.org\/ru\/doc\/howto\/vpn.openvpn\">этой статье<\/a>. С первого раза ничего не заработало. После небольшого расследования оказалось, что клиентский сертификат неверно сгенерировался и получился файл нулевого размера. Пришлось переделывать все заново. После этого я смог подключиться к домашней сети, но у меня не было доступа ни к одному компьютеру в ней. Для доступа к ней пришлось выполнить еще одно действие из этой же статьи, из англоязычной ее части:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># uci add_list openvpn.myvpn.push=&#039;route 192.168.1.0 255.255.255.0&#039;<\/code><\/pre><p>Так как подсеть у меня такая же, то не пришлось править адрес и маску. После перезапуска OpnVPN на роутере все заработало: доступ в сеть есть, к компьютерам — тоже. Все работает, отлично!<br \/>\nНо, как обычно, показалось этого мало. Настроил OpenVPN и на смартфоне. Применение такого доступа нашлось сразу же: быстрый просмотр записей с камеры. VLC, конечно, на такой скорости плохо кэширует (надеюсь, это лечится), но снимки, которые создает motion из записанного видеофайла просмотреть можно. Уже, как говорится, хлеб.<br \/>\nЗатем, ради интереса, заглянул на собранную метеостанцию, посмотрел как там дела обстоят. Затем зашел на роутер, проглядел папку с торрентами.<br \/>\nИз «минусов» подключения по VPN вижу только то, что работать приходится не с именами машин, а с их IP-адресами. Но это уже мелочи.<\/p>\n",
            "date_published": "2017-06-26T18:38:57+07:00",
            "date_modified": "2017-06-26T18:38:50+07:00",
            "tags": [
                "android",
                "openvpn",
                "openwrt",
                "vpn",
                "доступ",
                "настройка",
                "сеть"
            ],
            "_date_published_rfc2822": "Mon, 26 Jun 2017 18:38:57 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "69",
            "_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)"
}