Назад | Перейти на главную страницу

Что еще нужно, чтобы iptables мог войти в этот созданный мной файл?

Я хочу создать файл iptables.log который регистрирует все попытки DROP и вторжения. Вот что я сделал, шаг за шагом:

1) В моем файле правил iptables я поместил следующее:

-A INPUT -j LOG --log-level 4 --log-ip-options --log-prefix "iptables: "

-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP

# and then the other rules to open up SSH

Тогда я использую iptables-restore применить изменения.

2) Я создал файл iptables.conf в пределах /etc/rsyslog.d/, с этим правилом внутри:

:msg, startswith, "iptables: " -/var/log/iptables.log
& ~

3) В пределах /etc/rsyslog.d/50-default.conf, Я поставил это:

#iptables
kern.warning /var/log/iptables.log

4) Я перезапускаю rsyslog демон.

Но, похоже, этого недостаточно для достижения моей цели. Что еще нужно сделать?

Кроме того, я должен сделать правило для -A OUTPUT -j LOG также или это бесполезно?

Это не немедленный элемент, а скорее аспект «очистки», который является просто хорошей привычкой.

Я рекомендую настроить ротацию журналов, чтобы вы не заполняли раздел журнала новым файлом журнала. Большинство сервисов помещают файл конфигурации в /etc/logrotate.d/. А ведение журнала пакетов может быть ВЕСЬМО болтливым.

Поскольку это новый файл журнала, вам придется добавить его к существующему, например к /etc/logrotate.d/rsyslog.conf.

Это сработало для нас (Debian 6), просто включив дополнительное правило в /etc/rsyslog.d/ и сохранив без изменений файл rsyslog.conf.

Мы подтвердили, что правила каталогов выполняются «до» основного файла rsyslog.conf, а символ «& ~» заставляет совпадающие записи прекращать поиск по следующим правилам.

Это файл в /etc/rsyslog.d/ с

:msg, startswith, "Firewall: " -/var/log/firewall.log
& ~

выполнил эту работу, так как имел также запись для kern.warning, как я понимаю, будет дублировать правила.

В нашем случае правила iptables создаются брандмауэром CSF, поэтому, возможно, проблема в этом. Правила брандмауэра выглядят так

19    2140  113K LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP_IN Blocked* '