Запис усіх дій за допомогою iptables

IptablesЗа замовчуванням у ньому є правило фільтрації в режимі "Прийняти все", тобто воно дозволяє і вимикає всі підключення від або до нашого ПК, але що, якщо ми хочемо записати всю інформацію про підключення до наших серверів або ПК?

 

 

Примітка: Процедура, яку я зараз виконаю, дійсна на 100% у дистрибутивах Debian/На основі Debian, так що якщо ви використовуєте Slackware, м'яка фетровий капелюх, CentOS, OpenSuSe, процедура може бути не однаковою, ми рекомендуємо прочитати та зрозуміти систему входу в систему вашого дистрибутива перед застосуванням описаного нижче. Існує також можливість встановити rsyslog у ваш дистрибутив, якщо він доступний у сховищах, хоча в цьому посібнику syslog також пояснюється в кінці.

Поки що все добре, але щоКуди ми будемо входити? Легко, у файлі «/var/log/firewall/iptables.log", що не існує, поки ми самі не повіримо в це ...

1- Треба створити файл «iptables.log»Усередині папки«/ var / log / firewall»Що ми повинні її створити, бо вона теж не існує.

mkdir -p / var / log / firewall /
торкніться /var/log/firewall/iptables.log

2- Дозволи, дуже важливо ...

chmod 600 /var/log/firewall/iptables.log
корінь chown: adm /var/log/firewall/iptables.log

3- Rsyslog, демон для входу в Debian, читає конфігурацію з «/etc/rsyslog.d«, Тому ми повинні створити файл, який я буду називати«брандмауер.conf»З якого rsyslog може інтерпретувати те, що ми хочемо зробити.

торкніться /etc/rsyslog.d/firewall.conf

А всередині ми залишаємо його доглядати обережно наступний вміст:

: msg, містить, "iptables:" - / var / log / firewall / iptables.log
& ~

Я не маю ні найменшого уявлення,що роблять ці пару рядків?

Перший рядок перевіряє записані дані для рядка «iptables: »І додає у файл«/var/log/firewall/iptables.log«

Другий - зупиняє обробку інформації, записаної за попереднім зразком, щоб її не продовжували надсилати в «/ var / log / messages".

4- Обертаючи файл журналу, з logrotate.

Ми повинні творити в межах «/etc/logrotate.d/" файл "брандмауер»Який міститиме такий вміст:

/var/log/firewall/iptables.log
{
повернути 7
щодня
розмір 10M
dateext
відсутній
створити 600 кореневих адм
повідомлення про в'язницю
стискати
затримка стиснення
побудувати
invoke-rc.d rsyslog reload> / dev / null
кінцевий сценарій
}

Для того, щоб обертати журнали 7 разів перед їх видаленням, 1 раз на день, максимальний розмір журналу 10 МБ, стиснений, датований, без помилок, якщо журнал не існує, створений як root.

5- Перезапустіть, як і всі щасливі закінчення xD, демон rsyslog:

/etc/init.d/rsyslog перезапустити

Як довести, що все, що працює?

Давайте спробуємо SSH.

Встановлювати OpenSSH (на випадок, якщо їх не встановлять ...):

apt-get install install openssh-server

Перш ніж продовжувати, ми повинні запустити як root в консолі:

iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4

Запуск цього оператора iptables запише достатньо інформації, щоб показати, що те, що ми зробили, не даремно. У цьому реченні ми просимо iptables реєструвати всю інформацію, яка потрапляє до неї через порт 22. Для тестування з іншими службами просто змініть номер порту, наприклад 3306 для MySQL, просто наведіть приклад, якщо вам потрібна додаткова інформація, прочитайте цей дуже добре задокументований підручник і на основі типових прикладів найбільш часто використовуваних конфігурацій.

SSH використовує порт 22 за замовчуванням, тому ми будемо тестувати з ним. Встановивши openssh, ми підключаємося до нього.

ssh pepe @ test-server

Щоб побачити журнали, хвостом вирішуєте цю проблему:

tail -f /var/log/firewall/iptables.log

У цьому прикладі Iptables реєструють все, день, час, ip, mac тощо, що робить його чудовим для моніторингу наших серверів. Маленька допомога, яка ніколи не зашкодить.

Тепер, беручи до уваги, що ми використовуємо інший дистрибутив, як я вже говорив на початку, він зазвичай використовується rsyslog, або щось подібне. Якщо ваш дистрибутив використовує системний журнал, щоб виконати ту саму вправу, ми повинні трохи відредагувати / змінити syslog.conf

nano /etc/syslog.conf

Додайте та збережіть такий рядок:

kern.warning /var/log/firewall/iptables.log

А потім, знаєте, щасливий кінець:

/etc/init.d/sysklogd перезапустити

Результат: той самий.

На цьому все, у наступних публікаціях ми будемо продовжувати грати з iptables.

Посилання:

Примусово iptables реєструватися в іншому файлі

Введіть iptables в окремий файл за допомогою rsyslog

Підручник з конфігурації Iptables у системах Fedora / RHEL


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

8 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   FerreryGuardia - сказав він

    Чудово підходить цей «міні-посібник» для BOFH, який ви робите потроху

  2.   Корацукі - сказав він

    Дякую, потроху я дам деталі та дані iptables, про які мені довелося знати зі своєї роботи, які іноді нам потрібні і дуже погано пояснюються в Інтернеті, все користувачем ... xD

    1.    KZKG ^ Гаара - сказав він

      Користуючись нагодою, вітаю Вас учасником member
      Ви дійсно маєте БАГАТО внести свій внесок, ви маєте справді просунуті знання про мережі, системи, брандмауери тощо, тож я буду (я) одним із багатьох читачів, які у вас будуть ха-ха-ха.

      Вітаю і ну ... ти знаєш, що б там не було 😀

    2.    ісар - сказав він

      Я з нетерпінням чекаю цих предметів ^^

  3.   Хьюго - сказав він

    Давай Корацукі, я не знав, що ти відвідував цей блог.

    До речі, інший варіант реєстрації активності брандмауера використовує пакет ulogd, який зроблений людьми проекту netfilter для полегшення відокремлення цього типу слідів (дозволяє зберегти їх по-різному). Я зазвичай використовую такий підхід. Користуватися ним просто, наприклад:

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   Корацукі - сказав він

    Мені доведеться дати F5 на посаду, спосіб роботи Ulogd мені підходить, навіть MySQL реєструє тип: D.

  5.   MSX - сказав він

    Гарний пост, так продовжуйте.

  6.   хінолоко - сказав він

    Привіт шефе, як справи?
    Не могли б ви допомогти мені?
    Оскільки я не отримую підручника, і він чистіший за воду, я не знаю, де я помиляюся