iptablesПо подразбиране той има правилото за филтриране в режим "Приемам всички", тоест позволява и изключва всички връзки от или към нашия компютър, но какво, ако искаме да регистрираме цялата информация за връзките, направени към нашите сървъри или компютри?
Забележка: Процедурата, която сега ще изпълня, е валидна на 100% в дистрибуциите Debian/Базиран на Debian, така че ако използвате Slackware, Fedora, 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 root: 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 / дневник / съобщения".
4- Завъртане на регистрационния файл с logrotate.
Трябва да творим в рамките на «/etc/logrotate.d/" файлът "защитна стена»Което ще съдържа следното съдържание:
/var/log/firewall/iptables.log
{
завъртете 7
ежедневно
размер 10M
дататекст
missingok
създаване на 600 корен адм
notifempty
компрес
delaycompress
постротате
invoke-rc.d rsyslog презареждане> / dev / null
краен скрипт
}
За да завъртите дневниците 7 пъти, преди да ги изтриете, 1 път на ден, максимален размер на регистрационния файл 10MB, компресиран, датиран, без да се дава грешка, ако дневникът не съществува, създаден като root.
5- Рестартирайте, както всички щастливи краища на xD, демона rsyslog:
/etc/init.d/rsyslog рестартиране
Как да докажа, че всичко това работи?
Нека опитаме SSH.
инсталирам OpenSSH (в случай, че нямат инсталиран ...):
apt-get инсталирате openssh-сървър
Преди да продължим, трябва да стартираме като 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
За да видите регистрационните файлове, с опашка решавате този проблем:
опашка -f /var/log/firewall/iptables.log
Iptables, в този пример, регистрират всичко, ден, час, ip, mac и т.н., което го прави чудесен за наблюдение на нашите сървъри. Малка помощ, която никога не боли.
Сега, като се има предвид, че използваме друг дистрибутор, както казах в началото, той обикновено се използва rsyslog, или нещо подобно. Ако вашата дистрибуция използва Syslog, за да изпълним същото упражнение, трябва да го редактираме / модифицираме леко syslog.conf
nano /etc/syslog.conf
Добавете и запазете следния ред:
kern.warning /var/log/firewall/iptables.log
И тогава, знаете ли, щастливият край:
/etc/init.d/sysklogd рестартиране
Резултат: същото.
Това е всичко засега, в бъдещи публикации ще продължим да играем с iptables.
Референции:
Принуждавайте iptables да влизат в друг файл
Влезте iptables в отделен файл с rsyslog
Урок за конфигуриране на Iptables за системи Fedora / RHEL
Страхотно това «мини-ръководство» за BOFH, което правите малко по малко
Благодаря, малко по малко ще давам подробности и данни за iptables, които трябваше да знам от работата си, които понякога ни трябват и са много зле обяснени в интернет, всичко от потребителя ... xD
Използвам възможността да ви приветствам член 😀
Наистина имате МНОГО да допринесете, имате наистина напреднали познания за мрежи, системи, защитни стени и т.н., така че аз ще бъда (аз съм) един от многото читатели, които ще имате хахаха.
Поздрави и добре ... знаете, каквото и да е необходимо 😀
Очаквам с нетърпение тези елементи ^^
Хайде Корацуки, не знаех, че сте посещавали този блог.
Между другото, друг вариант на регистриране на активността на защитната стена използва пакета ulogd, който е направен от хората от проекта netfilter, за да се улесни отделянето на този тип следи (позволява да се запазят по различни начини). Това е подходът, който обикновено използвам. Използването му е лесно, например:
iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"
Ще трябва да дам F5 на публикацията, Ulogd начинът на работа ми пасва, дори MySQL регистрира типа: D.
Добър пост, продължете така.
Здравей шефе, как върви?
Бихте ли ми помогнали?
Тъй като не получавам урока и е по-бистър от водата, не знам къде греша