Hvordan bruke Iptables Netfilter -kommandoer på Linux

Innholdsfortegnelse

Sikkerhet må alltid være et av lokalene som administratorer, ledelse og støttepersonell og generelt alle brukere av et eksisterende operativsystem må jobbe på grunn av de mange truslene som er tilstede på nettverket.

Når det gjelder Linux -distribusjoner, har de fleste av dem de avanserte verktøyene for å bruke et filter på nettverkspakker både på nivået for nettverkspakkekontrollbehandling i inngang, bevegelse, kontroll og utgang av stakken. Nettverk i kjernen i systemet som brukes Derfor ble det i begynnelsen av kjernen 2.4 introdusert iptables, som også kalles netfilter, og disse har et høyere sikkerhetsnivå og praktiske funksjoner for beskyttelse av systemet.

iptables håndterer IPv4 -filtrering mens ip6tables håndterer IPv6 -filtrering på dagens nettverk.
Solvetic vil gjøre en analyse av hvordan iptables fungerer og noen av de mer praktiske kommandoene vi kan ta fra det.

1. Pakkefiltrering på Linux


Kjernen til Linux -distribusjoner bruker Netfilter -verktøyet til å utføre pakkefiltreringsprosessen, og dermed utføre oppgavene med å motta eller stoppe dem.

Regler innebygd i NetfilterNetfilter er som standard innlemmet i Linux -kjernen og har tre tabeller eller lister med regler integrert slik:

  • filter: Henviser til standardtabellen designet for pakkebehandling.
  • nat: Dens funksjon er å endre pakker som er opprettet i en ny forbindelse som hovedsakelig brukes av NAT.
  • mangle: Bruken gjelder når spesifikke nettverkspakker må endres.

Nå har hver tabell en gruppe innebygde kjeder som er relatert til handlingene som kan utføres av netfilter, disse er:

Regler for filtertabellerDe innebygde strengene for filterbordet er:

  • INNGANG: Det er relatert til pakkene som er bestemt til verten.
  • UTGANG: Dette fungerer på nettverkspakker som er generert lokalt.
  • FREM: Tilknytter pakkene som har blitt dirigert gjennom hovedverten.

Regler for nat -tabellerDe innebygde strengene for nat-bordet er:

  • PREROUTING: Funksjonen er å endre nettverkspakker så snart de kommer.
  • UTGANG: Den er designet for å endre nettverkspakker som opprettes lokalt og aktiveres før de sendes.
  • POSTROUTING: Laget for å endre pakker før de sendes globalt.

Regler for mangroveplaterDe innebygde kjedene til mangrovebordet er:

  • INNGANG: Designet for å endre nettverkspakkene som er beregnet for hovedverten.
  • UTGANG: Laget for å endre lokalt opprettede nettverkspakker og fungerer før de sendes.
  • FREM: Endrer pakkene som har blitt dirigert gjennom hovedverten.
  • PREROUTING: Oppgaven din er å endre innkommende pakker før de rutes.
  • POSTROUTING: Endrer nettverkspakker før sendingsprosessen finner sted.

Hver nettverkspakke som mottas eller sendes fra Linux -operativsystemet, er alltid knyttet til minst ett bord. La oss nå forstå noen av de mer nyttige kommandoene vi kan bruke med iptables.

2. Vis brannmurstatusen

Trinn 1
For å vite den nåværende tilstanden til brannmuren utfører vi følgende linje:

 sudo iptables -L -n -v 

FORSTØRRE

Steg 2
Der kan vi validere hver kjede med sine respektive nivåer av administrerte pakker, parametrene som brukes i denne kommandoen er:

-LVis listereglene.

-vGenererer detaljert informasjon som grensesnittnavn, pluss regelalternativer, pluss pakke- og byte -tellere er også oppført, med suffikset 'K', 'M' eller 'G' for alternativer på henholdsvis 1000, 1.000.000 og 1.000.000.000.

-nViser IP -adressen og porten i numerisk format.

Trinn 3
Hvis du vil, kan du se dette resultatet med antall linjer, vi kan utføre følgende:

 iptables -n -L -v --linjenumre 

FORSTØRRE

3. Stopp, start på nytt eller start iptables på Linux

Trinn 1
Hovedkommandoene for å administrere iptables -oppgaver på start- eller stoppnivå er:

 service iptables stopp service iptables start service iptables restart
Steg 2
Det vil også være mulig å bruke iptables -kommandoen for å stoppe brannmuren og eliminere alle reglene slik:
 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
Trinn 3
De definerte parametrene er:

-FFjern alle reglene.

-XSlett en streng.

-ttable_name: Velg tabellen (navngitt nat eller mangle) og slett eller kast reglene.

-PAngi standardpolicy som DROP, REJECT eller ACCEPT.

4. Legg til nye brannmurregler i Linux

Trinn 1
En av de mest praktiske oppgavene til iptables er å lage visse regler for riktig håndtering av pakkene, for å sette inn en eller flere regler i den valgte kjeden vil vi bruke følgende syntaks der linjenumrene først må oppdages:

 iptables -L INNGANG -n --linjenumre 
Steg 2
La oss for eksempel legge til følgende regel:
 iptables -I INPUT 2 -s 192.168.0.50 -j DROP 
Trinn 3
Senere vil vi se reglene ved å bruke kommandoen ovenfor. Der ser vi at den opprettede regelen er lagt til på linje 3 som angitt.

FORSTØRRE

5. Slett en brannmurregel på Linux

Trinn 1
Først av alt må vi vise reglene som er opprettet for å bestemme nøyaktig hvilken som skal elimineres, for å få denne informasjonen har vi følgende alternativer:

 iptables -L INPUT -n --line -numbers iptables -L OUTPUT -n --line -numbers iptables -L OUTPUT -n --line -numbers | mindre
Steg 2
For å slette regel 3 som er opprettet tidligere, skal vi utføre følgende:
 iptables -D INNGANG 3 

FORSTØRRE

6. Lagre og gjenopprett iptables -regler på Linux

Trinn 1
Hver gang vi gjør en endring i iptables -reglene, må vi fortsette for å lagre disse endringene, for dette er det nok å utføre følgende linje:

 service iptables vet 
Steg 2
Vi kan ganske enkelt gjenopprette reglene vi har lagret ved å utføre følgende:
 service iptables starter på nytt 

7. Sett standardregler i Linux


Med iptables vil det være mulig å tillate eller nekte standardreglene som må brukes på hele systemet på følgende måte.

Trinn 1
For å eliminere all trafikk vi utfører:

 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FREMSLAG DROP
Steg 2
Slik fjerner du all innkommende trafikk:
 iptables -P INPUT DROP iptables -P FORward DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state -NEW, ESTABLISHED -j ACCEPT

FORSTØRRE

8. Blokker en IP -adresse i Linux

Med iptables vil det være mulig å blokkere en bestemt IP -adresse for å forhindre at den har tilgang til nettverkspakke til systemet. For denne oppgaven har vi følgende alternativer:

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

9. Blokker innkommende portforespørsler på Linux

Trinn 1
En annen typisk sikkerhetsoppgave er å begrense pakketilgang gjennom en bestemt port, med iptables har vi følgende alternativer:

Blokker alle handlingerBlokker alle handlinger for en bestemt port ved å utføre:

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

Blokker en portBlokker 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

Blokker utgående IP -adresse
Det er mulig å blokkere utgående trafikk til en bestemt vert eller et bestemt domene, for eksempel Solvetic.com, for dette utfører vi følgende:

 vert -t til solvetic.com 

FORSTØRRE

Steg 2
Nå, med denne IP -adressen, fortsetter vi å blokkere:

 iptables -A OUTPUT -d 178.33.118.246 -j DROP 
Trinn 3
Det vil også være mulig å blokkere hele domenet slik:
 iptables -A OUTPUT -p tcp -d www.solvetic.com -j DROP 

10. Om nettverkstrafikk skal tillates med MAC -adresse i Linux eller ikke

En annen mulighet å bruke er å begrense eller tillate bruk av pakker basert på MAC -adressen til den valgte enheten. For dette vil vi bruke ett av følgende alternativer:

 iptables -A INPUT -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j DROP (Nekt trafikk fra den valgte MAC -adressen) iptables -A INPUT -p tcp -destinasjonsport 22 -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Støtter pakker fra adressen som bare er angitt med port 22)

11. Blokker eller tillat ICMP -forespørsler på Linux


ICMP -protokollen (Internet Control Message Protocol) er en protokoll utviklet for å håndtere informasjon relatert til feil på lokale nettverksdatamaskiner, slik at med denne protokollen kan det sendes eksterne forespørsler om å verifisere tilgjengeligheten. Av et team, og dette med hensyn til sikkerhet kan være delikat .

Trinn 1
Vi kan kjøre følgende linjer for å unngå ICMP -forespørsler 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
Steg 2
Ping -svarene kan også være begrenset til visse nettverk eller verter som dette:
 iptables -A INPUT -s 192.168.0.1/24 -p icmp --icmp -type echo -request -j GODTAK 
Trinn 3
Vi vil bare kunne godta en begrenset type ICMP -forespørsler som dette:
 iptables -A INPUT -p icmp --icmp -type echo -reply -j ACCEPT iptables -A INPUT -p icmp --icmp -type destinasjon -utilgjengelig -j ACCEPT iptables -A INPUT -p icmp --icmp -type time- overskredet -j Aksept

12. Åpne en rekke porter og IP -adresser i Linux

Trinn 1
Dette er nyttig hvis vi trenger å aktivere et definert utvalg av porter for å utføre administrative eller programkjøringshandlinger:

 iptables -A INNGANG -m tilstand -stat NY -m tcp -p tcp --port 9000: 9020 -j GODTAK 
Dermed har vi åpnet utvalget av porter 9000 til 9020 for TCP -tilkoblinger.

Steg 2
Et annet alternativ er å aktivere en rekke IP -adresser ved å sette en bestemt port som denne. Der har vi godkjent dette området til å bruke port 80.

 iptables -A INNGANG -p tcp -destinasjonsport 80 -m iprange -src -område 192.168.0.70-192.168.0.80 -j Aksepter 

13. Begrens antallet parallelle tilkoblinger til en server etter klient -IP på Linux

Trinn 1
Vi kan bruke connlimit -modulen til å definere disse begrensningene, for eksempel for å tillate 5 ssh -tilkoblinger per klient, angir vi følgende:

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

FORSTØRRE

Steg 2
Slik begrenser du HTTP -tilgang til 10:

 iptables -p tcp --syn --dport 80 -m connlimit --connlimit -over 10 --connlimit -mask 24 -j DROP 
Trinn 3
Vi har angitt følgende:
  • --climlimit-over 5: Matcher hvis antall eksisterende tilkoblinger er større enn 5.
  • --climlimit-mask 24: Dette er gruppevertene som bruker prefikslengden. For IPv4 må det være et tall mellom (inkludert) 0 og 32.

14. Begrens antallet parallelle tilkoblinger til en server etter klient -IP på Linux

Trinn 1
NAT (Network Address Translation) er et system for å oversette nettverksadresser og dermed lette navigering. For å liste disse skal vi utføre følgende:

 iptables -t nat -L -n -v 

FORSTØRRE

Steg 2
Det vil være mulig å se dette resultatet med sine respektive linjer slik:

 iptables -t nat -v -L -n --linjenummer 

15. Tydelige NAT -regler på Linux


Trinn 1
Hvis vi vil slette de etablerte NAT -reglene, skal vi utføre følgende:
 iptables -t nat -v -L -n --linjenummer iptables -t nat -v -L PREROUTING -n --linjenummer iptables -t nat -v -L POSTROUTING -n --line -nummer
Steg 2
For å slette alle "PREROUTING" -reglene utfører vi følgende syntaks:
 iptables -t nat -D PREROUTING {regelnummer} 
Trinn 3
For å slette alle "POSTROUTING" -reglene vi utfører:
 iptables -t nat -D POSTROUTING {regelnummer} 

16. Tilbakestill pakketellere i Linux


Først må vi utføre kommandoen "iptables -L -n -v", som vi så tidligere, for å vise tellerne.

Trinn 1
For å fjerne disse tellerne, bare kjør følgende:

 iptables -Z 
Steg 2
For å tilbakestille de bare tilgangstellerne vi utfører:
 iptables -Z INNGANG 

17. Valider brannmuren på Linux

Trinn 1
Først av alt må vi validere om portene er åpne eller ikke med følgende kommando:

 netstat -tulpn 

FORSTØRRE

Steg 2
For å validere en bestemt port utfører vi:

 netstat -tulpn | grep: 80 

FORSTØRRE

Trinn 3
Hvis porten ikke er åpen, utfører vi:

 service httpd start 
Trinn 4
Da må vi sørge for at iptables har tilgang gjennom den porten:
 iptables -L INNGANG -v -n | grep 80 

18. Tillat loop -tilgang med iptables på Linux

Loopback -tilgang hvis tilgang er fra IP 127.0.0.1 er viktig og bør alltid være aktiv for administrasjons- og nettverksadministrasjonsoppgaver. For å aktivere det i iptables, bare kjør følgende.

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

19. Definer nye iptables -strenger på Linux


Trinn 1
Med iptables har vi muligheten til å definere vår egen kjede og lagre tilpassede regler i den. For å definere en kjede utfører vi følgende:
 iptables -N "String name" 
Steg 2
Deretter kjører vi "iptables -L" for å vise iptables -strengene:

FORSTØRRE

Trinn 3
I resultatet vil vi se vår opprettede kjede:

FORSTØRRE

20. Fjern iptables brannmurkjeder eller regler på Linux

For å utføre denne slettingen må vi utføre følgende:

 iptables -F 
Som vi kan se, er iptables en omfattende løsning for sentralt å administrere ulike sikkerhetsaspekter i Linux -distribusjoner for å oppnå forbedringer i alt knyttet til personvern.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave