Перейти к содержимому
Калькуляторы

Обнаружение клиентских атак на шлюзе провайдера

Что ж вы для таких маленьких программок используете perl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А netflow уже не катит? И смотреть на отдельной машине... Зачем сниферить на шлюзе...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну скрипт на коленке, побыстрому написан. Ответ очевиден.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

> Что ж вы для таких маленьких программок используете perl

 

Это напрягает?

 

> А netflow уже не катит?

 

Вопрос не в формате входных данных, а в их обработке.

На выходе должен быть список зараженных клиентов, предельно компактный, предельно информативный.

Если тестирование покажет, что вариант с tcpdump не ошибается, можно будет думать об оптимизациях.

 

> И смотреть на отдельной машине... Зачем сниферить на шлюзе...

 

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

 

> http://www.google.ru/#hl=ru&source=hp&...25c3a460f5d85eb

 

Много китайской болтологии, несколько коммерческих продуктов, кучка свободных "прими-сохрани-распечатай" на уровне flow-tools, пара красивых рисовалок.

Фактически, всё интересное собрано здесь: http://www.splintered.net/sw/flow-tools/

Но они не умеют говорить - "этот IP заражен, т.к. то-то и то-то".

 

Только не надо произносить слова "snort" ;-))

Изменено пользователем Ilya Evseev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так тут и предлагают писать фильтры. А для поиска завирусованных рилтайм не требуется. Тем более у меня шлюз Cisco, а там tcpdump нету...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто-нить ставил ?

 

http://software.klolik.org/smtp-gated/

С первого взгляда выглядит полезным (лучше чем всем заблокировать 25й порт), однако учитывая то что он должен стоять со всей обвязкой в виде кламава и спамассасина на нат-роутере , ибо в доках написано:

TPROXY MODE

Linux/netfilter tproxy module support. Not yet usable.

 

не применим в боевых условиях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Остальное, в принципе, терпит.

 

у меня шлюз Cisco, а там tcpdump нету...
Зеркалирование порта и запуск tcpdump без ключа "-p" спасут отца русской демократии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как нетрудно видеть из её описания, это просто Snort на LiveCD.

 

Snort не подходит по двум причинам:

 

1) он анализирует содержимое пакетов, т.е. работает слишком медленно,

 

2) он не анализирует _наборы_ пакетов (поправьте, если это не так),

т.е. если спам-бот одновременно установил много SMTP-соединений,

spamblock его тут же заблокирует, а snort пропустит.

 

=========================================================================

 

Посмотрел ntop. Штука приятная, рисует всякие интересные графики, начальство такие любит.

Если есть свободная машинка слушать зеркалированный порт,

или на шлюзе процессор занят меньше 50%, вполне можно использовать.

 

=========================================================================

 

Свежая версия обнаружителя вирусной активности для шлюзов выложена сюда:

http://sources.homelink.ru/virsniff/

 

Добавлены обнаружение ICMP-атак длинными пакетами (ключ "-I"),

и возможность указывать произвольный фильтр (ключ "-F") для быстрой проверки новых правил.

 

Примеры использования находятся в самом сценарии после "__END__".

Изменено пользователем Ilya Evseev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как нетрудно видеть из её описания, это просто Snort на LiveCD.

 

Snort не подходит по двум причинам:

 

1) он анализирует содержимое пакетов, т.е. работает слишком медленно,

 

2) он не анализирует _наборы_ пакетов (поправьте, если это не так),

т.е. если спам-бот одновременно установил много SMTP-соединений,

spamblock его тут же заблокирует, а snort пропустит.

Что мешает написать правило для SMTP?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так как речь прежде всего шла о резолве обратной зоны, то "топ-запрашивающих левые ip" надо проверить на попытки ходить по внутренней сети на эти самые ip... вдруг они провайдерскую сеть используют не по назначению.

 

Что касается "у нас нет желания менять ip для DNS...": Для хостинга стоит таки указывать не ip, а домен или вы никогда не планировали переезжать??? В локалке уж точно этот вопрос должен решаться через dhcp/etc, правда есть случай что у вас все клиенты юр.лица и у всех статические настройки - но тут тоже ничего сложного - можно сделать рассылку за месяц до внесения изменений. Впрочем, если разделить хостинговый DNS и локальный, то локальный менять-то и не требуется... Мысли в слух.

 

В целом, я таки против списка в первом топике. Назвались ISP - полезайте в кузов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть ещё ourmon, тоже красивые штуки рисует и простая. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а как внедрить spam-block на шлюз где используется pptp (mpd) , необходимо сниферить несколько сотен интерфейсов ng, что будет сущ доп нагрузкой, а учитывая, что используется нат, необходимо еще "внедрить" правила ipfw для divert пакетов на 25 порт

мне кажется, что в таком случае лучше использовать smtp-proxy и "просматривать" трафик уже на почтовом шлюзе

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

rdr inet proto tcp from (self:network) to !(self:network) port 25 -> 127.0.0.1 port 25 # transparent smtp proxy

Изменено пользователем Ivan_83

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а как внедрить spam-block на шлюз где используется pptp (mpd) , необходимо сниферить несколько сотен интерфейсов ng,

что будет сущ доп нагрузкой, а учитывая, что используется нат, необходимо еще "внедрить" правила ipfw для divert пакетов на 25 порт

мне кажется, что в таком случае лучше использовать smtp-proxy и "просматривать" трафик уже на почтовом шлюзе

В таком варианте spamblock должен следить не за внутренними интерфейсами, а за внешним.

В моём случае выбран внутренний, т.к. на нём отлавливаются даже те, у кого выход в Интернет закрыт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на внешнем интерфейсе , после нат ип будет системы и нечего не увидеть, с какого абона льется спам

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на внешнем интерфейсе , после нат ип будет системы и нечего не увидеть, с какого абона льется спам

Тогда остаётся только "ipfw log tcp from any to any 25 setup in" и проверка /var/log/security, но это уже извращение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

table <spammers_our> persist

block quick from <spammers_our>
pass in proto tcp from any to any port smtp (max-src-conn-rate 1/вычислять, overload <spammers_our> flush global)

 

и анализировать

pfctl -t spammers_our -Ts

тогда уж...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на внешнем интерфейсе , после нат ип будет системы и нечего не увидеть, с какого абона льется спам
Тогда остаётся только "ipfw log tcp from any to any 25 setup in" и проверка /var/log/security, но это уже извращение.

 

Тогда атаку замятят быстро. Машина под таким оверхедом помрет просто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

block quick from <spammers_our>

pass in proto tcp from any to any port smtp (max-src-conn-rate 1/вычислять, overload <spammers_our> flush global)[/code]

Во-первых, правила лучше поменять местами, чтобы продолжать засекать тех, кто уже заблокирован, но ещё не вылечился.

Во-вторых, spamblock имеет несколько порогов срабатывания, по умолчанию - от 5 запросов секунду до 1000 запросов в час,

поэтому для pf аналогом будет несколько таблиц и пар правил.

 

Тогда остаётся только "ipfw log tcp from any to any 25 setup in" и проверка /var/log/security, но это уже извращение.

Тогда атаку замятят быстро. Машина под таким оверхедом помрет просто.

Зависит от разгула спамеров. 5-6 сообщений в секунду погоды не сделают.

В любом случае, это крайний вариант, если невозможно использовать tcpdump или хотя бы pf.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

block quick from <spammers_our>

pass in proto tcp from any to any port smtp (max-src-conn-rate 1/вычислять, overload <spammers_our> flush global)[/code]

Во-первых, правила лучше поменять местами, чтобы продолжать засекать тех, кто уже заблокирован, но ещё не вылечился.

Во-вторых, spamblock имеет несколько порогов срабатывания, по умолчанию - от 5 запросов секунду до 1000 запросов в час,

поэтому для pf аналогом будет несколько таблиц и пар правил.

"Засекать" с целью?

 

Для амнистии вылеченных достаточно запустить expiretable

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для амнистии вылеченных достаточно запустить expiretable
Нельзя автоматически снимать блокировку через час или через неделю.

Нужно убедиться, что клиент больше не заражён.

Иногда ему для лечения и часа достаточно, а иногда и недели мало :)

 

Spamblock после обнаружения и блокировки на какое-то время (по умолчанию 1 час)

прекращает следить за заблокированным клиентом, чтобы не было потока уведомлений,

но если через час клиент (уже заблокированный) продолжает пытаться спамить,

техподдержка снова получает уведомление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собственно способ, который был мною найден где-то на просторах инета

iptables -A FORWARD -p tcp --syn --dport 25 -m connlimit --connlimit-above 10 -j LOG --log-level info --log-prefix "spamer ?"
iptables -A FORWARD -p tcp --syn --dport 25 -m connlimit --connlimit-above 10 -j REJECT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собственно способ, который был мною найден где-то на просторах инета

iptables -A FORWARD -p tcp --syn --dport 25 -m connlimit --connlimit-above 10 -j LOG --log-level info --log-prefix "spamer ?"
iptables -A FORWARD -p tcp --syn --dport 25 -m connlimit --connlimit-above 10 -j REJECT

Насколько я понимаю, это ограничение на 10 одновременных соединений.

Полезно для защиты SMTP-сервера, чтобы свободные сокеты не закончились.

Для шлюза не годится, т.к. спамер может устанавливать соединения по очереди.

Но spamblock его поймает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.