Sådan bruges Iptables Netfilter -kommandoer på Linux

Indholdsfortegnelse

Sikkerhed skal altid være en af ​​de præmisser, som administratorer, ledelses- og supportpersonale og generelt alle brugere af ethvert nuværende operativsystem skal arbejde på grund af de mange trusler, der er til stede på netværket.

I tilfælde af Linux -distributioner har de fleste af dem avancerede værktøjer til at anvende et filter på netværkspakker både på niveauet for netværkspakkestyringsbehandling i input, bevægelse, kontrol og output af stakken. Netværk inden for kernen i det anvendte system Derfor blev der i begyndelsen med kerne 2.4 introduceret iptables, som også kaldes netfilter, og disse har et højere sikkerhedsniveau og praktiske funktioner til beskyttelse af systemet.

iptables håndterer IPv4 -filtrering, mens ip6tables håndterer IPv6 -filtrering på nutidens netværk.
Solvetic vil lave en analyse af, hvordan iptables fungerer, og nogle af de mere praktiske kommandoer, vi kan tage fra det.

1. Pakkefiltrering på Linux


Kernen i Linux -distributioner gør brug af Netfilter -værktøjet til at udføre pakkefiltreringsprocessen og dermed udføre opgaverne med at modtage eller stoppe dem.

Regler indbygget i NetfilterNetfilter er som standard inkorporeret i Linux -kernen og har tre tabeller eller lister med regler integreret således:

  • filter: Henviser til standardtabellen designet til pakkehåndtering.
  • nat: Dens funktion er at ændre pakker, der er blevet oprettet i en ny forbindelse, der primært bruges af NAT.
  • mangle: Dens anvendelse gælder, når specifikke netværkspakker skal ændres.

Nu har hver tabel en gruppe indbyggede kæder, der er relateret til de handlinger, der kan udføres af netfilter, disse er:

Regler for filterbordeDe indbyggede strenge til filterbordet er:

  • INPUT: Det er relateret til de pakker, der er bestemt til værten.
  • OUTPUT: Dette fungerer på netværkspakker, der er genereret lokalt.
  • FREM: Forbinder de pakker, der er blevet dirigeret gennem hovedværten.

Regler for natbordeDe indbyggede strenge til natbordet er:

  • PREROUTING: Dens funktion er at ændre netværkspakker, så snart de ankommer.
  • OUTPUT: Det er designet til at ændre netværkspakker, der oprettes lokalt og aktiveres, før de sendes.
  • POSTROUTING: Oprettet for at ændre pakker, før de sendes globalt.

Regler for mangrovebrædderDe indbyggede kæder til mangrovebordet er:

  • INPUT: Designet til at ændre de netværkspakker, der er bestemt til hovedværten.
  • OUTPUT: Oprettet for at ændre lokalt oprettede netværkspakker og -værker, før de sendes.
  • FREM: Ændrer de pakker, der er blevet dirigeret gennem hovedværten.
  • PREROUTING: Din opgave er at ændre indgående pakker, før de dirigeres.
  • POSTROUTING: Ændrer netværkspakker, før afsendelsesprocessen finder sted.

Hver netværkspakke, der modtages eller sendes fra Linux -operativsystemet, er altid knyttet til mindst én tabel. Lad os nu forstå nogle af de mere nyttige kommandoer, som vi kan bruge med iptables.

2. Vis firewallstatus

Trin 1
For at kende firewallens aktuelle tilstand udfører vi følgende linje:

 sudo iptables -L -n -v 

FORSTØRRE

Trin 2
Der kan vi validere hver kæde med dens respektive niveauer af administrerede pakker, parametrene, der bruges i denne kommando, er:

-LVis listereglerne.

-vGenererer detaljerede oplysninger, f.eks. Grænsefladens navn, plus regelindstillinger, plus pakke- og byttællere er også angivet med suffikset 'K', 'M' eller 'G' for valgmuligheder på henholdsvis 1000, 1.000.000 og 1.000.000.000.

-nViser IP -adresse og port i numerisk format.

Trin 3
Hvis du ønsker det, kan du se dette resultat med antal linjer, vi kan udføre følgende:

 iptables -n -L -v --linienumre 

FORSTØRRE

3. Stop, genstart eller start iptables på Linux

Trin 1
Hovedkommandoerne til at administrere iptables -opgaver på start- eller stopniveau er:

 service iptables stop service iptables starter service iptables genstart
Trin 2
Det vil også være muligt at bruge kommandoen iptables til at stoppe firewallen og fjerne alle reglerne som denne:
 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORward Accept
Trin 3
De definerede parametre er:

-FFjern alle regler.

-XSlet en streng.

-ttabelnavn: Vælg tabellen (navngivet nat eller mangle), og slet eller kassér reglerne.

-PAngiv standardpolitikken, f.eks. DROP, REJECT eller ACCEPT.

4. Tilføj nye firewall -regler i Linux

Trin 1
En af de mest praktiske opgaver for iptables er at oprette visse regler for korrekt håndtering af pakkerne, for at indsætte en eller flere regler i den valgte kæde vil vi bruge følgende syntaks, hvor linjenumrene først skal opdages:

 iptables -L INPUT -n --linienumre 
Trin 2
Lad os f.eks. tilføje følgende regel:
 iptables -I INPUT 2 -s 192.168.0.50 -j DROP 
Trin 3
Senere vil vi se reglerne ved hjælp af kommandoen ovenfor. Der ser vi, at den oprettede regel er tilføjet på linje 3 som angivet.

FORSTØRRE

5. Slet en firewall -regel på Linux

Trin 1
Først og fremmest skal vi vise de regler, der er oprettet for at bestemme præcis, hvilken der skal elimineres, for at få disse oplysninger har vi følgende muligheder:

 iptables -L INPUT -n --line -numbers iptables -L OUTPUT -n --line -numbers iptables -L OUTPUT -n --line -numbers | mindre
Trin 2
For at slette regel 3, der er oprettet tidligere, vil vi udføre følgende:
 iptables -D INDGANG 3 

FORSTØRRE

6. Gem og gendan iptables -regler på Linux

Trin 1
Hver gang vi foretager en ændring i iptables -reglerne, skal vi fortsætte med at gemme disse ændringer, for det er nok at udføre følgende linje:

 service iptables ved 
Trin 2
Vi kan simpelthen gendanne de regler, vi har gemt, ved at udføre følgende:
 service iptables genstartes 

7. Angiv standardregler i Linux


Med iptables vil det være muligt at tillade eller afvise de standardregler, der skal anvendes på hele systemet på følgende måde.

Trin 1
For at fjerne al trafik udfører vi:

 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FREMTROP
Trin 2
Sådan fjernes al indgående trafik:
 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state -NEW, ESTABLISHED -j ACCEPT

FORSTØRRE

8. Bloker en IP -adresse i Linux

Med iptables vil det være muligt at blokere en bestemt IP -adresse for at forhindre den i at få netværkspakkeadgang til systemet. Til denne opgave har vi følgende muligheder:

 iptables -A INPUT -s 192.168.0.14 -j DROP (Specific IP) iptables -A INPUT -s 192.168.0.0/24 -j DROP (Adresseområde)

9. Bloker indgående portanmodninger på Linux

Trin 1
En anden typisk sikkerhedsopgave er at begrænse pakkeadgang via en bestemt port, med iptables har vi følgende muligheder:

Bloker alle handlingerBloker alle handlinger for en bestemt port ved at udføre:

 iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

Bloker en portBloker en port for en bestemt IP -adresse:

 iptables -A INPUT -p tcp -s 192.168.0.14 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.0.1/24 --dport 80 -j DROP

Bloker udgående IP -adresse
Det er muligt at blokere udgående trafik til en bestemt vært eller et bestemt domæne, for eksempel Solvetic.com, for dette udfører vi følgende:

 vært -t til solvetic.com 

FORSTØRRE

Trin 2
Nu blokkerer vi med denne IP -adresse:

 iptables -A OUTPUT -d 178.33.118.246 -j DROP 
Trin 3
Det vil også være muligt at blokere hele domænet således:
 iptables -A OUTPUT -p tcp -d www.solvetic.com -j DROP 

10. Uanset om du vil tillade netværkstrafik ved hjælp af MAC -adresse i Linux

En anden mulighed at bruge er at begrænse eller tillade brug af pakker baseret på MAC -adressen på den valgte enhed. Til dette vil vi bruge en af ​​følgende muligheder:

 iptables -A INPUT -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j DROP (Nægt trafik fra den valgte MAC -adresse) iptables -A INPUT -p tcp -destination -port 22 -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Understøtter pakker fra den adresse, der kun er angivet med port 22)

11. Bloker eller tillad ICMP -anmodninger på Linux


ICMP -protokollen (Internet Control Message Protocol) er en protokol, der er udviklet til at håndtere oplysninger relateret til fejl i lokale netværkscomputere, så der med denne protokol kan foretages fjernanmodninger om at verificere tilgængelighed. Af et team, og dette med hensyn til sikkerhed kan være delikat .

Trin 1
Vi kan køre følgende linjer for at undgå ICMP -anmodninger på Linux:

 iptables -A INPUT -p icmp --icmp -type echo -request -j DROP iptables -A INPUT -i eth1 -p icmp --icmp -type echo -request -j DROP
Trin 2
Ping -svarene kan også være begrænset til bestemte netværk eller værter som dette:
 iptables -A INPUT -s 192.168.0.1/24 -p icmp --icmp -type echo -request -j ACCEPT 
Trin 3
Vi vil kun kunne acceptere en begrænset type ICMP -anmodninger som denne:
 iptables -A INPUT -p icmp --icmp -type echo -reply -j ACCEPT iptables -A INPUT -p icmp --icmp -type destination -utilgængelig -j ACCEPT iptables -A INPUT -p icmp --icmp -type time- overskredet -j ACCEPT

12. Åbn en række porte og IP -adresser i Linux

Trin 1
Dette er nyttigt, hvis vi har brug for at aktivere et defineret udvalg af porte til at udføre administrative eller programudførelseshandlinger:

 iptables -A INDGANG -m tilstand -stat NY -m tcp -p tcp --port 9000: 9020 -j ACCEPT 
Således har vi åbnet rækkevidden af ​​porte 9000 til 9020 for TCP -forbindelser.

Trin 2
Et andet alternativ er at aktivere en række IP -adresser ved at indstille en bestemt port som denne. Der har vi godkendt dette område til at bruge port 80.

 iptables -A INPUT -p tcp -destination -port 80 -m iprange --src -område 192.168.0.70-192.168.0.80 -j ACCEPT 

13. Begræns antallet af parallelle forbindelser til en server ved hjælp af klient -IP på Linux

Trin 1
Vi kan bruge connlimit -modulet til at definere disse begrænsninger, for eksempel for at tillade 5 ssh -forbindelser pr. Klient, indtaster vi følgende:

 iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit -above 5 -j REJECT 

FORSTØRRE

Trin 2
Sådan begrænser du HTTP -adgang til 10:

 iptables -p tcp --syn --dport 80 -m connlimit --connlimit -over 10 --connlimit -mask 24 -j DROP 
Trin 3
Vi har angivet følgende:
  • --climlimit-over 5: Matcher, hvis antallet af eksisterende forbindelser er større end 5.
  • --connlimit-mask 24: Disse er gruppeværterne, der bruger præfikslængden. For IPv4 skal det være et tal mellem (inklusive) 0 og 32.

14. Begræns antallet af parallelle forbindelser til en server ved hjælp af klient -IP på Linux

Trin 1
NAT (Network Address Translation) er et system til at oversætte netværksadresser og dermed lette navigationen. For at liste disse vil vi udføre følgende:

 iptables -t nat -L -n -v 

FORSTØRRE

Trin 2
Det vil være muligt at se dette resultat med deres respektive linjer som dette:

 iptables -t nat -v -L -n --linienummer 

15. Tydelige NAT -regler på Linux


Trin 1
Hvis vi vil slette de etablerede NAT -regler, udfører vi følgende:
 iptables -t nat -v -L -n --linienummer iptables -t nat -v -L PREROUTING -n --line -nummer iptables -t nat -v -L POSTROUTING -n --line -nummer
Trin 2
For at slette alle "PREROUTING" -reglerne udfører vi følgende syntaks:
 iptables -t nat -D PREROUTING {Regelnummer} 
Trin 3
For at slette alle "POSTROUTING" -regler, vi udfører:
 iptables -t nat -D POSTROUTING {regelnummer} 

16. Nulstil pakketællere i Linux


Først skal vi udføre kommandoen "iptables -L -n -v", som vi så tidligere, for at liste tællerne.

Trin 1
For at rydde disse tællere skal du bare køre følgende:

 iptables -Z 
Trin 2
For at nulstille de kun adgangstællere, vi udfører:
 iptables -Z INDGANG 

17. Valider firewall'en på Linux

Trin 1
Først og fremmest skal vi validere, om portene er åbne eller ej med følgende kommando:

 netstat -tulpn 

FORSTØRRE

Trin 2
For at validere en bestemt port udfører vi:

 netstat -tulpn | grep: 80 

FORSTØRRE

Trin 3
Hvis porten ikke er åben, udfører vi:

 service httpd start 
Trin 4
Derefter skal vi sikre os, at iptables har adgang via denne port:
 iptables -L INPUT -v -n | grep 80 

18. Tillad loop -adgang med iptables på Linux

Loopback -adgang, hvis adgang er fra IP 127.0.0.1, er vigtig og bør altid være aktiv til administration og netværksstyringsopgaver. For at aktivere det i iptables skal du bare udføre følgende.

 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

19. Definer nye iptables -strenge på Linux


Trin 1
Med iptables har vi mulighed for at definere vores egen kæde og gemme brugerdefinerede regler i den. For at definere en kæde udfører vi følgende:
 iptables -N "Stringnavn" 
Trin 2
Derefter kører vi "iptables -L" for at liste iptables -strengene:

FORSTØRRE

Trin 3
I resultatet ser vi vores oprettede kæde:

FORSTØRRE

20. Ryd iptables firewall -kæder eller regler på Linux

For at udføre denne sletning skal vi udføre følgende:

 iptables -F 
Som vi kan se, er iptables en omfattende løsning til centralt at styre forskellige sikkerhedsaspekter i Linux -distributioner for at opnå forbedringer i alt, der vedrører privatlivets fred.

wave wave wave wave wave