{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом ddos-deflate",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/ddos-deflate\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/ddos-deflate\/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": "18",
            "url": "https:\/\/anikin.pw\/all\/ustanovka-i-nastroyka-apf-firewall-ddos-deflate\/",
            "title": "Установка и настройка apf-firewall + ddos-deflate.",
            "content_html": "Как защитить linux сервер? Естественно с помощью iptables. Можно конечно написать скрипт с кучей правил iptables и добавить его в автозагрузку. Но мне больше нравятся готовые решения. В качестве фаервола мы будем использовать apf-firewall. Мне он нравится за простоту и за то что его можно быстро развернуть.\r\nApf-firewall - это очень удобная надстройка над iptables, которая на основе собственного простого и понятного конфига генерирует список правил и добавляет их в iptables, заменяя там уже прописанные. Работает в режиме демона. Так что если вы пользуетесь этим фаерволом, правила добавляйте только через него.\r\nТак же в качестве небольшого бонуса к нашей защите мы установим скрипт ddos-deflate. Конечно от серьезных атак он не защитит, но всяких школьников-кулцхакеров :-) отпулит на раз.<p>\r\n\r\nУстановка apf на ubuntu\/debian<p>\r\n\r\n<code># apt-get install apf-firewall -y<\/code><p>\r\n\r\nПо окончанию установки появится сообщение, что для запуска демона требуется изменить переменную RUN с no на yes в файле \/etc\/default\/apf-firewall. Откройте файл с помощью nano, например.<p>\r\n\r\n<code># nano \/etc\/default\/apf-firewall<\/code><p>\r\n\r\nИ измените значение переменной.<p>\r\nЗатем откройте конфигурационный файл apf.<p>\r\n\r\n<code># nano \/etc\/apf-firewall\/conf.apf<\/code><p>\r\n\r\nВ этом файле нужно указать порты, которые вы хотите оставить открытыми.<p>\r\nПравим следующие переменные:<p>\r\n<code>IG_TCP_CPORTS=\"22,80\"<\/code> - в этой переменной через запятую в кавычках описываются входящие tcp порты.<p>\r\n<code>EG_TCP_CPORTS=\"21,25,80\"<\/code> - в этой аналогично исходящие tcp порты.<p>\r\n\r\nТоже самое для udp:<p>\r\n<code>IG_UDP_CPORTS=\"53\"<p>\r\nEG_UDP_CPORTS=\"20,21,53\"<\/code><p>\r\n\r\nСохраняем файл и пробуем запустить фаервол:<p>\r\n\r\n<code># apf -s<\/code><p>\r\n\r\nВполне вероятно что при запуске вы получите ошибку о неизвестном ядре и фаервол не запустится. Ничего страшного, выполните действия из <a href=\"http:\/\/anikin.pw\/kak-zastavit-rabotat-apf-firewall-na-yadre-versii-3-x.html\" target=\"_blank\">этой статьи<\/a> и попробуйте ещё раз. Всё должно запустится.<p>\r\nТакже иногда можно получить ошибку которая описана в <a href=\"http:\/\/anikin.pw\/all\/oshibka-pri-zapuske-apf-firewall\/\" target=\"_blank\">этой статье<\/a>.<p>\r\nВозможно, если вы что-то не так сделали, то после запуска фаервола вы заблокируете себе доступ к серверу. Не пугайтесь, apf автоматически отключится через 5 минут и вы сможете исправить нужные настройки в конфиге.<p>\r\nЕсли всё в порядке, фаервол работает нормально и доступ к серверу вы не потеряли то измените значение переменной DEVEL_MODE на 0 в конфиге \/etc\/apf-firewall\/conf.apf. По умолчанию у неё значение 1, это режим когда apf запускается для проверки и отключается через 5 минут.<p>\r\nВсё, apf установлен.<p>\r\nТак же в каталоге \/etc\/apf-firewall есть множество конфигурационных файлов для более тонкой настройки фаервола. Внутри почти всех файлов есть комментарий для чего данный конфиг и описан синтаксис. Можно например открыть доступ к определённому порту только с определённого ip или добавить обычное правило iptables. В общем apf очень гибок в настройке и понятен в использовании.<p>\r\n\r\nТеперь установим ddos-deflate. Это скрипт который раз в минуту проверяет количество подключений к серверу с каждого ip. И если какой то ip превышает количество разрешённых подключений, то скрипт его банит на определённое время.<p>\r\n\r\nУстановка скрипта довольно простая:<p>\r\n\r\n<code># wget http:\/\/www.inetbase.com\/scripts\/ddos\/install.sh<p>\r\n# chmod 0700 install.sh<p>\r\n# .\/install.sh<\/code><p>\r\n\r\nПосле выполнения этих команд файлы скрипта установятся в \/usr\/local\/ddos\/. В debian\/ubuntu требуется изменить интерпретатор скрипта \/usr\/local\/ddos\/ddos.sh с:<p>\r\n<code>#!\/bin\/sh<\/code><p>\r\nна<p>\r\n<code>#!\/bin\/bash<\/code><p>\r\nИначе работать не будет. В тексте скрипта также есть \"\/bin\/sh\", тоже нужно изменить.<p>\r\nПодправим конфиг скрипта:<p>\r\n\r\n<code># nano \/usr\/local\/ddos\/ddos.conf<\/code><p>\r\n\r\nИсправим несколько переменных:<p>\r\nNO_OF_CONNECTIONS=100 - количество подключений с одного ip, при превышении этого значения - бан<p>\r\nAPF_BAN=1 - банить с помощью apf<p>\r\nBAN_PERIOD=600 - время бана<p>\r\n\r\nСохраняем и закрываем конфиг.<p>\r\nТеперь нужно добавить скрипт в крон. Выполняем<p>\r\n\r\n<code># crontab -e<\/code><p>\r\n\r\nИ в конец добавляем<p>\r\n\r\n<code>*\/1 * * * * nice -n -5 \/usr\/local\/ddos\/ddos.sh > \/dev\/null 2>&1<\/code><p>\r\n\r\nСохраняем и выходим.<p>\r\nВсё скрипт будет выполнятся раз в минуту и банить хулиганов.)<p>\r\n\r\nP.S. чтобы скрипт ddos-deflate нормально работал возможно понадобится изменить в конфиге путь до бинарника apf. По умолчанию он указан как \/etc\/apf\/apf. Это не верно. Чтобы узнать где у вас находится бинарник выполните:<p>\r\n<code># whereis apf<\/code><p>\r\nИ измените директиву APF в конфиге скрипта.<p>",
            "date_published": "2014-01-08T19:57:40+03:00",
            "date_modified": "2015-01-30T20:09:52+03:00",
            "tags": [
                "Advanced Policy Firewall",
                "APF",
                "APF-Firewall",
                "ddos-deflate"
            ],
            "_date_published_rfc2822": "Wed, 08 Jan 2014 19:57:40 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "18",
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}