Blocați traficul icmp către VPN-ul dvs. Cisco ACL pentru cei blocați

Blocați traficul icmp către VPN-ul dvs. Cisco ACL pentru cei blocați

Puteți afla cum să configurați MikroTik într-un curs online de la proprietarul acestei imprimante. Autorul cursului este un trainer certificat MikroTik. Puteți citi articolul pentru mai multe detalii.

Articolul arată cât de dificil este pentru companiile de energie să blocheze traficul ICMP.

ICMP - trandafir de măr

Mulți administratori de rețea sunt conștienți de faptul că Protocolul de comunicare cu interfață (ICMP) prezintă un risc de securitate și este supus blocării.Este adevărat că protocolul poate fi asociat cu probleme de securitate, iar unele dintre solicitări sunt de vină, dar sunt blocate. Nu are rost să blochezi tot traficul ICMP!

Traficul ICMP are multe funcții importante; Unele dintre ele sunt utile pentru depanare, în timp ce altele sunt necesare pentru o funcționare corectă. Mai jos sunt informații despre pașii importanți din protocolul ICMP de care știți. Apoi, gândește-te la cel mai bine să le treci prin bariera ta.

Echo este întrebat și Echo este rostit

IPv4 – Intrare eco (Tip8, Code0) și ieșire Eco (Tip0, Code0)
IPv6 – Intrare eco (Tip128, Code0) și ieșire Eco (Tip129, Code0)

Știm cu toții bine că ping-ul este unul dintre primele instrumente pentru găsirea și depanarea problemelor. Deci, dacă vă concentrați pe capacitatea dvs. de a procesa pachete ICMP, înseamnă asta că gazda dvs. este acum descoperită, sau altfel a dvs. nu mai ascultă portul 80 și nu forțează conexiunea la solicitările clientului? Desigur, blocați această altă solicitare dacă doriți cu adevărat ca DMZ-ul dvs. să fie între ele. Dacă blocați traficul ICMP în mijlocul graniței dvs., nu îl puteți proteja, dar eliminați sistemul dintr-un proces foarte complex de găsire și depanare („Vă rog, vă rog, care este poarta de acces la graniță?,” „ Nu, dar nu la fel.” Nu mă voi plictisi pentru puțin timp, pentru că Nu-mi spune nimic!”).

Amintiți-vă, puteți, de asemenea, să îi permiteți cântărețului să treacă direct băuturi; De exemplu, configurați-vă sistemul astfel încât conexiunile Echo din rețea să ajungă la conexiunea la Internet, iar conexiunile Echo de la Internet să treacă prin rețea, mai degrabă decât invers.

Fragmentarea pachetului este necesară (IPv4) / Pachetul prea mare (IPv6)

IPv4 - (Tip3, Cod4)
IPv6 - (Tip2, Cod0)

Aceste componente ale protocolului ICMP sunt chiar importante, cu excepția componentei importante Path MTU Discovery (PMTUD), care este o parte invizibilă a protocolului TCP. Permite două gazde să ajusteze valoarea TCP Maximum Segment Size (MSS) la o valoare compatibilă cu cea mai mică cale MTU între două destinații. Dacă pachetele trec prin traseu cu o unitate de transmisie maximă mai mică, nici managerul, nici proprietarul, și nu au capacitatea de a detecta acest conflict, atunci traficul va fi neobservat. Și nu veți înțelege că există o legătură cu canalul; Cu alte cuvinte, „vor veni zile vesele pentru tine”.

Nu fragmentați - ICMP nu va trece!

Transmiterea pachetelor IPv4 cu bitul Don't Fragment instalat (majoritatea dintre ele!) sau a pachetelor IPv6 (rețineți că în IPv6 nu există fragmentare de către routere), care sunt mari pentru transmiterea prin interfață, înainte ca routerul să trimită pachetul și va forma un răspuns la ruta de transmisie cu următoarele întrerupătoare ICMP: Fragmentare necesară ( Fragmentarea necesară), sau pachetul este prea mare ( Pachetul de asemenea mare). Deoarece confirmările cu aceste mesaje nu pot fi returnate expeditorului, este interpretabil că există confirmări despre livrarea pachetelor ACK ( Confirmare) în sprijinul retransmiterii/cheltuirii și un dispozitiv de retransmitere a pachetelor care vor fi, de asemenea, aruncate.

Este dificil de identificat cauza unei astfel de probleme și procesul de schimb de strângere de mână TCP funcționează normal, unele dintre pachetele din proces sunt mici, dar deoarece transmisia de date în masă se realizează doar, sesiunea de transmisie se blochează, deoarece rețeaua de transport și nu anulează notificarea cu privire la modificări.

Urmărirea rutei de livrare a pachetului

RFC 4821 a fost extins pentru a ajuta participanții la trafic să evite această problemă prin monitorizarea distribuției tuturor pachetelor. (Descoperire MTU cale (PLPMTUD). Standardul permite respectarea maximă a datelor (Unitate de transmisie maximă (MTU), care poate fi transmis prin protocol într-o singură iterație prin creșterea progresivă a dimensiunii maxime a blocului de date corespunzător (Dimensiunea maximă a segmentului (MSS)), Pentru a cunoaște dimensiunea maximă posibilă a pachetului fără nicio fragmentare pe ruta de la transmisie la recepție. Această funcționalitate schimbă importanța interceptării în timp util a răspunsurilor cu compromisuri la Protocolul de mesagerie inter-circuit (ICMP) și este disponibilă în majoritatea stivelor de dispozitive și sisteme de operare client. , din păcate, nu este la fel de eficientă precum este pentru a elimina complet datele aproximativ maxim posibil. Vă rugăm să ne informați că protocolul ICMP se va întoarce la dispozitivul de transmisie, bine?

Modificarea orei de transmitere a pachetelor

IPv4 - (Tip11, Cod0)
IPv6 - (Tip3, Cod0)

Traceroute este un instrument foarte util pentru depanarea conexiunilor de margine între două gazde, care descrie calea în detaliu.


Trimite un pachet din timpul vieții la un pachet de date pentru protocolul IP (Timp de trăit (TTL) egal 1 , astfel încât primul router să vă informeze despre informațiile (inclusiv adresa IP) despre modificarea duratei de viață a pachetului. Apoi trimite un pachet cu TTL 2 și așa mai departe. Această procedură este necesară pentru a identifica vulnerabilitatea pielii pe drumul de trecere a pungilor.

NDP și SLAAC (IPv6)

Solicitare router (RS) (Tip133, Cod0)
Publicitate pentru router (RA) (Tip134, Cod0)
Solicitare vecină (NS) (Tip135, Cod0)
Anunț pentru vecini (NA) (Tip136, Cod0)
Redirecționare (Tip137, Cod0)

În timp ce IPv4 folosește Address Resolution Protocol (ARP) pentru a configura nivelurile 2 și 3 ale modelului OSI edge, IPv6 utilizează o abordare diferită, Neighbor Discovery Protocol (NDP). NDP oferă mai multe funcții, inclusiv descoperirea routerului, descoperirea prefixelor, segregarea adreselor și multe altele. NDP, StateLess Address AutoConfiguration (SLAAC) vă permite să configurați dinamic o gazdă într-o rețea, similar conceptului Dynamic Host Configuration Protocol (DHCP) (deși DHCPv6 este mai subtil go keruvannya).

Aceste cinci tipuri ICMP trebuie blocate în mijlocul limitei dvs. (nu în afara perimetrului), astfel încât protocolul de transfer de date IP să funcționeze corect.

Numerotarea tipurilor ICMP

Protocolul de comunicare interfață (ICMP) conține o varietate de mesaje care sunt identificate prin câmpul „tip”.

Tip Nume Specificație
0 Echo Răspuns
1 Nealocat
2 Nealocat
3 Destinație indisponibilă
4 Stingere sursă (învechit)
5 Redirecţiona
6 Adresă de gazdă alternativă (învechit)
7 Nealocat
8 Ecou
9 Publicitate la router
10 Solicitare router
11 Timp depășit
12 Problema parametrilor
13 Timestamp-ul
14 Răspuns marcaj temporal
15 Solicitare de informații (învechit)
16 Răspuns la informații (învechit)
17 Solicitare de mască de adresă (învechit)
18 Adresă Mască răspuns (învechit)
19 Rezervat (pentru securitate) Solo
20-29 Rezervat (pentru experimentul de robustețe) ZSu
30 Traceroute (învechit)
31 Eroare de conversie a datagramei (învechit)
32 Redirecționare gazdă mobilă (învechit) David_Johnson
33 IPv6 Unde ești (învechit)
34 IPv6 Sunt aici (învechit)
35 Solicitare de înregistrare mobilă (învechit)
36 Răspuns de înregistrare mobil (învechit)
37 Solicitare nume de domeniu (învechit)
38 Răspuns nume de domeniu (învechit)
39 SKIP (învechit)
40 Photoris
41 Mesaje ICMP utilizate de protocoale experimentale de mobilitate, cum ar fi Seamoby
42 Solicitare Echo extinsă
43 Răspuns Echo extins
44-252 Nealocat
253 Experimentul 1 în stil RFC3692
254 Experimentul 2 în stil RFC3692
255 Rezervat

Câteva cuvinte despre schimbul de fluiditate

Deși notificările ICMP, precum cele descrise în articol, pot fi și mai scumpe, rețineți că generarea tuturor necesită o oră de procesor pe routerele dvs. și generează trafic. Chiar îți dai seama că irosești 1000 de ping-uri pe secundă prin firewall-ul tău în caz de urgență? De ce să nu te ocupi de traficul normal? Probabil ca nu. Limitați debitul între aceste tipuri de trafic ICMP după cum doriți; Acest pic vă poate ajuta să vă protejați limitele.

Citiți, urmăriți și înțelegeți

Vrahovayuchi, după ce a discutat despre acele pachete ICMP „blocați sau nu blocați”, mai întâi aduce confuzie, super-verificare și diferențe, vă încurajez să continuați să discutați acest subiect în mod independent. Sunt o mulțime de mesaje pe această pagină, vă respect, pentru o mai bună înțelegere a problemelor, ar trebui să petreceți o oră citindu-le. Asigurați-vă că îl alegeți pe cel care se potrivește cel mai bine nevoilor dvs.

MikroTik: unde ar trebui să-l apăs?
Cu toate avantajele sale, produsele companiei MikroTik au un minus - există o mulțime de informații despre dezvoltarea sa și este departe de a fi întotdeauna de încredere. Este recomandat ca acesta să fie verificat de limba rusă, unde totul este adunat, logic și structurat – curs video „ Configurarea echipamentului MikroTik" Cursul include 162 de lecții video, 45 de experimente de laborator, autotestarea alimentelor și note. Toate materialele vor fi pierdute de la tine fără linii. Începutul cursului poate fi revizuit fără costuri prin anularea cererii de pe pagina cursului. Autorul cursului este un trainer certificat MikroTik.

Blocarea mesajelor ping în sistemul de operare poate preveni atacurile de inundare a pachetelor ICMP, iar majoritatea sistemelor folosesc acest serviciu pentru monitorizarea online (monitorizarea sistemului). În subiectul meu „Blocați mesajele Ping (ICMP) din Unix/Linux”, vă voi spune cum să îl blocați.

Blocarea PING pe server este o problemă, deoarece serverul suferă în mod constant de orice atac DoS pentru funcția PING suplimentară. Cu IPTables activat, putem transfera pur și simplu pachetele ICMP pe server. Înainte de a începe, este necesar să facem o declarație despre cele precum Iptables pe Linux. Iptables este un sistem de ecran de frontieră cu un set de reguli care controlează pachetele de intrare și de ieșire. Începerea în Iptables funcționează fără reguli, puteți crea, adăuga, edita reguli.

Ping conexiuni prin iptables

Explicații ale anumitor parametri din iptables care sunt necesari pentru crearea regulilor de gestionare a pachetelor ICMP:

R: Adaugă reguli.
-D: Vezi regula din tabel.
-p: Opțiune pentru a specifica protocolul (de icmp).
-icmp-type: Opțiune pentru inserarea tipului.
-J: Du-te la lance.

Mai jos voi indica fundul.

Cum să blochezi PING pe server cu notificarea despre avertisment?
În acest fel, puteți bloca adesea PING din cauza notificării despre Portul de destinație inaccesibil. Adăugați noi reguli Iptables pentru a bloca PING de la notificări despre anulare:

# iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

bloc PING pe server fără nicio notificare cu privire la modificări.
Pentru aceasta avem nevoie de comanda pentru IPtabels:

# iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP # iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP

Blochează toate pachetele ICMP de intrare și de ieșire de pe server.

Permite Ping vikorivoyuchi iptables

Dacă ați blocat ping-ul pe server și nu știți cum să reveniți. Apoi îți voi spune imediat cum să-l câștigi. Dar nu ezitați să adăugați următoarea regulă la IPtables:

# iptables -A INTRARE -p icmp --icmp-type echo-request -j ACCEPT # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

Aceste reguli permit trecerea pachetelor ICMP de la server la altul.

Blocarea Ping folosind parametrii Kernel

De asemenea, putem bloca ping-urile din rețelele wireless folosind parametrii kernelului. Puteți bloca conexiunile ping fie temporar, fie definitiv, iar mai jos puteți vedea cum se face.

Bloc de timp Ping
Puteți bloca semnalele de ping pentru un timp, vikoryst și ataca echipa

# echo „1” >

Pentru a debloca această echipă, alăturați-vă următoarelor:

# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all

Zaboroniti Ping vzagali
Puteți bloca ping-ul unei linii adăugând următorul parametru la fișierul de configurare:

# vim /etc/sysctl.conf

notez:

[...] net.ipv4.icmp_echo_ignore_all = 1 [...]

sysctl este folosit pentru a modifica parametrii kernelului în momentul înregistrării, unul dintre acești parametri poate fi „demonul ping”, dacă doriți să activați ping, atunci trebuie doar să faceți clic pe pictograma:

# sysctl -w net.ipv4.icmp_echo_ignore_all=1

Acum încercați să dați ping la mașină, nu există rezultate pozitive, nu-i așa? Pentru a reactiva Ping, utilizați următoarele:

# sysctl -w net.ipv4.icmp_echo_ignore_all=0

W va fi verificat dacă trebuie să modificați vreo setări.

Acum alăturați următoarea comandă, astfel încât să o puteți remedia rapid fără a reimplementa sistemul:

# sysctl -p

# sysctl --system

Axis noua mea configurație:

# cd /usr/local/src && wget http://site/wp-content/uploads/files/sysctl_conf.txt

Și apoi vă puteți deconecta:

# cp /usr/local/src/sysctl_conf.txt /etc/sysctl.conf

Aceasta completează subiectul „Blocați mesajele Ping (ICMP) pe Unix/Linux”.

Cum îmi pot configura computerul Windows 2000/XP/2003 pentru a bloca pachetele Ping? Windows 2000/XP/2003 poate introduce un mecanism de securitate IP numit IPSec (Securitate IP). IPSec este un protocol conceput pentru a proteja pachetele individuale TCP/IP atunci când sunt transmise printr-o rețea.

Cu toate acestea, nu vom intra în detalii despre funcționarea dispozitivului IPsec, deoarece pe lângă criptare, IPSec vă poate proteja și serverul sau stația de lucru cu un mecanism similar cu un firewall.

PING este blocat pe un singur computer

Pentru a bloca toate pachetele PING de pe un computer, trebuie să creați o politică IPSec care blochează tot traficul ICMP. Pentru a începe, verificați ce spune computerul dvs. la cererea ICMP:

Pentru a configura un singur computer, trebuie să introducem următoarele chei:

ConfigurabilListe de filtrare IP și acțiuni de filtrare

  1. Deschideți fereastra MMC (Start > Run > MMC).
  2. Adăugați programul de completare IP Security and Policy Management.
  1. Selectarea computerului pe care îl aveți face obiectul acestei politici – de exemplu, este un computer local. Faceți clic pe Închidere, apoi faceți clic pe OK.
  1. Faceți clic dreapta pe Politici de securitate IP din jumătatea stângă a consolei MMC. Selectați Gestionați listele de filtrare IP și acțiunile de filtrare.
  1. Nu trebuie să configurați sau să creați un filtru IP pentru ICMP (un protocol care utilizează PING), deoarece un astfel de filtru este deja în spatele definiției – All ICMP Traffic.

Cu toate acestea, puteți configura un filtru IP simplu, de exemplu, pentru a vă proteja computerul de toate IP-urile, pe lângă mai multe melodii. Într-unul dintre articolele noastre viitoare dedicate IPSec, vom arunca o privire mai atentă la crearea filtrelor IP, rămâneți la curent pentru actualizări.

  1. În fereastra Gestionați listele de filtre IP și acțiunile de filtrare, uitați-vă la filtrele dvs. și apoi faceți clic pe fila Gestionați acțiunile de filtrare. Acum trebuie să adăugăm o acțiune pentru filtrul care blochează traficul, faceți clic pe Adăugare.
  1. În prima fereastră, faceți clic pe Următorul.
  2. În câmpul Filter Action Name, introduceți Block și faceți clic pe Next.
  1. În Opțiuni generale de acțiune de filtrare, selectați Blocare, urmat de Următorul.
  1. Accesați fereastra Gestionați listele de filtre IP și acțiunile de filtrare și uitați-vă la filtrele dvs. și la orice altceva, faceți clic pe Închidere. Puteți adăuga oricând filtre și opțiuni pentru filtre.

În viitorul apropiat, politica IPSec va fi configurată și remediată.

Configurarea politicii IPSe

  1. Din aceeași consolă MMC, faceți clic dreapta pe Politici de securitate IP și selectați Creare politică de securitate IP.
  1. Sari peste urările primarului făcând clic pe Următorul.
  2. În câmpul IP Security Policy Name, introduceți numele dvs. personal, de exemplu „Block PING”. Faceți clic pe Următorul
  1. În fereastra Secure Connection Requests, debifați caseta de selectare Active the Default Response Rule. Faceți clic pe Următorul
  1. Bifați caseta de selectare Change Power și faceți clic pe Terminare.
  1. Trebuie să adăugăm filtre IP și toate filtrele la noua politică IPSec. Pentru noua politică IPSec, faceți clic pe Adăugare
  1. Faceți clic pe butonul Următorul.
  2. În fereastra Tunnel Endpoint, accesați opțiunea Promoții și faceți clic pe Următorul.

Firewall-ul este prima linie de protecție a oricărui server și, dacă este configurat corespunzător, trebuie menținut pe loc, astfel încât atacatorul să poată trece prin încercările sale de a pătrunde în sistem. Incendiile de astăzi promovează mecanismele de securitate inutile care pot ține 99% dintre atacatori din acțiune. Și totul fără a fi nevoie să achiziționați software proprietar sau comercial scump.

Scopul tuturor atacatorilor este de a refuza accesul la interpretul de comandă al serverului pentru a le exploata capabilitățile în propriul lor interes. Cel mai adesea, pătrunderea în „sfântul sfintelor” are loc cu ajutorul directoarelor din servicii sau prin selectarea parolei (forță brută) la unul dintre ele (de exemplu, ssh).

Scanare porturi

Pentru a detecta prezența serviciilor problematice pe mașină, atacatorul efectuează recunoaștere avansată folosind un scanner de porturi și diverse sisteme de detectare a scurgerilor. Aflați cum este utilizat scanerul de porturi de către nmap, care poate scana în zeci de moduri diferite și, în unele cazuri, poate detecta versiuni și servicii ale sistemului de operare. Aceasta este o listă de instrumente nmap deosebit de populare pe care hackerii le numesc vikory:

Prapori nmap, care este utilizat la scanare

  • -sT - în primul rând scanare TCP pentru conexiune suplimentară la portul indicat și finalizare;
  • -sS - scanare SYN/ACK, conexiunea este deschisă imediat după primirea conexiunii;
  • -sU – scanare UDP;
  • -sF - scanare în pachete din ENsign-ul instalat;
  • -sX - scanare în pachete din steagurile instalate FIN, PSH și URG;
  • -sN – scanare în pachete fără a introduce steaguri.

Metoda de scanare este simplă și accesibilă oricărui administrator de sistem. Soluția este să închideți pur și simplu toate serviciile, așa cum se vede din exterior. De exemplu, dacă mașina rulează servicii ssh, samba și apache și din lumea exterioară puteți vedea doar un server web cu o pagină web corporativă, atunci ecranul de frontieră poate fi configurat astfel:

Pochatkov a configurat iptables

outif="eth1"
iptables -F
iptables -i $outif -A INTRARE \
-m conttrack\
--ctstate ESTABLISHED,RELATED \
-j ACCEPT
iptables -i $outif -A INTRARE -p tcp \
--dport 80 -j ACCEPT
iptables -i $outif -P INPUT DROP
iptables -i $outif -P IEȘIRE ACCEPT

Configurare Pochatkov ipfw

outif="rl0"
ipfw add allow ip from any to any \
prin lo0
ipfw adauga permite ip de la mine la orice \
prin $outif
ipfw add permit tcp de la oricare pentru mine \
stabilit prin $outif
ipfw add allow tcp din orice 80 \
la mine prin $outif
ipfw adăugați deny ip de la orice la orice \
prin $outif

Pochatkove ajustare pf

outif="rl0"
setați skip pe lo0
blocheaza tot
leși pe $outif de la $outif \
la orice stat de păstrare
transmiteți $outif proto de la orice \
la portul $outif 80

Toate cele trei seturi de reguli funcționează la fel - permit trecerea oricărui trafic prin interfața loopback, permit recepția pachetelor care au fost deja instalate (astfel încât, de exemplu, browserul să poată respinge un răspuns la o solicitare către un server la distanță), ele permit b zverenya prin portul 80, blocând și permițând orice conexiuni. Vă rugăm să rețineți că în aplicațiile iptables și ipfw am stabilit în mod clar regulile pentru a permite recepția pachetelor care au fost deja instalate, apoi în caseta pf pentru care a fost suficient să indicați „starea de păstrare” la rețeaua de control, ceea ce permite orice conexiune de weekend.

Zagalom, o astfel de schemă de protecție a serviciilor de frontieră împotriva scanării și pătrunderii funcționează miraculos, dar putem merge înainte și regla focul astfel încât oamenii care văd scanarea în incendiu să nu fie vikonieni. Din punct de vedere tehnic, nu putem lucra cu acest tip de scanare (nmap „-sT”, „-sS” și „-sU”) pur și simplu pentru că nu există nimic criminal în el, despre tipurile nestandard de scanare, cum ar fi „-sN” , " -sF" și "-sX" generează pachete care nu au putut fi create de suplimente legale.

Prin urmare, fără nicio umbră de îndoială, aruncăm astfel de gânduri.

Metode de combatere a speciilor exotice

# gard de scanare FIN
Linux> iptables -A INPUT -p tcp\
-m tcp\
--tcp-flags FIN,ACK FIN -j DROP
FreeBSD>
nu stabilit tcpflags fin
# gard de scanare X
Linux>
--tcp-flags FIN,SYN,RST,PSH,ACK,URG
FIN,SYN,RST,PSH,ACK,URG\
-j CĂDARE
FreeBSD> ipfw adaugă respinge tcp de la orice la orice \
tcpflags fin, syn, rst, psh, ack, urg
# Fence N-scan
Linux> iptables -A INPUT -p tcp -m tcp\
--tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE –j DROP
FreeBSD> ipfw adaugă respinge tcp de la orice la orice \
tcpflags !fin, !syn, !rst, !psh, !ack, !urg
În OpenBSD, toate aceste rânduri pot fi înlocuite cu o simplă scriere în cob
/etc/pf.conf:
freca în toate

Directiva scrub activează mecanismul de normalizare a pachetelor, atunci când pachetele fragmentate sunt aruncate, iar pachetele cu o combinație inacceptabilă de steaguri sunt aruncate. Pe lângă tipurile exotice de scanare, scrub vă permite să vă protejați de sistemele de detectare a intruziunilor înșelătoare (prin trimiterea de pachete foarte fragmentate) și de diferite tipuri de atacuri DoS.

Pentru a ne proteja împotriva scanării SYN/ACK inițiate folosind flag-ul nmap „-sS”, putem folosi metoda de amprentă a sistemului de operare pasiv (OS Fingerprint), disponibilă în firewall-urile pf și iptables/netfilter (începând cu versiunea 1.4.6). În timpul scanării inițiale (semnul „-st”) nmap utilizează interfața socket standard a sistemului de operare, astfel încât o astfel de scanare nu poate interfera cu fluxul pachetelor inițiale (vom analiza activitățile de acest tip mai jos informații), în timpul Scanarea SYN/ACK nmap formează pachetele în mod independent, apoi se simte o miros de orez, deoarece par a fi un djerelo. Metoda de detectare pasivă a sistemului de operare vă permite să identificați pachetele și să le aruncați folosind regulile standard de firewall:

OpenBSD> blocați rapid din orice sistem NMAP
Linux> iptables -I INPUT -p tcp -m osf --gen NMAP \
-j CĂDARE

Modulul osf al firewall-ului iptables/netfilter conține o bază de date proprietară de biți, colectate și actualizate de furnizorii OpenBSD (/etc/pf.os), care este responsabil pentru aducerea acestor reguli la aceleași rezultate. Există și acelea care vă permit să contracarați eficient funcțiile specifice sistemului de operare ale utilitarului nmap (semnul „-O”).

Acum suntem protejați de toate tipurile de scanare, pe lângă standardul și „-st”. Cum să ieși din ea? De fapt, totul este simplu. Faptul de scanare porturi poate fi observat cu ușurință prin simpla analiză a jurnalelor de firewall. Dacă într-o perioadă scurtă de timp nu au existat conexiuni pe diferite porturi, înseamnă că am fost scanați. A fost imposibil să transferăm această idee în regulile firewall-ului. Pentru iptables există o rețetă simplă care blochează pe toți cei care accesează portul care nu funcționează:

Luptă pentru scanări pentru ajutor iptables

# Verificați dacă nu se lovește un port care nu funcționează (10 pe an)

--seconds 3600 --hitcount 10 --rttl -j RETURN
# Un alt control pentru lovirea într-un port nefuncțional (2 per monedă)
iptables -A INPUT -m recent --rcheck \
--seconds 60 --hitcount 2 --rttl -j RETURN
# Introduceți adresele celor care bat pe listă
iptables -A INPUT -m recent --set
# Eliberăm pachete tuturor celor care au depășit limita
Conectivitate
iptables -P INPUT -j DROP

Prin instalarea pachetului xtables-addons, care este direcționat către proiectul patch-omatic, ni se interzice accesul la modulul PSD (Port Scan Detect), implementat ca imagine a demonului scanlogd. Toate rândurile din față pot fi înlocuite cu ușurință printr-o regulă simplă:

# iptables -A INPUT -m psd -j DROP

Din păcate, filtrele de pachete ipfw și pf nu au nimic de acest fel, dar nu contează, deoarece scanarea portului este bine protejată de demonul PortSentry și de același scanlogd.

Gard Icmp-raport

De asemenea, este o practică bună să interceptați mesajele ICMP care pot oferi informații suplimentare despre gazdă sau pot fi utilizate pentru a preveni diverse activități rău intenționate (de exemplu, modificarea tabelului de rutare). Mai jos este un tabel cu o listă de tipuri posibile de notificări ICMP:

Tastați notificarea ICMP

  • 0 - ecou răspuns (ecou-reply, ping)
  • 3 - destinație inaccesabilă
  • 4 - stingerea sursei
  • 5 - redirecționare
  • 8 - cerere ecou (solicitare ecou, ​​ping)
  • 9 - reclamă la router
  • 10 - solicitarea routerului
  • 11 - depășit timpul de viață (sfârșitul duratei de viață a pachetului)
  • 12 - Antet IP greșit (antet pachet IP incorect)
  • 13 - cerere de marcaj temporal (cereți valoarea oră a medicului)
  • 14 - răspuns marcaj temporal (răspuns la oră)
  • 15 - cerere de informații (cere informații)
  • 16 - răspuns informativ
  • 17 - cerere de mască de adresă (furnizează masca de delimitare)
  • 18 - adresa masca raspuns

Ca urmare, răspunsurile la mesajele ICMP pot duce la dezvăluirea anumitor informații despre gazdă, precum și la modificarea tabelului de rutare, astfel încât acestea trebuie protejate.

Setați ieșirea pentru a permite mesajele ICMP 0, 3, 4, 11 și 12, acceptând în același timp doar 3, 8 și 12 ca intrare.

Îngrădirea mesajelor ICMP nesigure

Linux> iptables -A INPUT -p icmp\
-icmp-tip 3,8,12 -j ACCEPT
Linux> iptables -A IEȘIRE -p icmp\
-icmp-tip 0,3,4,11,12 -j ACCEPT
FreeBSD> ipfw add allow icmp \
de la orice la $outif în \
prin $outif icmptype 3,8,12
FreeBSD> ipfw add allow icmp \
de la $outif la orice out \
prin $outif icmptype 0,3,4,11,12
OpenBSD> trece în inet proto icmp \
de la oricare la $outif \
icmp-type ( 3, 8, 12 ) păstrează starea
OpenBSD> distribui inet proto icmp \
de la $outif la orice \
tip-icmp (0, 3, 4, 11, 12)\
păstrează starea

Din acest motiv, puteți bloca tot traficul ICMP, inclusiv solicitările ping, dar acest lucru poate afecta și corectitudinea procesului de monitorizare.

Forta bruta

După ce a obținut informații despre deschiderea porturilor și a sistemului de operare, atacatorul va încerca să pătrundă în sistem, care se poate baza pe exploatarea ușilor în servicii sau pe selectarea parolelor. Un firewall nu ne va ajuta să depășim puterea unui serviciu diabolic, dar este ușor să modificați procesul de căutare a parolei. De ce este posibil să se schimbe numărul de pachete care au ajuns pe mașină de la aceleași adrese IP? Axa poate fi obținută folosind iptables:

Apărați-vă împotriva forței brute pentru ajutor cu iptables

# Lancer pentru verificarea conexiunii
iptables -N brute_check
# Blocați adresa dacă aveți peste 60 de ani
secunde inițiind mai mult de 2 conexiuni

--update --secunde 60\
--hitcount 3 -j DROP
# Orice - este permisă conectarea
introduceți adresa pe listă
iptables -A brute_check -m recent\
--set -j ACCEPT
# Curăţarea clemei INPUT
iptables -F INPUT
# Trimis către Lancer brute_check
toți cei care doresc să se conecteze înainte
al 22-lea port

--ctstate NOU -p tcp \
--dport 22 -j brute_check
iptables -P INPUT DROP

Puteți câștiga același lucru din wiki-ul pf:

Apărare împotriva forței brute pentru ajutor pf

# Creați un tabel pentru forțatorii bruti
masa persista
# Blochăm pe toți cei care o distrug
blocați rapid din
# Plasăm în tabelul bruteforcer pe toți cei care au mai mult de două conexiuni pe al 22-lea port pe linie
transmiteți $ext_if inet proto tcp la $outif \
portul 22 steaguri S/SA păstrează starea \
(max-src-conn-rate 60/2, \overload culoare)

Firewall-ul ipfw nu are suficientă funcționalitate pentru a contracara eficient forțatorii bruti, care sunt solicitați de instrumentele de nivel înalt, cum ar fi modulele speciale PAM, sistemele și programele de detectare a intruziunilor.

Falsificarea

Spoofing (falsificarea adresei expeditorului pachetului) poate fi folosită pentru a lansa atacuri DoS sau pentru a ocoli un firewall. În prima fază, spoofing-ul oferă un mare avantaj atacatorului, deoarece în esență complică reacția la atac (pachetele care provin de la adrese de expeditori complet diferite nu sunt atât de ușor de clasificat și blocat) și întârzie procesul de închidere a noilor conexiuni ( pentru Vă rugăm să sunați la adresa fragmentată și inaccesabilă, așa că va fi închisă. Conexiunea este activată numai după expirarea timpului de expirare). Spoofing, care este folosit pentru a ocoli sistemul de securitate, este mai puțin riscant și mai des controlat.

Adesea, prin blocarea serviciilor de rețea externe ale gazdei, administratorii de sistem îi privează de adresa care este deschisă pentru întreaga gamă (de exemplu, pentru conectarea la mașina lor de acasă). După ce a identificat una dintre aceste adrese, atacatorul poate formula un pachet care să indice această adresă ca adresă de retur și, astfel, să se strecoare prin firewall. Apoi puteți ghici numerele de secvență ale pachetelor TCP și puteți configura un serviciu care are încredere în adresa de retur selectând acțiunea necesară. Este foarte important în implementarea unui atac care poate fi executat de un hacker competent, dar dacă vorbim despre protocolul UDP, atunci este și în puterea unui hacker.

Din fericire, este ușor să suferi daune de la astfel de atacuri. Este suficient să nu deschideți porturile serviciilor neprotejate din lumea exterioară, ci în vremuri de nevoie urgentă să exploatezi sistemele proprietare ale serviciilor în sine (de exemplu, certificate ssh) sau mecanismul de „ciocănire la porturi” „( acest lucru este discutat în statistici).

Situația devine mai complexă dacă în dreapta există un pod de hotar, care împarte limitele interne și externe (sau două limite locale). Linia de jos este în mijlocul graniței locale – mai întâi în dreapta. Serviciile sunt disponibile pentru toată lumea, fără autentificare, criptare etc. - Doar o chestie micuță pentru un criminal. În timp ce stați la frontiera externă, puteți recunoaște masca de frontieră a frontierei interne și puteți forma pachete cu o adresă de retur pozitivă, ceea ce va duce la interzicerea accesului la toate resursele locale. Aceasta nu este o situație sigură, dar este ușor să neglijezi configurația corectă a firewall-ului sau a sistemului de operare.

Pentru a se asigura că este suficient să se protejeze trecerea pachetelor, ale căror adrese de retur corespund celor primite de la interfața internă de la interfața externă:

Linux> iptables -A INPUT -i $outif \
-s 192.168.1.0/24 -j DENY
FreeBSD> ipfw add deny ip from \
192.168.1.0/24 către orice prin $outif
OpenBSD> blocați pe $outif din \
192.168.1.0/24 la oricare

Ca alternativă la protecția suplimentară, puteți (și trebuie să) utilizați directive speciale ipfw și pf și personalizați nucleul Linux:

Linux > echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
FreeBSD> ipfw add deny ip de la orice antispoof în
OpenBSD> antispoof rapid pentru $ext_if

Aceste trei comenzi duc la aceleași rezultate. Toate pachetele incluse în adrese care reprezintă interfața de rețea a altei interfețe sunt aruncate.

Conținutul IPTABLES

În cele din urmă, ne vom uita la o serie de capabilități iptables/netfilter care pot fi utile în protejarea serverului împotriva pătrunderii. Să începem cu mecanismul de gestionare a firewall-ului de la distanță, care se numește „port knocking”. Esența acestui lucru este să configurați firewall-ul și să anulați melodiile după conectarea la portul specificat. Mai jos este un exemplu de reguli care deschid portul SSH timp de 10 secunde după „ciocănirea” la portul 27520:

iptables și port knocking
# Snurul pentru verificare este conectat la portul care este protejat
iptables -N bate
# Conexiunea este permisă dacă bate cu restul
10 secunde
iptables -A bătaie -m recent --rcheck --seconds 10\
-j ACCEPT
# Ștergerea INPUT
iptables -F INPUT
# Tot ceea ce este deja stabilit este permis
iptables -A INPUT -m conttrack\
--ctstate STABILIT,AFERAT -j ACCEPT
# Încercați să deschideți conexiunea la portul 22 care este trimis
pentru o răsturnare în ciocănirea la arc

-p tcp --dport 22 -j bate
# Introduceți în listă adresa celui care bate la portul 27520
iptables -A INPUT -m conntrack --ctstate NOU \
-p tcp --dport 27520 -m recent --set
# Când bateți la porturile sursă, este afișată adresa din listă
iptables -A INPUT -m conntrack --ctstate NOU -p tcp \
-m multiport --dport 27519,27521 -m recent --remove
#Totul este protejat
iptables -P INPUT DROP

A treia regulă de la sfârșit oferă adresa persoanei care bate pe listă. Dacă aceeași mașină durează 10 secunde după ce a bătut pentru a ajunge la portul 22, conexiunea va fi instalată. Regulă rămasă este protecția împotriva „excesului”. Dacă atacatorul încearcă să bată secvenţial în toate porturile cu speranţa că unul dintre ele va deschide cel de-al 22-lea port, de obicei va cere ca adresa sa să fie eliminată din listă imediat după ce a fost vizat înainte de următorul.

Alte caracteristici iptables sunt extinse în pachetul xtables-addons (patch-o-matic) și sunt numite TARPIT. Această acțiune (precum ACCEPT sau DENY), care „suspendă” conexiunea, nu permite părții atacatoare să o închidă. Conexiunea, ale căror pachete sunt consumate de la TARPIT, va fi instalată, dar dimensiunea ferestrei este încă zero, astfel încât mașina de la distanță nu va putea trimite date, irosindu-și resursele, iar conexiunea va fi închisă abia după The timeout s-a încheiat. TARPIT poate fi utilizat în situații de urgență pentru a proteja împotriva DoS:

# iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT

Sau pentru a înșela atacatorul și a lupta împotriva scanerelor
porturi (doar scanare TCP, „-sT”):

# iptables -A INTRARE -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INTRARE -p tcp -m tcp --dport 25 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp -j TARPIT

Aceste reguli creează aspectul unui sistem în care toate porturile sunt deschise, dar când încercați să vă conectați la oricare dintre ele (cu excepția celor 80 și 25), conexiunea este „amplificată”. Același rezultat, dar fără „scăderea” conexiunilor, poate fi obținut folosind acțiunea suplimentară DELUDE, care răspunde corect la toate încercările de conectare și trimite pachetul RST către releul de pachete. Pentru a deruta și mai mult atacatorul, puteți folosi acțiunea CHAOS, care activează aleatoriu una dintre cele două acțiuni descrise.

Visnovki

Cu suficiente cunoștințe și citirea atentă a documentației, puteți crea un bastion cu adevărat puternic, care nu este atât de ușor de atins. Firewall-urile de astăzi, în special pf și iptables, oferă multă protecție împotriva oaspeților nedoriți, pe care îi puteți elimina absolut gratuit.

Legături

  • sf.net/projects/sentrytools - PortSentry
  • www.openwall.com/scanlogd - scanlogd

Luptă împotriva resurselor Witikan

Când operațiunea TARPIT este dezactivată, asigurați-vă că adăugați o regulă la config, altfel resursele conectate se vor „scădea” atunci când sunt procesate de subsistemul conntrack:

# iptables -t raw -I PREROUTING -p tcp --dport 25 -j NOTRACK

 

 

Tse tsikavo: