{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом защита",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/zaschita\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/zaschita\/json\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "67",
            "url": "https:\/\/anikin.pw\/all\/zaschita-ot-ddos-ataki-botnetom-vzlomannyh-wordpress-saytov\/",
            "title": "Защита от DDoS атаки ботнета взломанных Wordpress сайтов",
            "content_html": "<p>Столкнулся с атакой взломанных wordpress говносайтов на один из клиентских серверов. Клиент пожаловался на недоступность сайта, сайт отдавал ошибку gateway timeout. Зашёл на сервер, вижу<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">load average: 145.44, 114.78, 78.83<\/code><\/pre><p>Странно что сервер ещё отвечал при такой нагрузке. Смотрю лог недоступного виртуалхоста и вижу кучу запростов типа<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">GET \/index.php HTTP\/1.0&quot; 200 37648 &quot;-&quot; &quot;WordPress\/4.5.2; http:\/\/52.39.213.67; verifying pingback from 191.96.249.54&quot;<\/code><\/pre><p>Блокируем ботов по ключевому слову WordPress<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># iptables -A INPUT -p tcp --dport 80 -m string --string 'WordPress' --algo kmp -j DROP<\/code><\/pre><p>Проблема решена.<\/p>\n",
            "date_published": "2016-06-17T14:48:34+03:00",
            "date_modified": "2016-06-17T18:28:53+03:00",
            "tags": [
                "ddos",
                "Wordpress",
                "атака",
                "защита"
            ],
            "_date_published_rfc2822": "Fri, 17 Jun 2016 14:48:34 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "67",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "14",
            "url": "https:\/\/anikin.pw\/all\/pravilnaya-nastroyka-denyhosts-zaschita-ssh-razban-ip-ochistka-p\/",
            "title": "Правильная настройка denyhosts. Защита ssh, разбан ip, очистка правил. Или как не забанить самого себя.",
            "content_html": "Denyhosts - это скрипт для защиты в основном ssh от взлома брутфорсом. Он анализирует число неудачных попыток коннекта к серверу и после определённого их количества блокирует ip с которого пытаются приконектится. Блокирует путём добавления ip в \/etc\/hosts.deny.<p>\r\n\r\nУстановка довольно простая. В большинстве дистрибутивов linux скрипт есть в репозиториях. Во freebsd она есть в портах.<p>\r\n\r\nУстановка для debian\/ubuntu:<p>\r\n\r\n<code># apt-get install denyhosts<\/code><p>\r\n\r\nУстановка для freebsd:<p>\r\n<code>\r\n# cd \/usr\/ports\/security\/denyhosts<p>\r\n# make install clean<p>\r\n<\/code>\r\nМногие в интернете пишут, что скрипт работает из коробки без дополнительных настроек. Это действительно так, но в один прекрасный день вы рискуете быть забаненым. Если например забудете пароль или введёте его неправильно. Разберём основные настройки конфига. Конфигурационный файл находится в \/usr\/local\/etc\/denyhosts.conf(для freebsd) или \/etc\/denyhosts.conf(для debian\/ubuntu).<p>\r\n<code>\r\nHOSTS_DENY = \/etc\/hosts.deny #Список забаненых ip<\/br>\r\nPURGE_DENY = 4w #Время бана в формате: m - минуты, h - часы, d - дни, w - недели, y - годы.<\/br>\r\nBLOCK_SERVICE = sshd #сервисы с которыми работает denyhosts<\/br>\r\nDENY_THRESHOLD_INVALID = 5 #Число неудачных попыток входа c несуществующим логином до бана<\/br>\r\nDENY_THRESHOLD_VALID = 5 #Число попыток входа с существующим логином, но неверным паролем до бана<\/br>\r\nDENY_THRESHOLD_ROOT = 1 #Число неудачных попыток входа до бана для пользователя root(по умолчанию эта директива равна одной попытке, права на ошибку у вас нет. Вкупе с временем бана выставленным на продолжительное время, в случае ошибки ввода пароля это даст интересный результат :-) ).<p>\r\n<\/code>\r\nОстальные настройки описаны достаточно хорошо в комментариях конфигурационного файла. Это все настройки на которые я хотел бы обратить внимание.<p>\r\n\r\nТеперь разберёмся что делать если вас всё таки забанили. Всё описаное ниже можно сделать сложнее, выискивая ваш ip  в списках забаненых и убирая его. Я считаю что это нецелесообразно, т.к в случае повторного перебора все \"плохие ip\" повторно будут забанены и ничего страшного неслучится. Так что мы просто будем делать очистку забаненых ip. Ну во-первых вам нужно хоть как-то подключится к серверу. Т.е вы должны знать пароль и подключатся с уникального ip, который ещё не забанен в denyhosts. Если вы не помните пароль к серверу, его можно <a href=\"http:\/\/anikin.pw\/linux-recovery-system-server4you.html#passwd\" target=\"_blank\">сбросить с livecd или recovery.<\/a> Итак, подключаемся к серверу по ssh и первое что делаем останавливаем denyhosts и очищаем файл hosts.deny<p>\r\n<code>\r\n# \/etc\/init.d\/denyhosts stop<p>\r\n# cp \/dev\/null \/etc\/hosts.deny<p>\r\n<\/code>\r\nЗатем в конфигурационном файле denyhosts ищем директиву WORK_DIR и смотрим в какой каталог она ведёт. Переходим в этот каталог и удаляем все файлы кроме allowed-hosts. Открываем этот файл и добавляем в него ваш ip. Поясню, в этом файле находятся исключения, т.е если вы добавите туда ваш ip, то скрипт больше не будет вас банить. Запускаем демон denyhosts<p>\r\n\r\n<code># \/etc\/init.d\/denyhosts start<\/code><p>\r\n\r\nВсё пробуем подключится, подключение должно пройти успешно.",
            "date_published": "2013-10-23T14:10:34+03:00",
            "date_modified": "2014-04-04T14:12:32+03:00",
            "tags": [
                "denyhost",
                "ssh",
                "защита",
                "очистка правил",
                "разбан ip"
            ],
            "_date_published_rfc2822": "Wed, 23 Oct 2013 14:10:34 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "14",
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}