Pull to refresh
  • by relevance
  • by date
  • by rating

Используем 2+ провайдера (первая часть)

Configuring Linux
Здесь я хочу рассказать о настройке шлюза на Linux'e, для использования 2-х (и более) провайдеров интернета.
Для настройки мы будем использовать возможности iptables и утилиты ip из пакета, который как правило называется iproute2. А для решения поставленной задачи пакеты мы будем маршрутизировать на основе «policy routing» (т.е. маршрутизация на основе политик), а не «destination routing» (маршрутизация на основе адреса получателя).
Итак, приступим
Total votes 60: ↑50 and ↓10 +40
Views46.4K
Comments 38

DNS Amplification (DNS усиление)

Information Security
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →
Total votes 179: ↑179 and ↓0 +179
Views81.3K
Comments 61

Используем 2+ провайдера (вторая часть)

Configuring Linux
Продолжим настройку нашего шлюза, про который я говорил в предыдущей статье. Напомню, там мы настроили правила маршрутизации, теперь нам надо заняться iptables. Сейчас мы настроим сеть состоящую из шлюза и сервера. На шлюзе будет работать SSH и DNS, а сервер у нас будет виндовый на нем у нас RDP и SMTP. Сеть будет настроена таким образом, что через любой из внешних айпишников мы сможем подключаться к любому из серверов, а SMTP сервер будет выходить наружу через основного провайдера.
Читать дальше...
Total votes 34: ↑29 and ↓5 +24
Views23.8K
Comments 10

Организация съема трафика с Linux сервера для последующего анализа

Configuring Linux
Задача: Организовать съем трафика с сервера и передачу его по сети на другой сервер для последующего анализа. В простейшем случае — реализации средствами ОС Linux функции SPAN коммутаторов Cisco. Подобная задача возникает, если мы хотим провести анализ содержимого не на существующем сервере, а на выделенном сервере для анализа. В простейшем случае реализуем схему, изображенную на рисунке.

В этой схеме, мы проверяем весь проходящий через шлюз трафик пользователя. Для анализа можно использовать систему обнаружения вторжений, например Snorm.
Читать дальше →
Total votes 33: ↑29 and ↓4 +25
Views8K
Comments 13

IPTables и удаленный доступ в сеть

Lumber room
Итак, сеть настроена, пакеты ходят, интернет работает, права режутся — в общем момент, когда можно перевести дух и заняться «доводкой» сервера для удобства не пользователя, но администратора. А что хочется правильному системному администратору? Конечно же! Чтобы его рабочие обязанности отнимали у него как можно меньше свободного времени. А что для этого служит лучше всего — естественно удаленный доступ.

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

А что делать, если за одним IP-адресом «скрыта» обширная сеть с несколькими серверами, к каждому из которых может понадобиться доступ?
Читать дальше →
Total votes 12: ↑6 and ↓6 0
Views1.9K
Comments 11

Один фаервол для IPv4 и IPv6 (iptables и ip6tables)

Configuring LinuxSystem administrationIPv6
После настройки IPv6 появляется задача настройки фаервола для нового протокола. Ниже я предлагаю свой скрипт, который позволяет настроить фаервол сразу для IPv4 и IPv6. Хотя общих правил для обоих фаерволов получилось не так уж и много, мне всё-таки удобнее править один общий файл, чем два разных.

Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views11.7K
Comments 8

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

Configuring Linux
Вы уже устали от кучи сообщений от 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.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views33.3K
Comments 10

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Information Security
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

Ваш сайт будет правильно индексироваться во время атаки, что позволит сохранить позиции в выдаче поисковых систем. Особенно актуально для сайтов с большими SEO бюджетами.

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Total votes 193: ↑179 and ↓14 +165
Views62.4K
Comments 78

Защита игрового сервера Source Dedicated Server от атак небольшими UDP-пакетами

Lumber room
Translation
Существует ряд эксплойтов которые Valve почему-то пока не фиксит, а хакеры любители пытаются ими воспользоваться чтобы создавать дискомфортную игру игрокам на сервере. В результате применения данных атак резко возрастает пинг на отдельном игровом сервере и играть становится невозможно. При этом другие игровые сервера запущенные на этом же физическом сервере могут работать в нормальном режиме.

Рассмотрим один из способов борьбы с данным видом вандализма.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views2.3K
Comments 5

Vuurmuur — боевые коты на страже вашей сети

Configuring Linux
image

Vuurmuur — за таким «кошачьим» именем скрывается довольно мощная GUI надстройка для iptables. Основным отличием от других iptables-надстроек является наличие консольного интерфейса написанного на Ncurses. Поэтому администрирование всё также легко возможно посредством SSH или консоли. Vuurmuur умеет работать с шейпингом, поддерживает функции мониторинга трафика, ведёт отдельные логи, прекрасно работает как на 2.4 так и на 2.6 ядрах и даже «говорит» на русском.

Буквы, картинки, мультики...
Total votes 120: ↑107 and ↓13 +94
Views11.7K
Comments 73

dklab vzfirewall: простое управление firewall-ом в OpenVZ

System administration
Dklab vzfirewall — это утилита для OpenVZ, позволяющая конфигурировать firewall без утомительного ввода iptables-правил и без «завязки» на множество IP-адресов виртуальных машин. Главный принцип утилиты — быть настолько простой в использовании, насколько это возможно. Цель, которую я преследовал при создании утилиты, — избавить системного администратора от головной боли, связанной с конфигурированием iptables; надеюсь, у меня это хоть немного получилось.

Конечно, я понимаю, что вам может быть страшновато пробовать vzfirewall сразу на продакшен-сервере. Наверняка забудете какие-то порты открыть из нужных. Поэтому хороший момент, когда удобно «пощупать» vzfirewall, — это в момент установки нового сервера с OpenVZ (ну или на дев-сервере). Вот тогда-то уж можно развернуться.

Примеры


Листинг 0: Установка
cd /usr/sbin
wget http://github.com/DmitryKoterov/vzfirewall/raw/master/vzfirewall
chmod +x vzfirewall

Листинг 1: Файл /etc/sysconfig/vz-scripts/101.conf
Читать дальше →
Total votes 35: ↑28 and ↓7 +21
Views2.3K
Comments 14

Как перезагрузить сервер?

Configuring LinuxSystem administrationServer Administration
Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.
Читать дальше →
Total votes 93: ↑86 and ↓7 +79
Views113.8K
Comments 82

Прозрачное перенаправление почты через iptables

System administration
Заголовок можно продолжить:… или плавный перевод почты на другой сервер.
Недавно встала задача — реализовать возможность использования почтового сервера, не имеющего прямого выхода в интернет. Причем работать он должен вместо старого, который работает, естественно под другим IP-адресом.
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Views37.2K
Comments 10

Настройка роутинга для домашнего multihomed сервера

Configuring Linux
Tutorial
Сейчас наличие нескольких подключений к интернет на одном, в том числе и домашнем сервере — не редкость. Городские локалки, ADSL, 3G модемы… Добавим к этому сети домашние локальные и внешние виртуальные (VPN), и получим ядрёную смесь интерфейсов, между которыми необходимо роутить трафик, балансировать трафик между разными каналами в интернет (когда они есть), и переключаться с нерабочих каналов на рабочие (когда они отваливаются).

Судя по постам в инете, большинство людей, столкнувшихся с этой ситуацией, очень плохо представляет себе, как это настраивается. Надо отметить, что в линухе действительно управление роутингом весьма сложное и запутанное — следствие эволюционного развития и поддержки (частичной) совместимости. Я хочу описать принципы настройки роутинга multihomed серверов на конкретном, достаточно сложном, примере: на сервере три физических сетевых интерфейса (один в домашнюю локалку и два к ADSL-модемам), два ADSL-подключения (ADSL-модемы в режиме bridge, так что pppd поднимает этот же сервер) к разным провайдерам (одно со статическим IP, второе с динамическим), плюс VPN на сервер компании — итого шесть интерфейсов.

Тема достаточно сложная, поэтому для понимания материала потребуется хотя бы минимальное понимание работы роутинга (что такое default route и gateway), файрвола (маркировка пакетов, отслеживание соединений, связь между разными таблицами и цепочками файрвола и роутингом), pppd (скрипты ip-up/ip-down) и протоколов IP и TCP.
Читать дальше →
Total votes 136: ↑129 and ↓7 +122
Views27.6K
Comments 46

OpenDPI (определение типов трафика) + iptables

System administration
OpenDPI — библиотека для классификации трафика на основе технологии глубокого анализа пакетов (DPI — Deep Packet Inspection). Проект IPP2P более не поддерживается, и, в качестве замены, предлагает использовать именно OpenDPI. В отличие от IPP2P, основной целью которого является определение именно p2p трафика, OpenDPI поддерживает широкий набор различных протоколов. OpenDPI изначально спроектирован для очень низкого уровня ложных положительных срабатываний. В отличие от L7-filter не требует наложения патчей на iptables и ядро; работает в виде модуля ядра и библиотеки xtables. Также определения протоколов представляют собой не список регэкспов, а модули на C, что повышает быстродействие. Недавно для этой библиотеки была реализована поддержка iptables.
А теперь давайте попробуем использовать OpenDPI на практике.
Читать дальше →
Total votes 36: ↑32 and ↓4 +28
Views19.3K
Comments 16

Повышение производительности netfilter, использование ipset

System administration
iptables — интерфейс к файрволу Linux (netfilter). При большом количестве правил iptables нагрузка может быть достаточно высокой и создавать проблемы. В этой заметке я постараюсь описать, что влияет на производительность iptables и как ее повысить.
Читать дальше →
Total votes 70: ↑69 and ↓1 +68
Views32.3K
Comments 17

OpenWRT + Asus WL 520GU + Iptables. Разделяем LAN, DMZ и Internet

System administration
Всем привет!
Давеча возникла необходимость упрятать некоторый сервис в DMZ. Сервис этот крутится в W2K3, и мне не хотелось чтобы машина с OS Windows смотрела в интернет и в локальную сеть ни чем незащищенная(«виндовые» фаерволы просто идут лесом).
Помянуя успешный опыт работы с Asus WL 520GU и DD-WRT, решил пойти по проторенной дороге, но в качестве прошивки для роутера выбрал OpenWRT.
Схему работы связки можно увидеть на рисунке.

Итак, от слов перейдем к делу.
Кого заинтересовал, прошу под кат
Total votes 27: ↑24 and ↓3 +21
Views24.6K
Comments 54

Блокировка нежелательного DNS трафика

Configuring Linux


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

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

Читать дальше →
Total votes 41: ↑36 and ↓5 +31
Views33.4K
Comments 46

Failover файрвол на iptables

Configuring Linux
Sandbox
Чем же заняться админу в новогодние праздники, как не настройкой серверов!

В этой статье описан общий подход как можно:
— сделать кластер на iptables
— настроить кластер через GUI fwbuilder
— сохранить коннекты пользователей при failover при помощи conntrack-tools

Общее окружение в котором у меня работает такой кластер:
— Внутренняя сеть из backend и frontend серверов
— Блок внешних IP-адресов
— 2 сервера под кластер на базе linux (в моем случае Fedora 13 x64_86): fw1 и fw2 в режиме Master/Backup

Задачи кластера:
— шлюз для локальной сети
— публикация сервисов на внешнем блоке ip-адресов

В общем виде это работает так:
— за состоянием кластера следит служба ucarp и дергает нужные скрипты в случае failover
— служба conntrackd синхронизирует информацию о коннектах между серверами
— fwbuilder компилирует нужные скрипты для iptables

Под катом инструкция для сборки с напильником
Читать дальше →
Total votes 51: ↑45 and ↓6 +39
Views12.8K
Comments 10