LINUX.ORG.RU
ФорумAdmin

логи iptables


0

0

нужно записывать логи таблесов по портам.
делаю так:
iptables -t filter -A INPUT -p tcp -s 192.168.11.12 -d 192.168.11.1 --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp -s 192.168.11.12 -d 192.168.11.1 --dport 21 -j LOG --log-level debug
iptables -t filter -A INPUT -p tcp -s 192.168.11.12 -d 192.168.11.1 --dport 21 -j DROP
потом иду в /etc/syslog.conf
и пишу туда
kern.=debug                           /var/log/iptables.log
далее делаю 
service syslog restart
он благополучно рестартися.
Инфа по 21 порту сыпется в лог,НО сыпется и на устройство вывода тоже,то есть на экран, и , как следствие- локально на сервере работать невозможно, все время бегут строчки.
Как решить проблему.
и второй вопрос по логам:
возьмем туже ситуацию, мне надо логировать запросы на 21 порт.
написал правило с действием LOG, но сервак стал так тормозить, видимо на syslog нагрузка пошла большая. я еле отрубил, по полчаса команды обрабатывал. Как решить эту проблему ? ставил уровни логирования поменьше, то есть не debug, а там notice. 
А так задача стоит, логировать отдельно в каждый отдельный лог запросы по каждому порту, и избежать туда записей ядра, а то если ведь стоит уровень  info, то помимо лоирования сетевого взаимодействия будут писаться другие ядерные события, мне этого не нада, мне нада логировать только таблесы.
Как бы так бы что бы:
события по 22 порту в /var/log/iptables/port22.log
события по 21 порту в /var/log/iptables/port21.log
события по 80 порту в /var/log/iptables/port80.log
ну Вы меня поняли.
и т д......................

заранее всем спасибо за ответы.


 
anonymous

По первому вопросу: в /etc/syslog.conf: kern.=info /var/log/iptables

Действие LOG --log-level info

В /var/log/iptables правда будут некоторые сообщения ядра, но очень мало.

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

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

anonymous
()

>НО сыпется и на устройство вывода тоже,то есть на экран

в /etc/syslog.conf

Закоментировать/изменить строку с /dev/console

sdio ★★★★★
()

man iptables
/ULOG

man ulogd

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

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

ребят, спасибо, но я не гуру в иптаблес, надо срочно, я знаю таблесы на уровне drop,accept не более.

anonymous
()
Ответ на: комментарий от execve

что значит логировать только интересные события, типа отвергнутых и пр. Как это сделать. ?

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

Краткий пример настроек:


### Добавляем цепочки для логирования

# Цепочка "добавить в лог и пропустить"
iptables -X LOG_AND_ACCEPT
iptables -N LOG_AND_ACCEPT
iptables -A LOG_AND_ACCEPT -j ULOG --ulog-nlgroup 1 --ulog-prefix "ACCEPT"
iptables -A LOG_AND_ACCEPT -j ACCEPT


### Пропускаем и НЕ логируем пакеты из уже установленных соединений
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


### Пропускаем и логируем пакеты, инициирующие нужные нам соединения.

# Разрешаем входящий SMTP
iptables -A INPUT -p tcp --dport 25 -m state --state NEW -j LOG_AND_ACCEPT

# Разрешаем исходящий HTTP/HTTPS
iptables -A OUTPUT -p tcp -m multiport --dports 80,8080,8088,3128 -m state --state NEW -j LOG_AND_ACCEPT

# Разрешаем транзитный FTP
iptables -A FORWARD -p tcp --dport 21 -m state --state NEW -j LOG_AND_ACCEPT


### НЕ ЛОГИРУЕМ и убиваем спамообразные пакеты, засоряющие лог

# NetBIOS
iptables -A INPUT -p udp -m multiport --dport 137,138 -j DROP
iptables -A INPUT -p tcp -m multiport --dport 139,443 -j DROP
...


### Все остальные пакеты логируем и убиваем

# Логируем и убиваем входящие
iptables -A INPUT -j ULOG --ulog-nlgroup 1 --ulog-prefix "DROP INPUT"
iptables -A INPUT -j DROP

# Логируем и убиваем исходящие
iptables -A OUTPUT -j ULOG --ulog-nlgroup 1 --ulog-prefix "DROP OUTPUT"
iptables -A OUTPUT -j REJECT

# Логируем и убиваем транзитные
iptables -A FORWARD -j ULOG --ulog-nlgroup 1 --ulog-prefix "DROP FORWARD"
iptables -A FORWARD -j DROP


Затем настраиваешь демон ulogd, и он кидает все логи в нужные тебе файлы.

execve
()
Ответ на: комментарий от anonymous

Может еще это поможет:

iptables -A ... -m limit --limit 5/min -j LOG ...

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