Även om Linux är ett av de mest pålitliga och säkra operativsystemen, tack vare dess egenskaper, kommer det alltid att finnas någon form av sårbarhet, oavsett om det är inneboende i systemet eller oavsiktligt av användaren. För att öka Linux -säkerheten har vi olika verktyg utformade för att skydda tjänster, processer, profiler eller filer och idag kommer vi att fokusera på en speciell som heter Iptables.
Vad är IptablesIptables är ett avancerat brandväggsverktyg som är integrerat i Linux -kärnan som är en del av ett projekt som heter netfilter.
Tack vare Iptables kommer vi att kunna hantera alla inkommande och utgående anslutningar till servern exakt och direkt. Iptables är utvecklat för IPv4 -adressering medan vi för IPv6 har Ip6 -tabeller.
1. Iptables -struktur i Linux
Strukturen som vi hittar i Iptables är följande:
RåDen ansvarar för att filtrera paketen före någon annan befintlig tabell
FiltreraDetta är programmets standardtabell
NatDen används för översättning av nätverksadresser
MangroveDet används för ändring av specialiserade nätverkspaket
säkerhetKan implementeras för obligatoriska regler för nätverksanslutning för åtkomstkontroll
2. Kommandostruktur i Iptables på Linux
I Iptables är varje regel ett kommando som anger hur nätverkets pakettrafik ska hanteras.
Vi kan använda följande struktur:
-En INGÅNG -i eth0 -p tcp -m -tillstånd -ESTABLISHED, RELATED --sport 80 -j ACCEPTDe parametrar som används är:
- -A: Anger att reglerna kommer att läggas till i Iptables
- -i: Anger gränssnittet för vilket regeln ska tillämpas
- -p: Avser protokollet där regeln kommer att gälla
- -m: Avser att det finns ett villkor som måste uppfyllas för att tillämpa regeln
- --stat: Tillåt godkännande av nya anslutningar
- --sport: Anger källporten
- -j: (Jump) indikerar att de kan acceptera all trafik som uppfyller de givna villkoren.
3. Skapa regler med Iptables på Linux
Även om vi kan lägga till reglerna manuellt är det mycket mer praktiskt att skapa en reglerfil och sedan importera den. I det här fallet skapar vi filen i sökvägen / tmp / iptables-ip4 och vi kan använda en redigerare för dess respektive justering:
sudo nano / tmp / iptables-ip4Syntaxen kommer att vara följande:
* filtrera # regler för att lägga till COMMITNu skapar vi följande regler i filen:
Loopback = Det är det externa gränssnittet för Linux
-En INGÅNG -i lo -j ACCEPTERA -A UTGÅNG -o lo -j ACCEPTERA
Ping = Tillåter oss att kontrollera nätverksanslutningar
-En INGÅNG -i eth0 -p icmp -m tillstånd -stat NY --icmp -typ 8 -j ACCEPT -A INGÅNG -i eth0 -p icmp -m tillstånd -stat ESTABLISHED, RELATED -j ACCEPT -A OUTPUT - o eth0 -p icmp -j ACCEPTERA
Webb = Genom dessa regler kontrollerar vi inkommande och utgående trafik.
-En INGÅNG -i et0 -p tcp -m tillstånd -stat ESTABLISHED, RELATED --sport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m state -state ESTABLISHED, RELATED --sport 443 -j ACCEPT -En UTGÅNG -o eth0 -p tcp -m tcp --port 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 443 -j ACCEPT
Om vi lägger till DNS använder vi följande rader:
-A INGÅNG -i ens3 -s 192.168.0.1 -p udp -sport 53 -m tillstånd -stat ESTABLISHED, RELATED -j ACCEPT -A OUTPUT -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j ACCEPTERA
Notera:Här måste vi ändra IP efter behov
Time = Dessa regler tillåter anslutning till NTP för korrekt tidssynkronisering
-En INGÅNG -i eth0 -p udp -m tillstånd -stat ESTABLISHED, RELATED --dport 123 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp -sport 123 -j ACCEPT
Utskrift = Tillåter att USB -portar för anslutande skrivare aktiveras
-A INPUT -p udp -m udp --port 631 -j ACCEPT -A INPUT -p tcp -m tcp --port 631 -j ACCEPT -A OUTPUT -p udp -m udp -sport 631 -j ACCEPT -A OUTPUT -p tcp -m tcp -sport 631 -j ACCEPTERA
Email = Vi kan aktivera de olika e -postprotokollen
# IMAP -A INGÅNG -i et0 -p tcp -m tillstånd -stat ESTABLISHED, RELATED -sport 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 993 -j ACCEPT
# POP3 -A INGÅNG -i eth0 -p tcp -m tillstånd -stat ESTABLISHED, RELATED --sport 995 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 995 -j ACCEPT
# SMTP -A INGÅNG -i eth0 -p tcp -m tillstånd -stat ESTABLISHED, RELATED --sport 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 465 -j ACCEPT
SSH = Aktivera säkra anslutningar till datorn med SSH -protokollet
# Inmatning -A INGÅNG -i ens3 -p tcp -m tillstånd -stat NY, ETABLERAD --port 22 -j ACCEPT -A UTGÅNG -o ens3 -p tcp -m tillstånd -stat ESTABLISHED -sport 22 -j ACCEPT
# Output -A OUTPUT -o ens3 -p tcp -m state -state NEW, ESTABLISHED --dport 22 -j ACCEPT -A INPUT -i ens3 -p tcp -m state -state ESTABLISHED --sport 22 -j ACCEPT
DHCP: Vi kan skapa regler för att auktorisera IP -adressering genom DHCP
-En INGÅNG -i eth0 -p udp -m tillstånd -stat ESTABLISHED, RELATED -sport 67:68 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --port 67:68 -j ACCEPT
Avvisa alla anslutningar: Vi kan lägga till följande rader för att inaktivera allt ovan:
-EN INGÅNG -j AVVISA -EN FRAMÅT -j AVVISA -EN UTGÅNG -j AVvisa
Alla dessa rader kommer att läggas till i den nämnda filen:
FÖRSTORA
Vi sparar ändringarna
Ctrl + O
Vi lämnar redaktören med
Ctrl + X
4. Importera reglerna med Iptables Linux
När filen är redigerad kan vi importera dessa regler till Iptable genom att köra följande kommando:
sudo iptables -F && sudo iptables -XVi kan se status för reglerna med kommandot sudo iptables -S:
FÖRSTORA
Om vi vill återställa alla regler kör vi följande rad:
sudo iptables-restore < / tmp / itpables-ip4Om vi vill att dessa regler ska vara permanenta kommer vi att utföra följande:
sudo apt installera iptables-persistentPå detta sätt är Iptables vår bästa allierade när vi konfigurerar brandväggen i Linux -miljöer.