Tűz ív
Tűzfal - az első védelmi vonal bármely szerverre, és annak megfelelő beállítása attól függ, hogy a támadó képes lesz, hogy menjen tovább, hogy kísérletet tesznek kerülhet a rendszerbe. Modern fáklya kínál különféle biztonsági mechanizmusok, mely segítségével elhagyhatja „out of business” 99% -a támadásokat. És mindezt anélkül, hogy drága berendezések és kereskedelmi szoftver.
A fő cél a hackerek -, hogy hozzáférjen a szerver parancs interpreter használni a képességeit a saját javukra. Leggyakrabban penetráció „templom” lyukakon keresztül a szolgáltatás keresztül vagy kiválasztása egy jelszót (brute force), hogy egyikük (például ssh).
port szkennelés
Jelenlétének kimutatására a veszélyeztetett szolgáltatások a gép, a támadó generál feltárása a szkenner port és a különböző biztonsági réseket kimutatási rendszer. Jellemzően a port scanner nmap használunk, amely képes beolvasni egy tucat különböző módon, és bizonyos esetekben képes azonosítani az operációs rendszer verzióját és szolgáltatások. Itt van egy lista a zászlók különösen népszerű nmap, amelyek általában a betörők:
Zászlók nmap, használt beolvasási
- -sT - hagyományos TCP-letapogatás kapcsolat megnyitása és az említett nyílás és annak befejezését;
- -b - SYN / ACK-scan kötés van törve után azonnal kérdés-válasz a csatlakozással;
- -su - UDP letapogatás;
- -Sf - scannelések ezzel flag beállítása FIN;
- -SX - leolvasó csomagokat a zászlók FIN, PSH és URG;
- -SN - scannelések nélkül létrehozott zászlókat.
A védelmi eljárás szkennelés egyszerű és ismert minden rendszergazda. Ez abban áll, egyszerű bezárását mindazokat a szolgáltatásokat, ne legyen látható a külső hálózat. Például, ha a gépen futó ssh-szolgáltatás, a szamba és apache, és a külvilág legyen látható, csak a web szerver a vállalati weboldal, a tűzfal lehet beállítani az alábbiak szerint:
Kezdeti beállítás iptables
outif = "eth1"
iptables -F
iptables -i $ outif -A INPUT \
-m conntrack \
--ctstate LÉTRE, KAPCSOLÓDÓ \
-j ACCEPT
iptables -i $ outif -A INPUT -p tcp \
--dport 80 -j ACCEPT
iptables -i $ outif -P INPUT DROP
iptables -i $ outif -P OUTPUT ACCEPT
Kezdeti beállítás ipfw
outif = "R L0"
ipfw hozzá teszi ip from any to any \
via lo0
ipfw hozzá teszi ip tőlem minden \
via $ outif
ipfw hozzá a TCP minden hozzám \
keresztül valósul $ outif
ipfw hozzá a TCP minden 80 \
nekem via $ outif
ipfw hozzá tagadja ip from any to any \
via $ outif
Kezdeti beállítás pf
outif = "R L0"
meghatározott jöhet a lo0
blokkolja az összes
elájulsz $ outif a $ outif \
bármely keep state
pass on $ outif proto minden \
a $ outif 80-as port
Mindhárom szabályrendszer nem ugyanaz a dolog - áthaladását lehetővé tevő bármely forgalom a visszacsatolási felületen (a loopback), hagyjuk, hogy a csomagok már korábban létrehozott kapcsolat (a például a böngésző is kap egy választ a kérést a távoli szerver), lehetővé tette a kezelés 80 perc port blokkolja az összes többit, és lehetővé teszi bármely csatlakozni a külső. Figyeljük meg, hogy ha az iptables és ipfw példákban már kifejezetten beállítva szabályok lehetővé teszik a csomagok fogadására már kialakult kapcsolatok (ki), abban az esetben, pf elég volt, hogy jelezze «keep state» itt rulesete engedélyező kimenő kapcsolatokat.
Általában egy ilyen rendszer, hogy megvédje a hálózati szolgáltatások ellenőrzésből és a penetráció működik, de mehetünk tovább, és személyre szabhatja a tüzet, hogy bizonyos típusú pásztázó általában nem teljesül. Technikailag nem tudjuk megtenni tekintetében hagyományos pásztázó (zászlók nmap „ST”, „-sS” és "-sU) egyszerűen azért, mert nincs semmi bűnöző, de nem szabványos vizsgálati típusokra, mint a„-kn” „-sf” és „-sX” generál csomagokat nem lehetett létrehozni a jogi alkalmazásokat.
Ezért kétség nélkül elutasítja hasonlók.
Módszerekkel foglalkozó egzotikus fajok szkennelés
# Ban FIN-scan
Linux> iptables -A INPUT -p tcp \
-m tcp \
--tcp-flags FIN, ACK FIN -j DROP
FreeBSD> ipfw hozzá elutasítja tcp from any to any \
Nem alakult tcpflags fin
# Ban X-scan
Linux> iptables -A INPUT -p tcp -m tcp \
--tcp-flags FIN, SYN, RST, PSH, ACK URG
FIN, SYN, RST, PSH, ACK URG \
-j DROP
FreeBSD> ipfw hozzá elutasítja tcp from any to any \
tcpflags fin, SYN, RST, PSH, ACK urg
# N-scanning tilalmat
Linux> iptables -A INPUT -p tcp -m tcp \
--tcp-flags FIN, SYN, RST, PSH, ACK URG NINCS -j DROP
FreeBSD> ipfw hozzá elutasítja tcp from any to any \
tcpflags! fin. szin. el először. PSH. ack. urg
Az OpenBSD, mind ezeket a sorokat lehet helyettesíteni egy egyszerű bejegyzés elején
/etc/pf.conf:
bozót minden
Irányelv bozót aktiválja a mechanizmus a normalizálás csomagok, amelyekben a töredezett csomagok egyesítettük, és csomagokat érvénytelen kombinációját zászlók dobni. Szintén egzotikus fajok szkennelés cserje védelmet nyújt a csalás és behatolásjelző rendszerek (kiküldetés erősen töredezett csomagok), valamint egyes DoS-támadásokat.
Hogy megvédje SYN / ACK-scan által kezdeményezett '-sS' nmap-zászló, fel tudjuk használni a módszert passzív operációs rendszer felderítése (OS Fingerprint), amely elérhető a pf tűzfal és iptables / netfilter (verzió óta 1.4.6). A hagyományos letapogatás ( „ST” flag), nmap a szabványos interfész az operációs rendszer aljzatok, így ez a vizsgálat szinte megkülönböztethetetlen a normál adatfolyam csomagok (lent, nézzük néhány különbség), de SYN / ACK letapogatás nmap generál csomagokat a saját, így van néhány jellemzője, hogy nekik hatalmat. Passzív OS kimutatási módszer azonosítását teszi lehetővé a csomagokat, és dobja őket a szokásos tűzfal szabályok:
OpenBSD> blokk gyorsan bármely os NMAP
Linux> iptables -I INPUT -p tcp -m OSF --genre NMAP \
-j DROP
Modul OSF iptables / netfilter tűzfal bázist használnak „lenyomatai”, összegyűjtjük és frissíti a fejlesztők OpenBSD (/etc/pf.os), így mindkét szabályt kell vezetnie ugyanazt az eredményt. Érdekes továbbá, és, hogy hatékonyan tudják ellensúlyozni a funkcióját meghatározó OS nmap segédprogram (flag „-O”).
Most védve szinte minden típusú szkennelés, amellett, hogy a hagyományos és a tompa „ST”. Hogyan lehet vele? Tény, hogy minden egyszerű. Portfigyelés tény könnyen látható egyszerűen elemzésével tűzfal naplók. Ha egy rövid ideig volt egy csomó kapcsolat a különböző portok - így beolvasott. Továbbra is csak át ezt az elképzelést, hogy a tűzfal szabályokat. Iptables, van egy nagy recept, ami blokkolja mindazokat, akik túl kitartó kopogás a külső portok:
Küzdelem szkennelés iptables
Ha a csomag xtables-addons tartalmazó fejlesztések patch-Omatic projekt, akkor kap hozzáférést a PSD modul (Port Scan érzékelés), eladta a kép alatt scanlogd démon. Minden korábbi vonalak könnyen helyettesíthető egy egyszerű szabályt:
# Iptables -A INPUT -m PSD -j DROP
Sajnos, a csomagszűrő ipfw és pf ilyet ott, de ez nem számít, mert ellensúlyozza a jó port szkennelés démon és PortSentry azonos scanlogd.
Ban ICMP-üzenet
Egy jó gyakorlat is tiltott ICMP-üzenetek, amelyek adhat további információt a gazda, vagy lehet használni, hogy végezze el a különböző rosszindulatú tevékenységek (mint például útválasztó tábla módosításokkal). Az alábbi táblázat egy listát a lehetséges ICMP-üzenetek típusai:
Mint látható, a válasz néhány ICMP-üzenetek vezethet bizonyos információk a gazda, míg a másik - módosításhoz vezet a routing tábla, így meg kell tiltani.
Jellemzően a hozzáférést a külvilággal engedélyezett ICMP-üzenetek 0, 3, 4, 11 és 12, míg a bemeneti be, hogy csak a 3., 8. és 12. Ez így is van végre a különböző tűzfalak:
Ban veszélyes ICMP-üzenet
Linux> iptables -A INPUT -p icmp \
-ICMP típusú 3,8,12 -j ACCEPT
Linux> iptables -A OUTPUT -p icmp \
-ICMP típusú 0,3,4,11,12 -j ACCEPT
FreeBSD> ipfw hozzá ICMP \
bármely a $ outif a \
via $ outif icmptype 3,8,12
FreeBSD> ipfw hozzá ICMP \
a $ outif bármelyike ki \
via $ outif icmptype 0,3,4,11,12
OpenBSD> pass inet proto ICMP \
bármely a $ outif \
ICMP típusú <3, 8, 12> keep state
OpenBSD> elájul inet proto ICMP \
a $ outif bármelyike \
ICMP típusú <0, 3, 4, 11, 12> \
keep state
Ha szükséges, akkor tiltsa le az összes ICMPtrafik beleértve a ping kéréseket, de ez hatással lehet a helyes működését a hálózat.
Elleni védelem brute force iptables
Ugyanez megtehető a használata pf:
Elleni védelem brute force segítségével pf
# Készítsen egy táblázatot a brute bontórúd
táblázat
# Blokk akik kap bele
blokk gyors származó
# Tegyen egy táblázatot bruteforcers aki kezdeményez kettőnél több kapcsolat portonként 22. perc
pass on $ ext_if inet proto tcp a $ outif \
port 22 flags S / SA keep state \
(Max-src-kapcs-os 60/2, \ túlterhelés
IPFW tűzfal nem rendelkezik elegendő alkalmassága, hogy hatékonyan szembeszálljanak a brute bontórúd, így a felhasználóknak meg kell használni a magas szintű eszközök, mint például a speciális PAM-modulok, behatolásjelző rendszerek és programok, mint sshguard.
Szerencsére, hogy megvédje az ilyen támadások ellen könnyen. Nem elég nyitott portok védtelen szolgáltatásokat a külvilág felé, és abban az esetben a hirtelen kell használni védelmi rendszerek szolgáltatások magukat (például az ssh bizonyítvány), vagy a mechanizmus „kopogtat az kikötők” (beszélni róla végén a cikk).
Linux> iptables -A INPUT -i $ outif \
-s 192.168.1.0/24 -j DENY
FreeBSD> ipfw hozzá tagadja ip \
192.168.1.0/24 bármelyike keresztül $ outif
OpenBSD> blokkolni a $ outif az \
192.168.1.0/24 bármely
Alternatív vagy kiegészítő védelmi intézkedéseket lehet (és kell) használni a különleges irányelv ipfw és pf és konfigurálja a Linux kernel:
Linux> echo 1> / proc / sys / net / ipv4 / conf / all / rp_filter
FreeBSD> ipfw hozzá tagadja ip from any to any nem antispoof a
OpenBSD> antispoof gyors for $ ext_if
közüzemi iptables
A cikk végén nézzük meg néhány érdekes lehetőségeket iptables / netfilter, amelyek hasznosak lehetnek a védő beavatkozással szemben szerver. Kezdjük egy távirányító mechanizmust a tűzfal, így a neve „knock a kikötőben» (port knoking). Ennek lényege az, hogy a tűzfal, hogy bizonyos műveleteket követően csatlakozni egy adott port. Az alábbiakban egy példa a szabályok, hogy a nyitott SSH port után 10 másodpercig a „kopogás” a 27520. port:
A második segédprogram iptables elosztva a csomagolásban xtables-addons (patch-o-matic), és TARPIT neve. Ez a művelet (ugyanaz, mint ACCEPT és tagadja), amely „lefagy” kapcsolat, ami nem teszi lehetővé a támadó oldalán közel. Connection csomagokat, melyek esnek TARPIT, biztonságosan telepítve, de az ablak méretét nullával egyenlő, hogy a távoli gép nem tud adatokat küldeni, idejük nagy erőforrásokat, és a kapcsolat lezárul csak egy timeout. TARPIT lehet használni vészhelyzet elleni DoS:
# Iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT
Vagy, hogy vezessenek be egy támadó félrevezető és anti-szkennerek
portok (csak a hagyományos TCP-szkennelés, 'ST'):
# Iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# Iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# Iptables -A INPUT -p tcp -m tcp -j TARPIT
Ezek a szabályok, hogy a megjelenése egy olyan rendszer, amelyben minden port nyitva van, de „Freeze”. Amikor próbál csatlakozni ezek közül bármelyik (kivéve 80 és 25) kapcsolat Ugyanezt az eredményt, de anélkül, hogy a „megereszkedett” vegyületek lehet elérni áltassuk akció, amely megfelelően reagál minden olyan kísérletet, hogy megindítja a kapcsolatot, de elküldi RST-csomagot választ az összes többi csomagot. Még több terei támadó KÁOSZ akkor egy akció, hogy véletlenszerűen aktivál egy két fent leírt intézkedések.
Ha elég a tudás és gondosan elolvassa a dokumentáció, akkor létrehozhat egy nagyon erős bástya, amelyre akkor nem csak kap Tacto. Modern tűzfalak, és különösen az iptables és pf, felajánl egy csomó betörésvédelmet hogy akkor kap teljesen ingyenes.
Fighting erőforrás szivárgás
Ha TARPIT lépéseket kell hozzáadni a következő szabályt a konfigurációban, vagy a „megereszkedett” a kapcsolat erőforrásokat feldolgozásakor alrendszer conntrack:
# Iptables -t nyers -I PREROUTING -p tcp --dport 25 -j NOTRACK
Itt található az ezt a cikket egy ismerősének: