Xakep#137-2010

Page 129

FWBuilder: универсальный GUI для настройки iptables, ipfw, pf и ipf

Файервол как он есть # iptables -A INPUT -m psd -j DROP

Ê ñîæàëåíèþ, â ïàêåòíûõ ôèëüòðàõ ipfw è pf íè÷åãî ïîäîáíîãî íåò, íî ýòî íå áåäà, ïîòîìó êàê ñêàíèðîâàíèþ ïîðòîâ õîðîøî ïðîòèâîäåéñòâóåò äåìîí PortSentry è òîò ñàìûé scanlogd.

ЗАПРЕТ ICMP-СООБЩЕНИЙ Õîðîøåé ïðàêòèêîé òàêæå ÿâëÿåòñÿ çàïðåò ICMP-ñîîáùåíèé, êîòîðûå ìîãóò âûäàòü äîïîëíèòåëüíóþ èíôîðìàöèþ î õîñòå èëè áûòü èñïîëüçîâàíû äëÿ âûïîëíåíèÿ ðàçëè÷íûõ çëîíàìåðåííûõ äåéñòâèé (íàïðèìåð, ìîäèôèêàöèè òàáëèöû ìàðøðóòèçàöèè). Íèæå ïðèâåäåíà òàáëèöà ñî ñïèñêîì âîçìîæíûõ òèïîâ ICMP-ñîîáùåíèé: Типы ICMP-сообщений 0 — echo reply (echo-îòâåò, ïèíã) 3 — destination unreachable (àäðåñàò íåäîñÿãàåì) 4 — source quench (ïîäàâëåíèå èñòî÷íèêà, ïðîñüáà ïîñûëàòü ïàêåòû ìåäëåííåå) 5 — redirect (ðåäèðåêò) 8 — echo request (echo-çàïðîñ, ïèíã) 9 — router advertisement (îáúÿâëåíèå ìàðøðóòèçàòîðà) 10 — router solicitation (õîäàòàéñòâî ìàðøðóòèçàòîðà) 11 — time-to-live exceeded (èñòå÷åíèå ñðîêà æèçíè ïàêåòà) 12 — IP header bad (íåïðàâèëüíûé IPçàãîëîâîê ïàêåòà) 13 — timestamp request (çàïðîñ çíà÷åíèÿ ñ÷åò÷èêà âðåìåíè)

14 — timestamp reply (îòâåò íà çàïðîñ çíà÷åíèÿ ñ÷åò÷èêà âðåìåíè) 15 — information request (çàïðîñ èíôîðìàöèè) 16 — information reply (îòâåò íà çàïðîñ èíôîðìàöèè) 17 — address mask request (çàïðîñ ìàñêè ñåòè) 18 — address mask reply (îòâåò íà çàïðîñ ìàñêè ñåòè)

Êàê âèäèøü, îòâåò íà íåêîòîðûå ICMP-ñîîáùåíèÿ ìîæåò ïðèâåñòè ê ðàçãëàøåíèþ íåêîòîðîé èíôîðìàöèè î õîñòå, â òî âðåìÿ êàê äðóãèå — ïðèâåñòè ê ìîäèôèêàöèè òàáëèöû ìàðøðóòèçàöèè, ïîýòîìó èõ íåîáõîäèìî çàïðåòèòü. Îáû÷íî âûõîä âî âíåøíèé ìèð ðàçðåøàþò ICMP-ñîîáùåíèÿì 0, 3, 4, 11 è 12, â òî âðåìÿ êàê íà âõîä ïðèíèìàþò òîëüêî 3, 8 è 12. Âîò êàê ýòî ðåàëèçóåòñÿ â ðàçëè÷íûõ áðàíäìàóýðàõ: Запрет опасных ICMP-сообщений Linux> iptables -A INPUT -p icmp \ -icmp-type 3,8,12 -j ACCEPT Linux> iptables -A OUTPUT -p icmp \ -icmp-type 0,3,4,11,12 -j ACCEPT FreeBSD> ipfw add allow icmp \ from any to $outif in \ via $outif icmptype 3,8,12 FreeBSD> ipfw add allow icmp \ from $outif to any out \ via $outif icmptype 0,3,4,11,12 OpenBSD> pass in inet proto icmp \ from any to $outif \

Áîðüáà ñ óòå÷êîé ðåñóðñîâ Ïðè èñïîëüçîâàíèè äåéñòâèÿ TARPIT îáÿçàòåëüíî äîáàâëÿé â êîíôèã ñëåäóþùåå ïðàâèëî, èíà÷å «ïðîâèñøèå» ñîåäèíåíèÿ áóäóò ñúåäàòü ðåñóðñû ïðè îáðàáîòêå ïîäñèñòåìîé conntrack: # iptables -t raw -I PREROUTING -p tcp --dport 25 -j NOTRACK XÀÊÅÐ 06 /137/ 10

icmp-type { 3, 8, 12 } keep state OpenBSD> pass out inet proto icmp \ from $outif to any \ icmp-type { 0, 3, 4, 11, 12 } \ keep state

Ïðè æåëàíèè òû ìîæåøü çàïðåòèòü âåñü ICMPòðàôèê, âêëþ÷àÿ ïèíã-çàïðîñû, íî ýòî ìîæåò ïîâëèÿòü íà êîððåêòíîñòü ðàáîòû ñåòè.

БРУТФОРС Ðàçâåäàâ èíôîðìàöèþ îá îòêðûòûõ ïîðòàõ è ÎÑ, âçëîìùèê ïðåäïðèíèìàåò ïîïûòêè ïðîíèêíîâåíèÿ â ñèñòåìó, êîòîðûå ìîãóò áûòü îñíîâàíû íà ýêñïëóàòàöèè äûð â ñåðâèñàõ, ëèáî íà ïîäáîðå ïàðîëåé. Ïðåäîòâðàòèòü âîçìîæíîñòü âçëîìà ñåðâèñîâ áðàíäìàóýð íàì íå ïîìîæåò, îäíàêî çàòîðìîçèòü ïðîöåññ ïåðåáîðà ïàðîëåé — ëåãêî. Äëÿ ýòîãî ïðèìåíÿþòñÿ âîçìîæíîñòè ïî îãðàíè÷åíèþ êîëè÷åñòâà ïàêåòîâ, ïðèøåäøèõ íà ìàøèíó ñ îäíîãî IP-àäðåñà. Âîò êàê ýòî ìîæíî ñäåëàòü ñ ïîìîùüþ iptables: Защита от брутфорса с помощью iptables # Öåïî÷êà äëÿ ïðîâåðêè ñîåäèíåíèé iptables -N brute_check # Áëîêèðîâêà àäðåñà, åñëè çà 60 ñåêóíä îí èíèöèèðîâàë áîëåå 2-õ ñîåäèíåíèé iptables -A brute_check -m recent \ --update --seconds 60 \ --hitcount 3 -j DROP # Åñëè íåò — ðàçðåøàåì ñîåäèíåíèå è çàíîñèì àäðåñ â ñïèñîê iptables -A brute_check -m recent \ --set -j ACCEPT # Î÷èùàåì öåïî÷êó INPUT iptables -F INPUT # Îòïðàâëÿåì â öåïî÷êó brute_check âñåõ, êòî ïûòàåòñÿ ïîäêëþ÷èòüñÿ ê 22-ìó ïîðòó iptables -A INPUT -m conntrack \ --ctstate NEW -p tcp \ --dport 22 -j brute_check iptables -P INPUT DROP

Òî æå ñàìîå ìîæíî ïðîäåëàòü è ñ èñïîëüçîâàíèåì pf:

127


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.