LINUX.ORG.RU
ФорумAdmin

С какого IP пришел NEW-пакет на сетевой интерфейс


0

0

Настроил я себе интернет через GPRS, пустил себе через него аську и жил долго и счастливо целую неделю :) Предварительно я настроил firewall так, что все INPUT NEW-пакеты на интерфейс ppp0 DROP. Вчера произошла следующая неприятность - у меня за несколько часов "нарисовалось" 1.5 метра трафика извне (это по $1/мегабайт), тогда как обычно за день получалось 200-300 Kb максимум. Полагаю, что это кто-то сканировал порты или занимался чем-то подобным. Также мог оператор мобильной связи что-то сделать.

Вопрос заключается в следующем - как мониторить ситуации, когда с какого-то IP-адреса из интернет поступают пакеты со статусом NEW? Можно ли это реализовать в iptables? Как авоматизировать оповещение меня, что поступил пакет NEW с такого-то IP-адреса?

> Как авоматизировать оповещение меня, что поступил пакет NEW с такого-то IP-адреса?

нужно написать скрипт по крону который будет парсить лог-файл и в случае чего запускать определенную комманду

Cosmicman ★★
()

iptables -I INPUT -i ppp0 -m state --state NEW -j LOG
iptables -I INPUT -i ppp0 -m state --state NEW -j DROP

заставит писать в лог-файл пакеты со статусом NEW

Cosmicman ★★
()
Ответ на: комментарий от Cosmicman

Вот мои крайние настройки iptables:

#!/bin/sh

IPTABLES=/sbin/iptables

NETIF="eth0"

NETIF2="lo"

NETIF3="ppp0"

$IPTABLES -P INPUT DROP

$IPTABLES -F INPUT

$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -F OUTPUT

$IPTABLES -P FORWARD DROP

$IPTABLES -F FORWARD

$IPTABLES -t nat -F

$IPTABLES -A INPUT -i $NETIF -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -i $NETIF2 -j ACCEPT

$IPTABLES -A INPUT -i $NETIF3 -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -i $NETIF3 -m state --state NEW -j LOG --log-level emerg

echo -e "done.\n"

Логирование и оповещение ведется во все открытые консоли + в KDE открывается KWritter. Меня это вполне устраивает, так как я сразу
вижу проблему и могу адекватно среагировать (разорвать соединение например).

ushakov
() автор топика
Ответ на: комментарий от Cosmicman

> iptables -I INPUT -i ppp0 -m state --state NEW -j LOG
> iptables -I INPUT -i ppp0 -m state --state NEW -j DROP

Небольшая ошибка. Здесь используется команда insert, а это значит что
в цепочке INPUT правило DROP встанет перед правилом LOG, т.е. пакеты
не будут логироваться.

Следует выполнять команды в обратной последовательности:

iptables -I INPUT -i ppp0 -m state --state NEW -j DROP
iptables -I INPUT -i ppp0 -m state --state NEW -j LOG

VitalkaDrug ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.