На жаль, не існує такого сценарію, який я коли-небудь бачив, який би міг запускатись у навчальному режимі або в пасивному режимі, вести журнал усього використання вашої мережі, беручи результати та створюючи фактичний брандмауер за допомогою iptables
своїх журналів.
Вашою найкращою ставкою буде починати просте і постійно продовжувати додавати різні шматки, коли ви почнете повністю розуміти, які послуги надає ваша система. Вам потрібно буде скористатись такими інструментами, netstat
щоб побачити, які порти використовуються для різних служб, які ви розміщуєте, а також які IP-адреси отримують доступ до них.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
ПРИМІТКА: У вищесказаному ви можете побачити, які сервіси у мене запущені на сервері, які приймають TCP-з'єднання, тобто вони "слухають" з'єднання в різних портах.
Починати з таких речей, як SSH (порт 22) і HTTP (порт 80), це не брайніє, якщо вони характерні для вашої системи, тому я б робив такі види послуг масово всі відразу. Для інших служб, таких як LDAP або NIS, ви можете зробити це більш контрольованим способом, переконуючись, що все не порушиться під час їх введення.
Такі інструменти, як FireHOL , Firewall Builder (fwbuilder) та eztables можуть бути корисними, коли ви атакуєте цей проект, оскільки вони надають хороший рівень абстракції від необхідності складати власні iptable
правила вручну, що може бути складним.
FireHOL
FireHOL - це мова (і програма для її запуску), яка створює захищені, надійні брандмауери будь-якої складності, з легких для розуміння, зрозумілих для людини конфігурацій.
приклад
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
fwbuilder
Fwbuilder - це унікальний графічний інструмент брандмауера, який дозволяє користувачеві створювати об’єкти, а потім перетягувати ці об’єкти в брандмауэры, будувати потужну систему безпеки для одного ПК або мережі ПК. Fwbuilder підтримує широкий спектр брандмауерів (Cisco ASA / PIX, iptables Linux, ipfilter FreeBSD, pf OpenBSD та багато іншого), тому його правила можна розгорнути на декількох платформах. Давайте розглянемо використання Fwbuilder в Linux, що може просто стати довічною справою з потужною системою безпеки.
приклад
eztables
Eztables дозволяє швидко налаштувати брандмауер, не торкаючись жодного iptables. Синтаксис правила брандмауера призначений для легкого читання та застосування.
Ось так ви дозволяєте всьому Інтернету отримати доступ до свого веб-сервера на TCP-порту 80:
allow_in any $eth0 any 80/tcp
Eztables покликаний бути простим, але потужним. Не має значення, чи хочете ви захистити свій ноутбук, налаштовуєте домашній маршрутизатор або будуєте фірмовий брандмауер.
Використання Fail2Ban
Якщо на iptables
місці є рудиментарний брандмауер, ви, ймовірно, захочете отримати комплімент за допомогою інструменту, такого як Fail2Ban .
витяг
Fail2ban сканує файли журналів (наприклад, / var / log / apache / error_log) та забороняє IP-адреси, які показують шкідливі знаки - занадто багато відмов пароля, шукають подвиги тощо. Зазвичай Fail2Ban використовується для оновлення правил брандмауера для відхилення IP-адрес протягом певного часу, хоча будь-яка довільна інша дія (наприклад, відправлення електронного листа) також може бути налаштована. Fail2Ban поставляється з фільтрами для різних сервісів (apache, courier, ssh тощо).
Використання таких інструментів допоможе обмежити експозицію, яку доведеться терпіти вашій системі під час продовження її загартовування. Навіть після того, як ви досить впевнені, що ваша система була загартована, ви все одно можете продовжувати використовувати Fail2Ban як частину заходів безпеки.
Список літератури