Производительный рекурсивный DNS сервер

GNU/Linux

У Вас может быть идеально настроено конечное сетевое оборудование, полный порядок в кластерах, могут быть пустыми магистрали и не нагруженное оборудование ядра сети, но если у Вас плохо работает DNS, то Ваши клиенты будут недовольны.

Отсюда следует простой вывод — Ваши рекурсивные DNS сервера должны быть всегда доступны и в состоянии обслужить запросы клиента.

Все статьи о настройке производительного DNS сервера начинаются примерно так: «давайте померяемся различными параметрами различных рекурсивных DNS серверов и выберем из них самый-самый, и будет нам счастье». Могу сказать заранее, счастье таким методом наступит, но не на долго.

Следующим шагом идёт наращивание мощностей самого сервера. Данным методом счастье тоже достигается, но при стабильном росте абонентской базы оно быстро заканчивается.
Читать дальше

GUFW — простые команды iptables через gui

Security
Рекомендую новичкам, которые не освоили iptables, или любителям гуя. gufw (Gui For the Uncomplicated Firewall) — гуй для ufw. Хотя с его помощью нельзя применить все гибкости и тонкости iptables, но простые правила по запрету/разрешению входящего/исходящего трафика с определеных айпи и портов вполне возможны. Описывать много не надо, потому покажу (так же ради пробы, отпишитесь в комменты) маленький скринкаст.


Читать дальше

Поиск и обработка P2P трафика

Заметки
Пиринговая сеть (P2P от англ. peer-to-peer – равный к равному) – это компьютерная сеть, основанная на равноправии участников. В такой сети отсутствуют выделенные серверы, а каждый узел является как сервером так и клиентом одновременно. Такая организация сети позволяет сохранить работоспособность при любом количестве и любом сочетании доступных узлов.

Иногда приходится отфильтровать и блокировать трафик пиринговых сетей, таких например как BitTorrent и eDonkey. Я думаю это головная боль не одного системного администратора так как в большинстве случаев заблокировать его не так то просто как может показаться на первый взгляд. Зачастую этот трафик не привязывается к определенному порту, поэтому появляется необходимость искать более интеллектуальные способы определения трафика нежели просто блокирование одного порта на фаерволе. Здесь описан модуль к iptables который автоматически обнаруживает сигнатуру пирингового трафика, который в дальнейшем можно блокировать. Модуль называется ipp2p

Ipp2p


iptables -i eth0 -A FORWARD -m ipp2p --ipp2p -j LOG --log-level=6 --log-prefix “p2p_net: ” "ipp2p: "
iptables -i eth0 -A FORWARD -m ipp2p --ipp2p -j DROP
iptables -i eth0 -A FORWARD -p udp -m ipp2p --bit -j DROP
iptables -i eth0 -A FORWARD -p tcp -m ipp2p --edk -j DROP


Читать дальше

Блокирование DNS DDoS при помощи пакета fail2ban

Security
Вы уже устали от кучи сообщений от logcheck'а об откаpе в обслуживании запросов к named? Ниже будет написано как ограничить себя от DDoS к named'у при помощи пакета fail2ban.

События о которых идёт речь выглядят так:

System Events
=-=-=-=-=-=-=
Jan 21 06:02:13 www named[32410]: client 66.230.128.15#15333: query (cache)
+'./NS/IN' denied


Однако следует отметить, что в большинстве случаев ip-адрес источника может быть сфальсифицирован. Каждый узел в бот-сети может послать один или несколько пакетов в секунду к DNS-серверу. Сервер в свою очередь отвечает сообщением об ошибке в запросе сфальсифицированному адресу, вызывая отказ в обслуживании у источника.

Устали от того, что ваш DNS сервер используется в качестве оружия в чужих DDoS-атаках? Попробуйте установить себе пакет fail2ban (Debian GNU/Linux). Оригинальный сайт проекта www.fail2ban.org.

Сначала установим себе пакет fail2ban. По умолчанию будут отслеживаться и блокироваться только атаки на службу ssh. Это неплохая идея. В пакете fail2ban могут контролироваться и другие службы, более того можно самостоятельно написать обработчики и фильтры к нему, но обсуждение этих вопросов выходит за рамки данной статьи.
aptitude install fail2ban

После того как пакет будет установлен проверяем содержимое файла /etc/fail2ban/jail.conf.
В конце файла находим описание которое надо произвести в настройках сервера named чтобы fail2ban смог нормально обрабатывать события для службы DNS.

Читать дальше

Round Robin балансирование IP адресов исходящих соединений средствами iptables

Руководство
Данное решение отличается изящностью, так как реализует все средствами iptables.
Синтаксис: на машине, которая должна балансировать исходящие соединения,
выполнить скрипт balancer.sh:

sh ./balancer.sh

Выключить балансер:

sh ./balancer.sh off

Замечание: При работе создается временный файл ~/balancer-rules.sav,
используемый для уборки за собой при выключении балансера.

balancer.sh

#!/bin/bash

Читать дальше

iptables 1.4.8 с поддержкой conntrack zones

GNU/Linux
Вышел релиз iptables 1.4.8 — интерфейса к Linux-фаерволу netfilter.

Наиболее интересным новшеством данного релиза является поддержка conntrack zones — механизма, позволяющего корректно отслеживать соединения в случае подключения хоста к двум или более сетям с одинаковыми адресными пространствами через разные сетевые интерфейсы. Такая ситуация является достаточно редкой, но тем не менее довольно неприятной, особенно в том случае, если вы не можете ничего изменить.

Читать дальше