Deblocați ferestrele de trafic icmp 7. Arc de foc. Ne protejăm de hackeri care folosesc IPTABLES, IPFW și PF. Resetați sau permiteți traficul de la anumite adrese MAC

Cum pot configura computerele care rulează Windows 2000/XP/2003 pentru a bloca pachetele Ping? Windows 2000/XP/2003 are un mecanism de securitate IP încorporat numit IPSec (Securitate IP). IPSec este un protocol conceput pentru a proteja pachetele individuale TCP/IP pe măsură ce sunt transmise printr-o rețea.

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

Blocarea PING pe un singur computer

Pentru a bloca toate pachetele PING de la și către un computer, trebuie să creăm o politică IPSec care va bloca tot traficul ICMP. Mai întâi, verificați dacă computerul dvs. răspunde la solicitările ICMP:

Pentru a configura un singur computer trebuie să urmam acești pași:

Hai să configuramlista de liste de filtrare IP și acțiuni de filtrare

  1. Deschideți o fereastră MMC (Start > Run > MMC).
  2. Adăugați programul de completare IP Security and Policy Management.
  1. Selectați ce computer va fi controlat de această politică - în cazul nostru 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 în 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 (protocolul în care funcționează PING), deoarece un astfel de filtru există deja în mod implicit - All ICMP Traffic.

Cu toate acestea, puteți configura un filtru IP arbitrar complex, de exemplu, interziceți trimiterea ping la computer de la toate IP-urile, cu excepția unora specifice. Într-unul dintre următoarele articole despre IPSec, vom arunca o privire mai atentă la crearea filtrelor IP, rămâneți pe fază.

  1. În fereastra Gestionați listele de filtre IP și acțiunile de filtrare, examinați-vă filtrele și, dacă totul este în ordine, faceți clic pe fila Gestionați acțiunile de filtrare. Acum trebuie să adăugăm o acțiune de filtru care va bloca un anumit trafic, faceți clic pe Adăugare.
  1. În prima fereastră de bun venit, 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, apoi faceți clic pe Următorul.
  1. Reveniți la fereastra Gestionați listele de filtre IP și acțiunile de filtrare și examinați-vă filtrele și, dacă totul este în regulă, faceți clic pe Închidere. Puteți adăuga oricând filtre și acțiuni de filtrare.

Următorul pas este să configurați politica IPSec și să o aplicați.

Configurarea politicii IPSe

  1. În aceeași consolă MMC, faceți clic dreapta pe Politici de securitate IP și selectați Creare politică de securitate IP.
  1. Sari peste salutul vrăjitorului făcând clic pe Următorul.
  2. În câmpul IP Security Policy Name, introduceți un nume adecvat cazului, 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 Editare proprietăți și faceți clic pe Terminare.
  1. Trebuie să adăugăm filtre IP și acțiuni de filtrare la noua politică IPSec. În fereastra Politică IPSec nouă, faceți clic pe Adăugare
  1. Faceți clic pe Următorul.
  2. În fereastra Tunnel Endpoint, asigurați-vă că este selectată valoarea implicită și faceți clic pe Următorul.

Utilizatorii sunt adesea enervați de încetineala internetului. Acest lucru se aplică în special armatei mari de fani ai jocurilor online. Puteți reduce potențialele întârzieri dezactivând funcția ping.

vei avea nevoie

  • - PC cu sistem de operare Windows instalat;
  • - Acces la internet.

Instrucţiuni

  • Intrați în meniul Start al sistemului de operare Windows făcând clic pe butonul corespunzător din colțul din stânga barei de activități. Unele dispozitive de intrare au o tastă cu logo Windows pe care o puteți apăsa pentru a accesa meniul principal al sistemului de operare direct de la tastatură.
  • Deschideți secțiunea „Panou de control”, activați meniul „Windows Firewall” și, în caseta de dialog, accesați fila „Avansat”. Faceți clic pe butonul Setări ICMP și deselectați opțiunea „Permiteți cererea de ecou primită” debifând elementul de meniu corespunzător. Salvați modificările pe care le-ați făcut în setări făcând clic pe butonul „Ok”.
  • Utilizați aplicația IPSec încorporată pentru a bloca pachetele ping de intrare și de ieșire. Faceți clic pe butonul „Start” și, dacă utilizați sistemul de operare Windows 7, introduceți mmc în bara de căutare. Dacă dețineți computere care rulează Windows XP, introduceți aceeași valoare în linia „Run”. Faceți clic pe elementul „Deschidere” sau apăsați tasta Enter.
  • Confirmați alegerea și în fereastra aplicațiilor, accesați meniul Fișier. Selectați funcția „Add/Remove Snap-in” și activați utilitarul „IP Security and Policy Management”. Bifați caseta „Computer local” și finalizați expertul făcând clic pe butonul Închidere.
  • Apăsați tasta din dreapta a manipulatorului și apelați meniul contextual. Desemnați comanda „Gestionați listele de filtre IP și acțiunile de filtrare” și activați elementul „Tot traficul ICMP”. Accesați secțiunea „Gestionați acțiunile de filtrare”, faceți clic pe butonul Următorul și bifați caseta „Blocați”. Confirmați setările și închideți caseta de dialog.
  • În meniul contextual „Politici de securitate IP”, activați comanda „Creare politică de securitate IP”. Specificați elementul „Block Ping” în câmpul corespunzător al vrăjitorului de creare a politicii care se deschide. Debifați caseta de lângă „Activați regula de răspuns implicită” și selectați elementul „Editați proprietăți”. Salvați setările și închideți fereastra expertului.
  • Sfat adăugat la 25 ianuarie 2012 Sfat 2: Cum să dezactivați ping Funcția ping este folosită pentru a verifica disponibilitatea resurselor de Internet prin trimiterea unui pachet de o anumită dimensiune către gazda utilizată. Aceasta măsoară timpul de returnare a datelor pentru a determina viteza conexiunii. Această funcție este dezactivată de fanii jocurilor online pentru a reduce timpul de întârziere.

    Instrucţiuni

  • Deschideți meniul Start din Windows, butonul se află în colțul din stânga al barei de activități. Tot pe unele tastaturi există un buton cu poza unei ferestre Windows, făcând clic pe care poți lansa meniul principal. Accesați secțiunea „Panou de control” și accesați meniul „Windows Firewall”. Faceți clic pe fila „Avansat” din caseta de dialog care se deschide.
  • Găsiți butonul Setări ICMP și faceți clic pe el, apoi debifați caseta de lângă „Permiteți solicitarea ecou primită”. După aceasta, faceți clic pe butonul „Ok” din partea de jos a ferestrei pentru a salva setările specificate. După aceasta, trebuie să utilizați aplicația IPSec încorporată pentru a bloca pachetele ping de intrare și de ieșire.
  • Faceți clic pe butonul „Start” și introduceți mmc în bara de căutare (pentru Windows 7) sau în linia „Run” (pentru Windows XP). Faceți clic pe butonul Deschidere sau pe tasta Enter Confirmați comanda și deschideți meniul Fișier din fereastra Aplicații. Selectați funcția „Add/Remove Snap-in” și adăugați utilitarul „IP Security and Policy Management”. În caseta de selectare „Computer local”, faceți clic pe butonul Închidere pentru a finaliza expertul.
  • Faceți clic dreapta pe linia „Politici de securitate IP” pentru a afișa meniul contextual. Selectați comanda „Gestionați listele de filtre IP și acțiunile de filtrare” și bifați caseta de selectare „Tot traficul ICMP”. După aceea, accesați secțiunea „Gestionați acțiunile de filtrare”. Faceți clic pe butonul Următorul și bifați caseta de lângă „Blocați”. Confirmați setarea și închideți caseta de dialog.
  • Selectați comanda „Creare IP Security Policy” din meniul contextual „IP Security Policies”. Se va deschide Expertul de creare a politicilor, în care specificați „Blocați Ping” în câmpul corespunzător. Debifați casetele de lângă „Activați regula de răspuns implicită” și bifați casetele de lângă „Editați proprietăți”. Salvați setările și închideți fereastra expertului.
  • Cum se dezactivează ping - versiunea imprimabilă

    Blocarea răspunsurilor ping în sistemul de operare poate preveni atacurile de inundare a pachetelor ICMP, dar majoritatea sistemelor folosesc acest serviciu pentru monitorizarea online (monitorizarea sistemului). În subiectul meu „Blocați răspunsuri Ping (ICMP) în Unix/Linux”, vă voi spune cum îl puteți dezactiva în continuare.

    Blocarea PING către un server este utilă dacă serverul se confruntă în mod constant cu un fel de atac DoS folosind funcția PING. Când folosim IPTables, pur și simplu putem opri blocarea trecerii pachetelor ICMP (de fapt, blocarea PING) către server. Înainte de a începe acest lucru, trebuie să aveți o idee despre ce sunt Iptables în Linux. Iptables este un sistem firewall cu un set de reguli care controlează pachetele de intrare și de ieșire. Implicit, Iptables funcționează fără reguli, puteți crea, adăuga, edita reguli.

    Dezactivați Ping folosind iptables

    O explicație a unora dintre parametrii din iptables care sunt necesari pentru a crea reguli de control al pachetelor ICMP:

    R: Adaugă reguli.
    -D: Îndepărtează regula de pe masă.
    -p: Opțiune pentru a specifica protocolul (unde 'icmp').
    --icmp-type: Opțiune pentru a specifica tipul.
    -J: Du-te la lanț.

    Mai jos, voi da exemple clare.

    Cum să blochezi PING pe un server cu mesaje de eroare?
    Astfel, puteți bloca parțial PING cu mesajul de eroare „Destination Port Unreachable”. Adăugați următoarele reguli Iptables pentru a bloca PING cu un mesaj de eroare:

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

    Bloc PING pe server fără mesaje de eroare.
    Pentru a face acest lucru, utilizați 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ți ping folosind iptables

    Dacă ați blocat ping-ul pe server și nu știți cum să îl recuperați. Acum vă voi spune cum să o faceți. Acest lucru se face prin adăugarea următoarei reguli 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 vor permite trecerea pachetelor ICMP de la și către server.

    Blocarea Ping-ului cu parametrii Kernel

    De asemenea, putem bloca răspunsurile ping direct cu parametrii kernelului. Puteți bloca răspunsurile ping temporar sau definitiv, iar mai jos vă arată cum să faceți acest lucru.

    Blocați temporar Ping
    Puteți bloca temporar răspunsurile ping folosind următoarea comandă

    # echo „1” >

    Pentru a debloca această comandă, executați următoarele:

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

    Respinge-l pe Ping cu totul
    Puteți bloca răspunsurile ping adăugând următorul parametru la fișierul de configurare:

    # vim /etc/sysctl.conf

    Si scrie:

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

    sysctl este folosit pentru a modifica parametrii kernelului în timpul execuției, unul dintre acești parametri ar putea fi „demonul ping”, dacă doriți să dezactivați ping-ul, trebuie doar să faceți ceva de genul:

    # sysctl -w net.ipv4.icmp_echo_ignore_all=1

    Acum încercați să dați ping la mașină, nu există răspunsuri, nu? Pentru a reactiva ping-ul, utilizați:

    # sysctl -w net.ipv4.icmp_echo_ignore_all=0

    Indicatorul W este folosit dacă doriți să modificați unele setări.

    Acum rulați următoarea comandă pentru a aplica imediat setările fără a reporni sistemul:

    # sysctl -p

    # sysctl --system

    Iată configurația mea completă:

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

    si apoi poti face:

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

    Asta e tot pentru mine, subiectul „Răspunsuri Blocare Ping (ICMP) în Unix/Linux” este finalizat.


    Firewall-ul unui sistem Linux este controlat de programul iptables (pentru ipv4) și ip6tables (pentru ipv6). Această foaie de cheat acoperă cele mai comune moduri de a folosi iptables pentru cei care doresc să-și protejeze sistemul de hackeri sau pur și simplu să înțeleagă configurarea.

    Semnul # înseamnă că comanda este executată ca root. Deschideți o consolă cu drepturi de root în avans - sudo -i pe sisteme bazate pe Debian sau su pe altele.

    1. Afișați starea.

    # iptables -L -n -v

    Exemplu de ieșire de comandă pentru un firewall inactiv:

    Chain INPUT (politică ACCEPT 0 pachete, 0 octeți) pkts bytes target prot opt ​​in out source destination Chain FORWARD (policy ACCEPT 0 pachete, 0 bytes) pkts bytes target prot opt ​​in out sursă destinație Chain OUTPUT (politica ACCEPT 0) pachete, 0 octeți ) pkts octeți țintă prot opt ​​in out destinație sursă

    Pentru un firewall activ:

    Lanț INPUT (politică DROP 0 pachete, 0 octeți) pkts bytes target prot opt ​​in out source destination 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 stare INVALID 394 43586 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 stare RELATED,STABLISHED 93 17292 ACCEPT toate -- br0 * 0.0.0.0/0 0.0.0.0/0 1 142 ACCEPTĂ toate -- lo * 0.0.0.0.0 . Lanț FORWARD (politică DROP 0 pachete, 0 octeți) pkts bytes target prot opt ​​in out source destination 0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * * 0.0. 0.0/0 0.0 .0.0/0 stare INVALID 0 0 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU 0 0 ACCEPT all -- * * 0/0. 0 0.0.0.0 /0 stare RELATED,ESTABLISHED 0 0 wanin all -- vlan2 * 0.0.0.0/0 0.0.0.0/0 0 0 wanout all -- * vlan2 0.0.0.0/0 0.0.0.0.0/0 0 0 ACCEPT -- br0 * 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (politica ACCEPT 425 pachete, 113K bytes) pkts bytes target prot opt ​​in out sursă destinație Chain wanin (1 referințe) pkts bytes target prot optin out source destination Chain wanout (1 referințe) pkts bytes target prot opt ​​in out source destination

    Unde:
    -L: Arată lista de reguli.
    -v: Afișează informații suplimentare. Această opțiune arată numele interfeței, opțiunile, măștile TOS. Afișează și sufixele „K”, „M” sau „G”.
    -n: Afișează adresa IP și portul ca numere (fără a utiliza servere DNS pentru a rezolva numele. Acest lucru va accelera afișarea).

    2. Afișați o listă de reguli cu numere de rând.

    # iptables -n -L -v --line-numbers

    Eșantion de ieșire:

    Lanț INPUT (policy DROP) num target prot opt ​​​​sursă destinație 1 DROP toate -- 0.0.0.0/0 0.0.0.0/0 stare INVALID 2 ACCEPT toate -- 0.0.0.0/0 0.0.0.0/0 stare RELATED,STABLISHED 3 ACCEPT toate -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPTĂ toate -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) num target prot opt ​​​​sursa destinație 1 ACCEPT toate -- 0.0 .0.0/0 0.0.0.0/0 2 DROP toate -- 0.0.0.0/0 0.0.0.0/0 stare INVALID 3 TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS TCPMSS PMTU 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 stare RELATED,STABLISHED 5 wanin all -- 0.0.0.0/0 0.0.0.0/0 6 wanout all -- 0.0.0.0/0 0.0.0.0/0 7 ACCEPT all - - 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt ​​​​source destination Chain wanin (1 referințe) num target prot opt ​​​​source destination Chain wanout (1 referințe) num target prot opt ​​sursă destinație

    Puteți utiliza numerele de rând pentru a adăuga reguli noi.

    3. Afișați lanțul de reguli INPUT sau OUTPUT.

    # iptables -L INPUT -n -v
    # iptables -L OUTPUT -n -v --line-numbers

    4. Opriți, porniți, reporniți firewall-ul.

    Prin forțele sistemului însuși:
    # service ufw stop
    # service ufw start

    De asemenea, puteți utiliza comenzi iptables pentru a opri firewall-ul și pentru a elimina toate regulile:
    # iptables -F
    # iptables -X
    # iptables -t nat -F
    # iptables -t nat -X
    # iptables -t mangle -F
    # iptables -t mangle -X
    # iptables -P INTRARE ACCEPT
    # iptables -P ACCEPT IEȘIRE
    # iptables -P FORWARD ACCEPT

    Unde:
    -F: Spală toate regulile.
    -X: Șterge lanțul.
    -t table_name: Selectați un tabel (nat sau mangle) și eliminați toate regulile.
    -P: Selectați acțiunile implicite (cum ar fi DROP, REJECT sau ACCEPT).

    5. Ștergeți regulile firewall.

    Pentru a afișa numărul rândului cu regulile existente:

    # iptables -L OUTPUT -n --line-numbers
    # iptables -L OUTPUT -n --line-numbers | Mai puțin
    # iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

    Să obținem o listă de adrese IP. Uită-te la numărul din stânga și șterge linia corespunzătoare. De exemplu, pentru numărul 3:
    # iptables -D INTRARE 3

    Sau găsiți adresa IP sursă (202.54.1.1) și eliminați-o din regulă:
    # iptables -D INPUT -s 202.54.1.1 -j DROP

    Unde:
    -D: Îndepărtează una sau mai multe reguli din lanț.

    6. Adăugați o regulă la firewall.

    Pentru a adăuga una sau mai multe reguli la un lanț, mai întâi afișăm lista folosind numerele de rând:
    # iptables -L INPUT -n --line-numbers

    Eșantion de ieșire:

    Lanț INPUT (policy DROP) num target prot opt ​​​​sursă destinație 1 DROP all -- 202.54.1.1 0.0.0.0/0 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 stare NOU, INSTALAT

    Pentru a introduce o regulă între rândurile 1 și 2:
    # iptables -I INTRARE 2 -s 202.54.1.2 -j DROP

    Să verificăm dacă regula a fost actualizată:
    # iptables -L INPUT -n --line-numbers

    Ieșirea va fi astfel:

    Lanț INPUT (policy DROP) num target prot opt ​​​​sursă destinație 1 DROP all -- 202.54.1.1 0.0.0.0/0 2 DROP all -- 202.54.1.2 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0. 0.0/0 stare NOU, INSTALAT

    7. Salvați regulile firewall.

    Prin iptables-salvare:
    # iptables-save > /etc/iptables.rules

    8. Restabilirea regulilor.

    Prin iptables-restore
    # iptables-restore

    9. Setați politicile implicite.

    Pentru a reseta tot traficul:
    # iptables -P INPUT DROP
    # iptables -P OUTPUT DROP
    # iptables -P FORWARD DROP
    # iptables -L -v -n

    După comenzile de mai sus, niciun pachet nu va părăsi această gazdă.
    # ping google.com

    10. Blocați numai conexiunile de intrare.

    Pentru a elimina toate pachetele de intrare care nu sunt inițiate de dvs., dar permiteți traficul de ieșire:
    # iptables -P INPUT DROP
    # iptables -P FORWARD DROP
    # iptables -P ACCEPT IEȘIRE
    # iptables -A INPUT -m stare --state NEW,STABLISHED -j ACCEPT
    # iptables -L -v -n

    Pachetele de ieșire și cele care au fost reținute în cadrul sesiunilor stabilite sunt permise.
    # ping google.com

    11. Resetați adresele rețelelor izolate din rețeaua publică.

    # iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP

    Lista adreselor IP pentru rețele izolate:
    10.0.0.0/8 -j (A)
    172.16.0.0/12 (B)
    192.168.0.0/16 (C)
    224.0.0.0/4 (MULTICAST D)
    240.0.0.0/5 (E)
    127.0.0.0/8 (LOOPBACK)

    12. Blocarea unei anumite adrese IP.

    Pentru a bloca adresa unui atacator 1.2.3.4:
    # iptables -A INPUT -s 1.2.3.4 -j DROP
    # iptables -A INPUT -s 192.168.0.0/24 -j DROP

    13. Blocați cererile de porturi de intrare.

    Pentru a bloca toate cererile primite pe portul 80:
    # iptables -A INPUT -p tcp --dport 80 -j DROP
    # iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

    Pentru a bloca cererea portului 80 de la adresa 1.2.3.4:
    # iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
    # iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

    14. Blocați cererile către adresa IP de ieșire.

    Pentru a bloca un anumit domeniu, aflați adresa acestuia:
    # gazdă -t a facebook.com

    Concluzie: facebook.com are adresa 69.171.228.40

    Să găsim CIDR pentru 69.171.228.40:
    #whois 69.171.228.40 | grep CIDR

    Concluzie:
    CIDR: 69.171.224.0/19

    Să blocăm accesul la 69.171.224.0/19:
    # iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

    De asemenea, puteți utiliza un domeniu pentru a bloca:
    # iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
    # iptables -A OUTPUT -p tcp -d facebook.com -j DROP

    15. Înregistrați evenimentul și resetați-l.

    Pentru a înregistra mișcarea pachetelor înainte de resetare, adăugați o regulă:

    # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
    # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

    Să verificăm jurnalul (în mod implicit /var/log/messages):
    # coada -f /var/log/messages
    # grep -i --color „IP SPOOF” /var/log/messages

    16. Înregistrați evenimentul și resetați (cu o limită a numărului de înregistrări).

    Pentru a evita umplerea partiției cu un jurnal umflat, limităm numărul de intrări folosind -m. De exemplu, pentru a înregistra maximum 7 linii la fiecare 5 minute:
    # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
    # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

    16. Resetați sau permiteți traficul de la anumite adrese MAC.

    # iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
    ## *permite numai portul TCP # 8080 de la adresa mac 00:0F:EA:91:04:07 * ##
    # iptables -A INTRARE -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT

    17. Permiteți sau refuzați solicitările Ping ICMP.

    Pentru a dezactiva ping-ul:
    # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    # iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP

    Permiteți anumite rețele/gazde:
    # iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT

    Permiteți doar o parte din solicitările ICMP:
    ### ** presupune că politicile implicite de intrare sunt setate la DROP ** ###
    # iptables -A INTRARE -p icmp --icmp-type echo-reply -j ACCEPT
    # iptables -A INTRARE -p icmp --icmp-type destination-unreachable -j ACCEPT
    # iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
    ## ** permiteți-ne să răspundem la cerere ** ##
    # iptables -A INTRARE -p icmp --icmp-type echo-request -j ACCEPT

    18. Deschideți o serie de porturi.

    # iptables -A INPUT -m stare --state NOU -m tcp -p tcp --dport 7000:7010 -j ACCEPT

    19. Deschideți o serie de adrese.

    ## permite conexiuni la portul 80 (Apache) dacă adresa este în intervalul de la 192.168.1.100 la 192.168.1.200 ##
    # iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT

    ## exemplu pentru nat ##
    # iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25

    20. Închideți sau deschideți porturile standard.

    Înlocuiți ACCEPT cu DROP pentru a bloca portul.

    ## ssh tcp portul 22 ##
    iptables -A INPUT -m stare --state NOU -m tcp -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p tcp --dport 22 -j ACCEPT

    ## cupe (serviciu de imprimare) portul udp/tcp 631 pentru rețeaua locală ##
    iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT

    ## sincronizare oră prin NTP pentru rețeaua locală (portul udp 123) ##
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p udp --dport 123 -j ACCEPT

    ## portul tcp 25 (smtp) ##
    iptables -A INPUT -m stare --state NOU -p tcp --dport 25 -j ACCEPT

    # porturi server dns ##
    iptables -A INPUT -m stare --state NOU -p udp --dport 53 -j ACCEPT
    iptables -A INPUT -m stare --state NOU -p tcp --dport 53 -j ACCEPT

    ## http/https www port server ##
    iptables -A INPUT -m stare --state NOU -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -m stare --state NOU -p tcp --dport 443 -j ACCEPT

    ## portul tcp 110 (pop3) ##
    iptables -A INPUT -m stare --state NOU -p tcp --dport 110 -j ACCEPT

    ## portul tcp 143 (imap) ##
    iptables -A INPUT -m stare --state NOU -p tcp --dport 143 -j ACCEPT

    ## Server de fișiere Samba pentru rețeaua locală ##
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p tcp --dport 137 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p tcp --dport 138 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p tcp --dport 139 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p tcp --dport 445 -j ACCEPT

    ## server proxy pentru rețeaua locală ##
    iptables -A INPUT -s 192.168.1.0/24 -m stare --state NOU -p tcp --dport 3128 -j ACCEPT

    ## server mysql pentru rețeaua locală ##
    iptables -I INTRARE -p tcp --dport 3306 -j ACCEPT

    21. Limitați numărul de conexiuni paralele la server pentru o singură adresă.

    Pentru restricții, se folosește modulul connlimit. Pentru a permite doar 3 conexiuni ssh per client:
    # iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

    Setați numărul de solicitări HTTP la 20:
    # iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP

    Unde:
    --connlimit-above 3: Specifică că regula se aplică numai dacă numărul de conexiuni depășește 3.
    --connlimit-mask 24: Specifică masca de rețea.

    Ajutor cu iptables.

    Pentru a găsi ajutor cu iptables, utilizați man:
    $ man iptables

    Pentru a vedea ajutor pentru anumite comenzi și obiective:
    # iptables -j DROP -h

    Verificarea regulii iptables.

    Verificarea porturilor deschise/închise:
    # netstat -tulpn

    Verificăm deschiderea/închiderea unui anumit port:
    # netstat -tulpn | grep:80

    Să verificăm dacă iptables permite conectarea la portul 80:
    # iptables -L INPUT -v -n | grep 80

    În caz contrar, să-l deschidem tuturor:
    # iptables -A INPUT -m stare --state NOU -p tcp --dport 80 -j ACCEPT

    Verifica folosind telnet
    $ telnet ya.ru 80

    Puteți folosi nmap pentru a verifica:
    $ nmap -sS -p 80 ya.ru

    Iptables este un instrument grozav în mâinile unui administrator. Dacă trebuie să vă protejați ușor și simplu în desktop Ubuntu, atunci ar trebui să știți că există un add-on convenabil pentru consolă pentru iptables numit UFW și pentru acesta există un program grafic GUFW. Materialul video vă va ajuta să vă faceți Ubuntu și mai sigur.

    Deci, să continuăm să ne ocupăm de ACL-uri. De data aceasta, avem ACL-uri extinse. Vom lua topologia din articolul anterior, sper că ați studiat-o temeinic. Dacă nu este cazul, atunci vă recomand cu căldură să o citiți, astfel încât materialele din acest articol să fie mai înțelese.

    În primul rând, voi începe cu ce sunt ACL-urile extinse. ACL-urile extinse vă permit să specificați protocolul, adresa de destinație și porturile în plus față de adresa sursă. Precum și parametri speciali ai unui anumit protocol. Cel mai bine este să înveți din exemple, așa că haideți să creăm o nouă sarcină, complicând-o pe cea anterioară. Apropo, cineva ar putea fi interesat să se ocupe de problemele de distribuție a traficului prin prioritate după aceasta, recomand Clasificarea și marcarea QoS un articol bun, deși în limba engleză. Ei bine, deocamdată, să revenim la sarcina noastră:

    Sarcină.

    1. Permiteți cereri de ecou de la gazdele din rețeaua 192.168.0.0/24 către server.
    2. De la server – interziceți cererile de eco către rețeaua internă.
    3. Permite accesul WEB la server de la nodul 192.168.0.11.
    4. Permite accesul FTP de la gazda 192.168.0.13 la server.

    Sarcină complexă. De asemenea, o vom rezolva cuprinzător. În primul rând, mă voi uita la sintaxa pentru utilizarea unui ACL extins.

    Opțiuni ACL extinse

    <номер от 100 до 199> <действие permit, deny> <протокол> <источник> <порт> <назначение> <порт> <опции>

    Numerele de port sunt indicate numai pentru protocoalele TCP/UDP, desigur. Pot exista și prefixe echivalentul(numărul portului egal cu cel specificat), gt/lt(numărul portului este mai mare/mai mic decât cel specificat), neq(numărul portului nu este egal cu cel specificat), gamă(gamă de porturi).

    ACL-uri denumite

    Apropo, listele de acces nu pot fi doar numerotate, ci și denumite! Poate că această metodă ți se va părea mai convenabilă. De data asta vom face exact asta. Aceste comenzi sunt executate în contextul configurației globale, iar sintaxa este:

    Router(config)#ip lista de acces extinsă<имя>

    Deci, să începem să formăm regulile.

    1. Permiterea ping-urilor din rețea 192.168.0.0/24 la server. Aşa, ecou-cererile sunt un protocol ICMP, vom selecta subrețeaua noastră ca adresă sursă, adresa serverului ca adresă de destinație, tipul mesajului – pe interfața de intrare ecou, la ieșire – ecou-răspuns. Router(config)#ip access-list extins INT_IN Router(config-ext-nacl)#permit icmp 192.168.0.0 0.0.0.255 gazdă 10.0.0.100 echo Hopa, ce este în neregulă cu masca de subrețea? Da, acesta este un truc ACL. Așa-numitul WildCard-masca. Se calculează ca masca inversă față de cea obișnuită. Aceste. 255.255.255.255 – masca de subrețea. În cazul nostru, subrețeaua 255.255.255.0 , după scădere ceea ce rămâne este just 0.0.0.255 .Cred că această regulă nu are nevoie de explicații? Protocol icmp, adresa sursă – subrețea 192.168.0.0/24 , adresa de destinație – gazdă 10.0.0.100, tipul mesajului – ecou(cerere). Apropo, este ușor de observat asta gazdă 10.0.0.100 echivalent 10.0.0.100 0.0.0.0 .Aplicam aceasta regula la interfata. Router(config)#int fa0/0
      Router(config-if)#ip acces-grup INT_IN în Ei bine, ceva de genul acesta. Acum, dacă verificați ping-urile, este ușor să vedeți că totul funcționează bine. Aici, însă, ne așteaptă o surpriză, care va apărea puțin mai târziu. Nu o voi dezvălui încă. Cine a ghicit - bravo!
    2. De la server – interzicem toate cererile de eco către rețeaua internă (192.168.0.0/24). Definim o nouă listă denumită, INT_OUT, și o atașăm la interfața cea mai apropiată de server.
      Router(config)#ip lista de acces extinsă INT_OUT
      Router(config-ext-nacl)#deny icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo
      Router(config-ext-nacl)#exit
      Router(config)#int fa0/1
      Router(config-if)#ip acces-grup INT_OUT în
      Lasă-mă să explic ce am făcut. A creat o listă de acces extinsă cu numele INT_OUT, dezactivând protocolul din ea icmp cu tip ecou de la gazdă 10.0.0.100 pe subrețea 192.168.0.0/24 și aplicat la intrarea interfeței fa0/1, adică cel mai apropiat de server. Încercăm să trimitem ping de pe server.
      SERVER>ping 192.168.0.11
      Ping 192.168.0.11 cu 32 de octeți de date:

      Răspuns de la 10.0.0.1: Gazda destinație inaccesibilă.
      Răspuns de la 10.0.0.1: Gazda destinație inaccesibilă.
      Răspuns de la 10.0.0.1: Gazda destinație inaccesibilă.
      Statistici ping pentru 192.168.0.11:
      Pachete: trimise = 4, primite = 0, pierdute = 4 (pierdere de 100%)
      Ei bine, părea să funcționeze așa cum ar trebui. Pentru cei care nu știu să trimită ping-uri, faceți clic pe nodul care ne interesează, de exemplu, un server. Accesați fila Desktop, acolo Prompt de comandă și acum, gluma promisă. Încercați să trimiteți un ping de la gazdă, ca în primul punct. PC>ping 10.0.0.100
      Ping 10.0.0.100 cu 32 de octeți de date:
      Solicitarea a expirat.
      Solicitarea a expirat.
      Solicitarea a expirat.
      Solicitarea a expirat.

      Iată una pentru tine. Totul a funcționat! De ce s-a oprit? Aceasta este surpriza promisă. Vă explic care este problema. Da, prima regulă nu a dispărut. Permite trimiterea unei cereri de ecou către nodul serverului. Dar unde este permisiunea de a transmite răspunsuri eco? A plecat! Trimitem o cerere, dar nu putem accepta un răspuns! De ce a funcționat totul înainte? Pe atunci nu aveam un ACL pe interfață. fa0/1. Și din moment ce nu există ACL, atunci totul este permis. Va trebui să creați o regulă pentru a permite primirea răspunsurilor icmp.

      Adăugați la lista INT_OUT

      Să adăugăm același lucru la lista INT_IN.

      Router(config-ext-nacl)#permit icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply

      Acum nu te plânge. Totul merge grozav!

    3. Permitem accesul WEB la server de la nodul *.11. Facem la fel! Aici, totuși, trebuie să știți puțin despre cum apar apelurile prin protocoale de nivel 4 (TCP, UDP). Portul client este selectat în mod arbitrar > 1024, iar portul serverului este selectat corespunzător serviciului. Pentru WEB, acesta este portul 80 (protocolul http). Dar serverul WEB? În mod implicit, serviciul WEB este deja instalat pe server, îl puteți vedea în setările nodului. Asigurați-vă că există o bifă. Și vă puteți conecta la server selectând comanda rapidă „Web Browser” de pe „Desktop” al oricărui nod. Desigur, nu va exista acces acum. Pentru că avem ACL-uri pe interfețele routerului și nu au nicio regulă de permisiuni pentru acces. Ei bine, să creăm o listă de acces INT_IN (care se află pe interfață fa0/0) adăugați regula: Router(config-ext-nacl)#permit tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq 80 Adică, permitem protocolul TCP de la gazda noastră (port arbitrar, > 1024) la adresa serverului , port HTTP.

      Și, desigur, regula opusă este în lista INT_OUT (care pe interfață fa0/1):

      Router(config-ext-nacl)#permit tcp host 10.0.0.100 eq 80 host 192.168.0.11 stabilit

      Adică permitem TCP din port 80 servere pe gazdă *.11 , iar conexiunea ar trebui să fie deja stabilită! Poate in schimb stabilit indica la fel GT 1024, va funcționa la fel de bine. Dar sensul este puțin diferit.

      Raspunde in comentarii ce ar fi mai sigur?

    4. Permitem accesul FTP de la un nod *.13 la server. De asemenea, nu este absolut nimic complicat Să ne uităm la modul în care interacțiunea are loc prin protocolul FTP. În viitor, intenționez să dedic o serie întreagă de articole lucrării diferitelor protocoale, deoarece acest lucru este foarte util în crearea unor reguli ACL precise (lunetist). Ei bine, deocamdată: Acțiuni server și client:+ Clientul încearcă să stabilească o conexiune și trimite un pachet (care conține o indicație că va funcționa în modul pasiv) către portul 21 al serverului de la portul său X (X > 1024, portul liber) + Serverul trimite un răspuns și raportează numărul portului său pentru a forma un canal de date Y (Y > 1024) către portul client X, extras din antetul pachetului TCP.+ Clientul inițiază o comunicare pentru a transfera date pe portul X+1 către portul server Y (luat din antet). a tranzacției anterioare). Aşa ceva. Sună puțin complicat, dar trebuie doar să-ți dai seama Adăugați regulile la lista INT_IN:

      permis gazdă tcp 192.168.0.13 gt 1024 gazdă 10.0.0.100 eq 21
      permis gazdă tcp 192.168.0.13 gt 1024 gazdă 10.0.0.100 gt 1024

      Și adăugați reguli la lista INT_OUT:

      permis gazdă tcp 10.0.0.100 eq gazdă ftp 192.168.0.13 gt 1024
      permis gazdă tcp 10.0.0.100 gt 1024 gazdă 192.168.0.13 gt 1024

      Verificăm din linia de comandă cu comanda ftp 10.0.0.100, unde ne conectăm folosind datele noastre de autentificare cisco:cisco(luat din setările serverului), introduceți comanda acolo dir si vom vedea ca datele, precum si comenzile, sunt transmise cu succes.

    Cam atât se referă la listele de acces extinse.

    Deci, să ne uităm la regulile noastre:

    Acces router#sh
    Lista de acces IP extinsă INT_IN
    permis icmp 192.168.0.0 0.0.0.255 gazdă 10.0.0.100 echo (17 meci(e))
    permis gazdă icmp 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
    permis gazdă tcp 192.168.0.11 gt 1024 gazdă 10.0.0.100 eq www (36 meci(e))
    permis gazdă tcp 192.168.0.13 gt 1024 gazdă 10.0.0.100 eq ftp (40 potrivire(e))
    permis gazdă tcp 192.168.0.13 gt 1024 gazdă 10.0.0.100 gt 1024 (4 meci(e))
    Lista de acces IP extinsă INT_OUT
    deny icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo (4 meci(e))
    permis gazdă icmp 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply (4 potriviri)
    permis gazdă tcp 10.0.0.100 eq www gazdă 192.168.0.11 stabilită (3 potriviri)
    permis gazdă tcp 10.0.0.100 eq gazdă ftp 192.168.0.13 gt 1024 (16 potriviri)
    permis gazdă tcp 10.0.0.100 gt 1024 gazdă 192.168.0.13 gt 1024 (3 meci(e))