Mainos / Advertisement:

Ero sivun ”Iptables/fi” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
(Tuodaan uusi versio ulkoisesta lähteestä)
 
(Päivitetty vastaamaan uutta versiota lähdesivusta)
 
Rivi 17: Rivi 17:
 
   iptables -L -v
 
   iptables -L -v
  
Komento tulostaa:
+
Iptablesiin voi lisätä sääntöä komentoina tai kirjoittamalla tiedostoon. On suositeltavaa kirjoittaa tiedostoon sillä kun Linux sammuu, se tyhjentää iptablesin kaikki säännöt. Tallentaminen onnistuu esimerkiksi iptables-persistent paketilla.
  
  Chain fail2ban-ssh (1 references)
+
Säännön lisääminen komentoina. Esimerkiksi sallitaan paikallinen liikenne:
  target    prot opt source              destination       
 
  DROP      all  --  192.168.100.100          0.0.0.0/0         
 
  RETURN    all  --  0.0.0.0/0            0.0.0.0/0
 
  
Poistetaan IP-osoite fail2ban ssh korvaamalla <banned_ip> ban IP-osoitteella.
+
  iptables -A INPUT -i lo -j ACCEPT
  
  iptables -D fail2ban-ssh -s <banned_ip> -j DROP
+
=== Peruspalomuurisäännöt ===
  
 +
Tässä esimerkki palomuuri käy jokaiselle. Kopioi tämä tiedostoksi ja aja palomuurin [[Iptables#Automaattinen_palomuuriasetuksen_lataus_tiedostosta_k.C3.A4ynnist.C3.A4ess.C3.A4|palautuskomento]].
  
Lisätään IP-osoite ban listalle manuaalisesti:
+
<pre>
 +
  *filter
 +
  :INPUT DROP [0:0]
 +
  :FORWARD ACCEPT [0:0]
 +
  :OUTPUT ACCEPT [0:0]
 +
 
 +
  # Salli pakallinen liikenne
 +
  -A INPUT -i lo -j ACCEPT
 +
  # Ensimmäinen paketti on SYN bitti. Jos se ei ole niin estetään yhteys.
 +
  -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
 +
 
 +
  # Estä rikkinäiset paketit
 +
  -A INPUT -f -j DROP
 +
 
 +
  # Estä XMAS paketit
 +
  -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
 +
 
 +
  # Estä "NULL" paketit
 +
  -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
 +
 
 +
  # Rajoita TCP RST (TCP RESET).
 +
  -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit-burst 2 -j ACCEPT
 +
 
 +
  # Estä kaikki virheelliset paketit
 +
  -A INPUT -m state --state INVALID -j DROP
 +
  -A FORWARD -m state --state INVALID -j DROP
 +
  -A OUTPUT -m state --state INVALID -j DROP
 +
 
 +
  # Estä väärennetyt paketit
 +
  -A INPUT -s 169.254.0.0/16 -j DROP
 +
  -A INPUT -s 127.0.0.0/8 -j DROP
 +
  -A INPUT -s 224.0.0.0/4 -j DROP
 +
  -A INPUT -d 224.0.0.0/4 -j DROP
 +
  -A INPUT -s 240.0.0.0/5 -j DROP
 +
  -A INPUT -d 240.0.0.0/5 -j DROP
 +
  -A INPUT -s 0.0.0.0/8 -j DROP
 +
  -A INPUT -d 0.0.0.0/8 -j DROP
 +
  -A INPUT -d 239.255.255.0/24 -j DROP
 +
  -A INPUT -d 255.255.255.255 -j DROP
 +
 
 +
  # ICMP hyökkäyksen torjunta ja rajoitettu määrä pyyntöjä
 +
  -A INPUT -p icmp --icmp-type address-mask-request -j DROP
 +
  -A INPUT -p icmp --icmp-type timestamp-request -j DROP
 +
  -A INPUT -p icmp --icmp-type router-solicitation -j DROP
 +
  -A INPUT -p icmp -m limit --limit 2/second -j ACCEPT
 +
 
 +
  # Hyväksy SSH
 +
  -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
 +
 +
  # Estä SYN-FLOOD paketit
 +
  -A INPUT -p tcp -m state --state NEW -m limit --limit 50/second --limit-burst 50 -j ACCEPT
 +
  -A INPUT -p tcp -m state --state NEW -j DROP
 +
 
 +
  # Salli tunnetut yhteydet ja estetään INVALID paketit.
 +
  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 +
  -A INPUT -m state --state INVALID -j DROP
 +
 
 +
  COMMIT
 +
</pre>
  
   iptables -A INPUT -s <banned_ip> -j DROP
+
=== Palomuuri asetusten tallennus tiedostoon ja palautus ===
 +
 
 +
Tallenna palomuuriasetukset
 +
 
 +
   iptables-save > /etc/iptables/rules.v4
 +
 
 +
Palauta palomuuriasetukset tiedostosta
 +
 
 +
  iptables-restore < /etc/iptables/rules.v4
 +
 
 +
Tallenna IPv6 palomuuriasetukset tiedostoon
 +
 
 +
  ip6tables-save > /etc/iptables/rules.v6
 +
 
 +
 
 +
=== Automaattinen palomuuriasetuksen lataus tiedostosta käynnistäessä ===
 +
 
 +
Iptables-persisten paketti on Wheezyssä, Jessiessä se löytyy nimellä netfilter-persistent.
 +
 
 +
Asenna pakettihallinnasta.
  
Verkko-osoiteavaruuksinen  ban
+
  [[apt-get]] install iptables-persistent
  
  iptables -A INPUT -s <banned_ip>/24 -j DROP
+
Palomuuria voi konfiguroida täältä. Vain tänne tallennetut latautuvat käynnistyksen yhteydessä:
  
Verkko-alueen ban:
+
  nano /etc/iptables/rules.v4
  
   iptables -A INPUT -m iprange --src-range <banned-ip>-<range> -j DROP
+
   nano /etc/iptables/rules.v6
  
"/24" tarkoittaa verkkomaskia, oletuksena se on 24 = 255.255.255.0
+
Tallenna käytössä oleva palomuuri tiedostoon
  
Lista boteista:
+
  service iptables-persistent save
  
  116.10.191.0/24
+
Lataa tiedostosta
  61.174.50.0/24
 
  61.174.51.0/24
 
  
Kun olet estänyt manuaalisesti voit katsoa iptablea, ja se näyttää tältä
+
  service iptables-persistent reload
  
Chain INPUT (policy ACCEPT)
+
== IPv6 ==
target    prot opt source              destination
 
fail2ban-proftpd  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 21,20,990,989
 
fail2ban-ssh  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 22
 
DROP      all  --  116.10.191.0/24      0.0.0.0/0
 
  
 +
Ip6tables on Linuxilla palomuuri IPv6 verkkoon.
  
Salli kaikki liikenne ulospäin
+
Tässä on esimerkki palomuuriasetus jokaiselle.
  
iptables -I OUTPUT -o eth0 -d 0.0.0.0/0 -j ACCEPT
+
<pre>
iptables -I INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
+
#Sallitaan paikallinen liikenne
 +
-A INPUT -i lo -j ACCEPT
 +
-A OUTPUT -o lo -j ACCEPT
  
=== Palomuuri asetusten tallennus tiedostoon ja palautus ===
+
#Estä RH0 pakettien liikennöinti
 +
-A INPUT -m rt --rt-type 0 -j DROP
 +
-A FORWARD -m rt --rt-type 0 -j DROP
 +
-A OUTPUT -m rt --rt-type 0 -j DROP
 +
 
 +
#Salli paikallisen verkon liikenne
 +
-A INPUT -s fe80::/10 -j ACCEPT
 +
-A OUTPUT -s fe80::/10 -j ACCEPT
 +
-A INPUT -d ff00::/8 -j ACCEPT
 +
-A OUTPUT -d ff00::/8 -j ACCEPT
 +
 
 +
-A INPUT -p icmpv6 -j ACCEPT
 +
-A OUTPUT -p icmpv6 -j ACCEPT
 +
 
 +
#Estetään SSH portti IPv6:lla. On suositeltavaa sallia tietyistä IPv6 osoitteista tai verkoista.
 +
-A INPUT -p tcp -m tcp --dport 22 -j DROP
 +
 
 +
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 +
-A OUTPUT -m state --state INVALID -j DROP
 +
</pre>
 +
 
 +
== NAT ==
 +
 
 +
Määritä Linuxille kaksi verkkokorttia jossa molemmissa IP-osoitteet. Sisäverkon kortissa (eth0) tulee olla kiinteä IP-osoite. Tämä toimii verkon gateway:na. Julkisella kortilla (eth1) voi olla dynaaminen IP-osoite.
  
Tallenna palomuuriasetukset
+
Salli IPv4 forwarders:
  
   iptables-save > /etc/iptables/rules.v4
+
   nano /etc/sysctl.conf
  
Palauta palomuuriasetukset tiedostosta
+
poistamalla risuaita:
  
   iptables-restore < /etc/iptables/rules.v4
+
   net.ipv4.ip_forward=1
  
Tallenna IPv6 palomuuriasetukset tiedostoon
+
Ota muutokset käyttöön komennolla
  
   ip6tables-save > /etc/iptables/rules.v6
+
   sysctl -p /etc/sysctl.conf
  
 +
Kirjoita seuraava rivi iptables sääntöihin. Suosittelemme käyttämään iptables-persistet pakettia.
  
=== Automaattinen palomuuriasetuksen lataus tiedostosta käynnistäessä ===
+
-A POSTROUTING -o eth1 -j MASQUERADE
  
Asenna pakettihallinnasta.
+
Sisä interface sallitaan forwardoiminen eth0:sta eth1 interfaceen kunhan tila on related / established . Muuten liikenne estetään.
  
  [[apt-get]] install iptables-persistent
+
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
 +
-A FORWARD -i eth0 -i eth1 -m state --state INVALID -j DROP
  
 
== Lähde ==
 
== Lähde ==

Nykyinen versio 17. syyskuuta 2015 kello 21.41

Muut kielet:
English • ‎suomi

Iptables on pakettisuodatin. Tällä voidaan toteuttaa reitittimiä ja palomuureja.

Käyttö

Näytetään palomuuri säännöt

 iptables -L

Näytetään estetyt palomuurista esim. fail2ban

 iptables -L -n

Lista tarkemmin

 iptables -L -v

Iptablesiin voi lisätä sääntöä komentoina tai kirjoittamalla tiedostoon. On suositeltavaa kirjoittaa tiedostoon sillä kun Linux sammuu, se tyhjentää iptablesin kaikki säännöt. Tallentaminen onnistuu esimerkiksi iptables-persistent paketilla.

Säännön lisääminen komentoina. Esimerkiksi sallitaan paikallinen liikenne:

 iptables -A INPUT -i lo -j ACCEPT

Peruspalomuurisäännöt

Tässä esimerkki palomuuri käy jokaiselle. Kopioi tämä tiedostoksi ja aja palomuurin palautuskomento.

  *filter
  :INPUT DROP [0:0]
  :FORWARD ACCEPT [0:0]
  :OUTPUT ACCEPT [0:0]
  
  # Salli pakallinen liikenne
  -A INPUT -i lo -j ACCEPT
  # Ensimmäinen paketti on SYN bitti. Jos se ei ole niin estetään yhteys.
  -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
  
  # Estä rikkinäiset paketit
  -A INPUT -f -j DROP
  
  # Estä XMAS paketit
  -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
  
  # Estä "NULL" paketit
  -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
  
  # Rajoita TCP RST (TCP RESET). 
  -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit-burst 2 -j ACCEPT
  
  # Estä kaikki virheelliset paketit
  -A INPUT -m state --state INVALID -j DROP
  -A FORWARD -m state --state INVALID -j DROP
  -A OUTPUT -m state --state INVALID -j DROP
  
  # Estä väärennetyt paketit
  -A INPUT -s 169.254.0.0/16 -j DROP
  -A INPUT -s 127.0.0.0/8 -j DROP
  -A INPUT -s 224.0.0.0/4 -j DROP
  -A INPUT -d 224.0.0.0/4 -j DROP
  -A INPUT -s 240.0.0.0/5 -j DROP
  -A INPUT -d 240.0.0.0/5 -j DROP
  -A INPUT -s 0.0.0.0/8 -j DROP
  -A INPUT -d 0.0.0.0/8 -j DROP
  -A INPUT -d 239.255.255.0/24 -j DROP
  -A INPUT -d 255.255.255.255 -j DROP
  
  # ICMP hyökkäyksen torjunta ja rajoitettu määrä pyyntöjä
  -A INPUT -p icmp --icmp-type address-mask-request -j DROP
  -A INPUT -p icmp --icmp-type timestamp-request -j DROP
  -A INPUT -p icmp --icmp-type router-solicitation -j DROP
  -A INPUT -p icmp -m limit --limit 2/second -j ACCEPT
  
  # Hyväksy SSH
  -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
 
  # Estä SYN-FLOOD paketit
  -A INPUT -p tcp -m state --state NEW -m limit --limit 50/second --limit-burst 50 -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -j DROP
  
  # Salli tunnetut yhteydet ja estetään INVALID paketit.
  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  -A INPUT -m state --state INVALID -j DROP
  
  COMMIT

Palomuuri asetusten tallennus tiedostoon ja palautus

Tallenna palomuuriasetukset

 iptables-save > /etc/iptables/rules.v4

Palauta palomuuriasetukset tiedostosta

 iptables-restore < /etc/iptables/rules.v4

Tallenna IPv6 palomuuriasetukset tiedostoon

 ip6tables-save > /etc/iptables/rules.v6


Automaattinen palomuuriasetuksen lataus tiedostosta käynnistäessä

Iptables-persisten paketti on Wheezyssä, Jessiessä se löytyy nimellä netfilter-persistent.

Asenna pakettihallinnasta.

 apt-get install iptables-persistent

Palomuuria voi konfiguroida täältä. Vain tänne tallennetut latautuvat käynnistyksen yhteydessä:

 nano /etc/iptables/rules.v4
 nano /etc/iptables/rules.v6

Tallenna käytössä oleva palomuuri tiedostoon

 service iptables-persistent save

Lataa tiedostosta

 service iptables-persistent reload

IPv6

Ip6tables on Linuxilla palomuuri IPv6 verkkoon.

Tässä on esimerkki palomuuriasetus jokaiselle.

#Sallitaan paikallinen liikenne
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

#Estä RH0 pakettien liikennöinti
-A INPUT -m rt --rt-type 0 -j DROP
-A FORWARD -m rt --rt-type 0 -j DROP
-A OUTPUT -m rt --rt-type 0 -j DROP

#Salli paikallisen verkon liikenne
-A INPUT -s fe80::/10 -j ACCEPT
-A OUTPUT -s fe80::/10 -j ACCEPT
-A INPUT -d ff00::/8 -j ACCEPT
-A OUTPUT -d ff00::/8 -j ACCEPT

-A INPUT -p icmpv6 -j ACCEPT
-A OUTPUT -p icmpv6 -j ACCEPT

#Estetään SSH portti IPv6:lla. On suositeltavaa sallia tietyistä IPv6 osoitteista tai verkoista.
-A INPUT -p tcp -m tcp --dport 22 -j DROP

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state INVALID -j DROP

NAT

Määritä Linuxille kaksi verkkokorttia jossa molemmissa IP-osoitteet. Sisäverkon kortissa (eth0) tulee olla kiinteä IP-osoite. Tämä toimii verkon gateway:na. Julkisella kortilla (eth1) voi olla dynaaminen IP-osoite.

Salli IPv4 forwarders:

 nano /etc/sysctl.conf

poistamalla risuaita:

 net.ipv4.ip_forward=1

Ota muutokset käyttöön komennolla

 sysctl -p /etc/sysctl.conf

Kirjoita seuraava rivi iptables sääntöihin. Suosittelemme käyttämään iptables-persistet pakettia.

-A POSTROUTING -o eth1 -j MASQUERADE

Sisä interface sallitaan forwardoiminen eth0:sta eth1 interfaceen kunhan tila on related / established . Muuten liikenne estetään.

-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -i eth1 -m state --state INVALID -j DROP

Lähde

http://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently

http://linux.fi/wiki/Iptables

Mainos / Advertisement: