
Сегодня, когда я в очередной раз просматривал stackoverflow в поисках готового рецепта для iptables, который бы делал то, что мне нужно, а не что-то другое (к сожалению, я так и не осилил iptables настолько, чтобы самостоятельно составлять правила, и не так часто им пользуюсь, чтобы просто запомнить их), мне попалось упоминание о UFW — Uncomplicated Firewall. Сразу отмечу, что статья предназначена скорее не для суровых администраторов, а для обычных веб-разработчиков, которым нужно закрыть неиспользуемые порты на VPS-сервере, который им самим и приходится настраивать.
Читать полностью »
Рубрика «iptables» - 5
UFW — простой фаервол для Debian/Ubuntu
2013-11-11 в 17:13, admin, рубрики: Debian, iptables, linux, Netfilter, Ubuntu, ufw, vps, Веб-разработка, Серверное администрирование, метки: Debian, iptables, Netfilter, Ubuntu, ufw, vpsAsterisk + iptables — самый простой способ настройки
2013-11-02 в 9:59, admin, рубрики: asterisk, iptables, сетевая безопасность, метки: asterisk, iptables, сетевая безопасностьХочу представить вашему вниманию простой и понятный shell-скрипт, который нужно лишь слегка подредактировать и затем запустить — и брандмауэр на вашем asterisk-сервере будет настроен без лишних сложностей.
Девятилетняя оптимизация маршрутизатора
2013-10-29 в 9:38, admin, рубрики: dhcp, dhcp-relay, ipset, iptables, История ИТ, контроль доступа, Серверная оптимизация, Сетевые технологии, метки: dhcp, dhcp-relay, ipset, iptables, контроль доступа, серверная оптимизация Хочу рассказать историю жизни сервера в кампусной сети Новосибирского университета, которая началась в далеком 2004 году, а так же этапы его оптимизации и даунгрейдинга.
Многие вещи в статье покажутся общеизвестными хотя бы по той причине, что речь пойдет о событиях почти десятилетней давности, хотя на тот момент это были передовые технологии. По той же причине кое что вообще потеряло актуальность, но далеко не все, так как сервер до сих пор живет и обслуживает сетку из 1000 машин.
Читать полностью »
Переключения между провайдерами интернета на Debian 7
2013-10-29 в 9:14, admin, рубрики: dhcp, firewall, iptables, linux, network, routing, метки: dhcp, firewall, iptables, network, routing В последних дистрибутивах Linux довольно много всяких полезных плюшек в папке /etc, однако мало кто ими грамотно пользуется. Здесь я расскажу про часть из них применительно к последней стабильной версии Debian, и приведу пример реализации переключения на резервный канал.
Все попытки найти банальную автопереключалку приводили к связке из 1-2 скриптов, написанным «под себя» и мало поддающимися настройке. К dhcp не был привязан ни один из них, а значит любые манипуляции на стороне провайдера требовали вмешательство в настройки. Сам писал такие в свое время, но вот теперь решил на новой системе оформить это красиво – так, как это задумывали разработчики Debian, а именно – меняем файлы конфигурации, добавляем свои скрипты и не трогаем те, что нам предоставила система.
Читать полностью »
Suricata как IPS
2013-09-09 в 4:28, admin, рубрики: firewall, IDS, ips, iptables, linux, информационная безопасность, системное администрирование, метки: firewall, ids, ips, iptables Статья несет исключительно ознакомительный характер. Автор не несет ответственность за применение информации государством или иными самоуправляющими органами в своих корыстных, личных и прочих целях.

Suricata — open source IPS/IDS система. Основана разработчиками, которые трудились над IPS версией Snort. Основное отличие Suricata от Snort — возможность использования GPU в режиме IDS, более продвинутая система IPS, многозадачность, как следствие высокая производительность, позволяющая обрабатывать трафик до 10Gbit на обычном оборудовании, и многое другое, в том числе полная поддержка формата правил Snort. Лучше почитать обо всём на официальном сайте. Cегодня погорим об IPS.
Читать полностью »
Электронное правительство, руки прочь от моих сайтов
2013-08-27 в 8:55, admin, рубрики: ddos, iptables, хостинг, метки: ddos, iptablesУже не в первый раз замечаю атаку на свои сервера из подсети «Ростелекома», относящейся к некоему «электронному правительству».
$whois 109.207.13.1
...
inetnum: 109.207.0.0 - 109.207.15.255
netname: Electronic-government
descr: OJSC Rostelecom
descr: Electronic government of the Russian Federation
...
Спрашивается, что им надо от моих сайтов? — впрочем не важно, не умеете себя вести (игнорируете robots.txt), и наверняка ничего хорошего мне не сулите, тогда отправляйтесь в бездну:
#iptables -A INPUT -s 109.207.13.0/24 -p tcp -j DROP
Раздача интернета с 3G модема в локальную сеть в Linux
2013-08-10 в 22:54, admin, рубрики: 3g модем, iptables, linux, nat, метки: 3g модем, iptables, linux, natЭта статья — продолжение статьи Беспроводная точка доступа, используя Linux. Тут я опишу, что же необходимо сделать для того, чтобы раздавать интернет с 3G-модема по уже созданной по инструкции из предыдущего топика вайфай-сети.
1) Прежде всего, научить Linux работать с модемом
2) Создать NAT для раздачи интернета
3) Запихнуть всё это дело в автозагрузку
Итак, bash, wvdial и iptables под мышку — и поехали!
Читать полностью »
Прокачка debian/ubuntu сервера для маленьких. Часть 1
2013-07-11 в 16:57, admin, рубрики: Debian, firewall, iptables, linux, nginx, Ubuntu, информационная безопасность, Серверное администрирование, метки: Debian, firewall, iptables, nginx, Ubuntu, сервер Всем привет. Недавно появилась необходимость поднятие VPS на debian 7 за скромные деньги.
О плясках с бубенчиком я бы хотел описать тут в подробностях.
Всё в этом посте было собрано на просторах интернета, доработано, разжевано и скинуто в одну статью.
Выбор пал на http://hostink.ru/vps/ из-за низких цен и неплохой стабильности за эти деньги(правда 2 дня были серьезные проблемы с сетью). Был взят VPS за 5 рублей в сутки(или за 150р в месяц) с небольшими конфигурациями ОЗУ 128mb и 10Гб на диске.
В автоматическом режиме был установлен Debian 7.0 x86-64 Wheezy и VPS была готова к работе.
Читать полностью »
Оперативная реакция на DDoS-атаки
2013-04-09 в 16:35, admin, рубрики: ddos, ipset, iptables, nginx, Серверное администрирование, метки: ddos, ipset, iptables, nginxОдин из ресурсов, за которым я присматриваю, вдруг стал неожиданно популярным как у хороших пользователей, так и у плохих. Мощное, в общем-то, железо перестало справляться с нагрузкой. Софт на сервере самый обычный — Linux,Nginx,PHP-FPM(+APC),MySQL, версии — самые последние. На сайтах крутится Drupal и phpBB. Оптимизация на уровне софта (memcached, индексы в базе, где их не хватало) чуть помогла, но кардинально проблему не решила. А проблема — большое количество запросов, к статике, динамике и особенно базе. Поставил следующие лимиты в Nginx:
на соединения
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 100;
и скорость запросов на динамику (fastcgi_pass на php-fpm)
limit_req_zone $binary_remote_addr zone=dynamic:10m rate=2r/s;
limit_req zone=dynamic burst=10 nodelay;
Сильно полегчало, по логам видно, что в первую зону никто не попадает, зато вторая отрабатывает по полной.
Но плохиши продолжали долбить, и захотелось их отбрасывать раньше — на уровне фаервола, и надолго.
Сначала сам парсил логи, и особо настырных добавлял через iptables в баню. Потом парсил уже по крону каждые 5 минут. Пробовал fail2ban. Когда понял, что плохишей стало очень много, перенёс их в ipset ip hash.
Почти всё хорошо стало, но есть неприятные моменты:
— парсинг/сортировка логов тоже приличное (процессорное) время отнимает
— сервер тупит, если началась новая волна между соседними разборками (логов)
Нужно было придумать как быстро добавлять нарушителей в черный список. Сначала была идея написать/дописать модуль к Nginx + демон, который будет ipset-ы обновлять. Можно и без демона, но тогда придётся запускать Nginx от рута, что не есть красиво. Написать это реально, но понял, что нет столько времени. Ничего похожего не нашёл (может плохо искал?), и придумал вот такой алгоритм.
При привышении лимита, Nginx выбрасывает 503-юю ошибку Service Temporarily Unavailable. Вот я решил на неё и прицепиться!
Для каждого location создаём свою страничку с ошибкой
error_page 503 =429 @blacklist;
И соответствующий именованный location
location @blacklist {
fastcgi_pass localhost:1234;
fastcgi_param SCRIPT_FILENAME /data/web/cgi/blacklist.sh;
include fastcgi_params;
}
Дальше интересней.
Нам нужна поддержка CGI-скриптов. Ставим, настраиваем, запускаем spawn-fcgi и fcgiwrap. У меня уже было готовое для collectd.
Сам CGI-скрипт
Читать полностью »
Балансировка входящих соединений на iptables
2013-03-21 в 9:33, admin, рубрики: condition, iptables, mark, балансировка, метки: condition, iptables, mark, балансировкаПредположим, что у вас есть некий сервис, принимающий входящие соединения и возникла задача балансировки нагрузки и/или отказоустойчивости.
В общем виде схема выглядит так:
клиент ----> балансировщик ---> бэкенд (сервис)
Готовых балансировщиков под конкретные нужды множество. Например, nginx — отличный балансировщик для веб-приложений, haproxy для tcp-соединений.
