Sådan sikres din Linux-skrivebord med Iptables
Linux kan have et ry for sikkerhed, men det er ikke perfekt. Mange distributioner har heller ikke de bedste sikkerhedsstandarder, så det er bedst at implementere nogle bedste metoder til sikkerhed. Et sådant eksempel bruger en firewall.
Der er et par muligheder for firewalls i Linux, men de fleste er faktisk bare wrappers omkring iptables. Til denne vejledning viser vi dig, hvordan du arbejder med iptables direkte.
Hvad er Iptables?
Iptables er Linux-kernel firewall. Den leveres med alle Linux-distributioner, og det er den mest direkte måde at styre trafik, der kommer ind og ud af din computer.
Iptables har et ry for at være kompleks, og det kan være. Du behøver ikke at vide alt om iptables til at bruge det effektivt på dit skrivebord. Du skal bare have nogle grundlæggende kendskab til, hvordan det virker, og hvordan dets regler er struktureret.
Relateret : Sådan håndteres og konfigureres firewall i Linux
Kommandostruktur
Alle iptables regler følger den samme grundlæggende struktur. Hver regel er en enkeltlinjekommando til iptables, der fortæller det, hvordan man kan håndtere trafik på en bestemt port. Se eksemplet nedenfor:
-A INPUT -i eth0 -p tcp -m state --state OPSTILLET, RELATERET --Sport 80 -J ACCEPT
Det kan se meget ud, men det er virkelig nemt, når du bryder det ned. For det første begynder denne regel med -A
fordi den vil føje til dine iptables regler.
Dernæst angiver -i
flag den grænseflade, som reglen er beregnet til. I dette tilfælde er det eth0
. Når du skriver dine egne regler, skal du sørge for, at du ved, hvilken grænseflade du er forbundet med dit netværk igennem.
Det følgende flag, -p
, navngiver protokollen. Denne regel gælder for tcp
, som er webtrafik.
-m
flag er lidt anderledes. Det er vant til at hævde, at der er en betingelse, der skal opfyldes for at trafikken ikke kan afvises. Tilstanden i denne regel er staten.
Stat er faktisk det næste flag. Du skal give - --state
en liste over acceptable stater skrevet i alle hætter og adskilt med kommaer. Denne regel accepterer både nye og etablerede forbindelser.
Det andet til sidste flag er her - --sport
. Det står for "source port", og det fortæller iptables hvor trafikken kommer fra. Der er også et --dport
der står for "destinationsport". Det bruges til OUTPUT
regler til håndtering af, hvilken --dport
der kommer fra.
Endelig er der -j
flag. Det fortæller iptable hvilken handling at "hoppe" til. I dette tilfælde skal den ACCEPT
den trafik, der opfylder de tidligere betingelser.
Brug af en fil
Du kan indtaste dine regler i iptables manuelt en efter en. Det er utroligt kedeligt, og det er meget nemt at miste om hvor du er og hvad du laver. Det er meget bedre at oprette en reglerfil, som du kan importere til iptables på én gang.
Det er ligegyldigt, hvor du opretter filen. Folk gør dem endda i /tmp
biblioteket, fordi iptables gemmer resultatet, efter at det er importeret.
Opret din fil. Denne vejledning skal bruge /tmp/iptables-ip4
. I filen tilføj følgende to linjer. Alle dine regler vil gå imellem dem.
* filter # Dine regler her COMMIT
Opret dine regler
Du kan begynde at oprette dine regler. Det er kun forslag. Selvfølgelig, hvis du kører andre tjenester eller har brug for andre porte åbne, kan du helt sikkert justere nogle ting eller tilføje dine egne regler.
loopback
Loopback-grænsefladen er en intern grænseflade, som Linux bruger.
-A INPUT -i lo -j ACCEPT-A OUTPUT -o lo -j ACCEPT
Ping
Dette er et spørgsmål om præference. Mange mennesker kan ikke lide at tillade ping overhovedet på deres desktops. Det kan dog være nyttigt at få det til at teste forbindelser. Hvis du vil tillade ping, skal du tilføje reglerne nedenfor. Hvis du ikke gør det, skal du udelukke dem.
-A INPUT -i eth0 -p icmp -m-tilstand -Stat NEW --ICPP-type 8 -J ACCEPT -A INPUT -i eth0 -p icmp -m state --state OPSTILLET, RELATERET -J ACCEPT-A OUTPUT - o eth0 -p icmp -j ACCEPT
Internettet
Du vil selvfølgelig gerne være i stand til at oprette forbindelse til internettet. På den anden side vil du ikke tillade forbindelser, der stammer fra internettet.
-A INPUT -i eth0 -p tcp -m state -state OPSTILLET, RELATERET --Sport 80 -J ACCEPT -A INPUT -i eth0 -p tcp -m state --Stat ESTABLISHED, RELATED --port 443 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp - port 443 -j ACCEPT
Du skal også tillade DNS-forbindelser, så din computer kan bruge webadresser i stedet for kun IP-adresser, fordi det ikke ville være meget praktisk. Erstat din routerens IP-adresse til den, der bruges her.
-A INPUT -i ens3 -s 192.168.1.1 -p udp --port 53 -m state -state OPSTILLET, RELATERET -J ACCEPT -A OUTPUT -o ens3 -d 192.168.1.1 -p udp --port 53 -m udp -j ACCEPT
Tid
De fleste Linux-stationære computere bruger NTP til at indstille og vedligeholde systemtiden fra internettet. Du skal tillade din computer at oprette forbindelse til en NTP-server for at få tid.
-A INPUT -i eth0 -p udp -m state -state OPSTILLET, RELATERET --port 123 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --sport 123 -j ACCEPT
Trykning
Medmindre du bruger en USB-printer eller en ekstern printerserver, skal du aktivere forbindelser til CUPS.
-A INPUT -p udp -m udp --dport 631 -j ACCEPT -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A OUTPUT -p udp -m udp --port 631 -j ACCEPT -A OUTPUT -p tcp -m tcp --port 631 -j ACCEPT
Du vil sikkert også kunne sende og modtage e-mail. Email kan være vanskelig. De havne, der tillades her, er SSL-e-mail-porte. Hvis du skal bruge usikret e-mail, skal du erstatte de pågældende porte.
# IMAP -A INPUT -i eth0 -p tcp -m state -state OPSTILLET, RELATERET --port 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 993 -j ACCEPT # POP3 -A INPUT -i eth0 -p tcp -m tilstand - statlig OPSTILLET, RELATERET --port 995 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 995 -j ACCEPT # SMTP -A INPUT -i eth0 -p tcp -m state -state OPSTILLET, RELATERET --port 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 465 -j ACCEPT
SSH
For fuldt ud at udnytte SSH-forbindelser skal du tillade både input og output over SSH.
# Input -A INPUT -i ens3 -p tcp -m state --stat NYHED, OPSTILLET --port 22 -j ACCEPT -A OUTPUT -o ens3 -p tcp -m state -state ESTABLISHED --port 22 -j ACCEPT # Output -A OUTPUT -o ens3 -p tcp -m state --stat NYHED, OPSTILLET --port 22 -j ACCEPT -A INPUT -i ens3 -p tcp -m state -state ESTABLISHED --port 22 -j ACCEPT
DHCP
De fleste Linux-stationære computere bruger DHCP til automatisk at modtage en IP-adresse fra en router. DHCP bruger sine egne porte, så de skal også være tilgængelige. Hvis du bruger en statisk IP, behøver du ikke disse regler.
-A INPUT -i eth0 -p udp -m state -state OPSTILLET, RELATERET --Sport 67:68 -J ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 67:68 -j ACCEPT
Afvis alt andet
Endelig vil du fortælle iptables at afvise absolut alt, hvad du ikke udtrykkeligt tillod i ovenstående regler.
-A INPUT -J REJECT-A FORWARD -J REJECT-A OUTPUT -J REJECT
Efter alt skal dine regler se ud som disse.
Importerer dine regler
Du har nu en fuldt funktionel iptables regler liste. Du skal bare aflevere det til iptables at bruge.
Hvis nogle regler er blevet tilføjet over tid, rydde dem ud. Efter disse kommandoer kan du se de standardindstillinger, der tillader alt.
sudo iptables -F && sudo iptables -X
Med de væk, kan du gendanne de nye fra den fil, du oprettede.
sudo iptables-gendan </ tmp / itpables-ip4
Din computer bruger nu de nye iptables-regler. Du kan tjekke dem ud.
sudo iptables -S
De er dog ikke permanente endnu. Hvis du genstarter din computer nu, vil du have en virkelig dårlig tid.
Gør dem permanent
Der er flere måder at gøre reglerne permanente på. De er forskellige for hver distribution. Denne vejledning vil fokusere på Debian- og Ubuntu-baserede systemer, da de er de mest populære.
Der findes en pakke, kaldet iptables-persistant
, der håndterer at gemme og genoprette iptables. Alt du skal gøre er at installere det.
sudo apt installere iptables-vedholdende
Under installationen spørger pakken dig om du vil gemme din konfiguration. Vælg "Ja".
I fremtiden, hvis du vil tilføje regler, kan du gemme igen ved at køre følgende kommando.
sudo service netfilter-vedvarende gemme
Du har nu kontrol over trafikken, der flyder gennem din computer. Der er sikkert mere, du kan gøre med iptables, men du bør føle dig sikker på det grundlæggende først.