Mainos / Advertisement:

Ero sivun ”Iptables” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(26 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
IPtable on Linuxissa palomuuri.
+
<languages/>
 +
<translate>
  
== Käyttö ==
+
<!--T:1-->
 +
Iptables on pakettisuodatin. Tällä voidaan toteuttaa reitittimiä ja palomuureja.
  
 +
== Käyttö == <!--T:2-->
 +
 +
<!--T:3-->
 
Näytetään palomuuri säännöt
 
Näytetään palomuuri säännöt
  
   iptables -L
+
   <!--T:4-->
 +
iptables -L
  
 +
<!--T:5-->
 
Näytetään estetyt palomuurista esim. fail2ban
 
Näytetään estetyt palomuurista esim. fail2ban
  
   iptables -L -n
+
   <!--T:6-->
 +
iptables -L -n
  
 +
<!--T:7-->
 
Lista tarkemmin
 
Lista tarkemmin
  
   iptables -L -v
+
   <!--T:8-->
 +
iptables -L -v
  
Komento tulostaa:
+
<!--T:39-->
 +
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)
+
<!--T:40-->
  target    prot opt source              destination       
+
Säännön lisääminen komentoina. Esimerkiksi sallitaan paikallinen liikenne:
  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.
+
  <!--T:41-->
 +
iptables -A INPUT -i lo -j ACCEPT
  
  iptables -D fail2ban-ssh -s <banned_ip> -j DROP
+
=== Peruspalomuurisäännöt === <!--T:42-->
  
 +
Aluksi tyhjennä palomuuri turhista säännöistä
  
Lisätään IP-osoite ban listalle manuaalisesti:
+
  iptables -F
  
  iptables -A INPUT -s <banned_ip> -j DROP
+
Muuta oletussäännöksi että estetään kaikki sisällepäin liikenne sekä forwardoiva. Ulospäin on kaikki sallittua. '''Huomaa ennen kuin  estät sisällepäin liikenteen varmista ettet käytä SSH:ta sillä tämä yhteys katkeaa!''' Lisää ensin SSH auki ennen kuin estät kaikki liikenteen.
  
Verkko-osoiteavaruuksinen  ban
+
  iptables -P INPUT DROP
 +
  iptables -P FORWARD DROP
  
  iptables -A INPUT -s <banned_ip>/24 -j DROP
+
Sallitaan lookback (paikallinen) liikenne
  
Verkko-alueen ban:
+
  iptables -A INPUT -i lo -j ACCEPT
  
  iptables -A INPUT -m iprange --src-range <banned-ip>-<range> -j DROP
+
Sallitaan sisällepäin liikenne kun on otettu ensiksi ulospäin yhteyttä
  
"/24" tarkoittaa verkkomaskia, oletuksena se on 24 = 255.255.255.0
+
  iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  
Lista boteista:
+
Sallitaan SSH liikenne
  
   116.10.191.0/24
+
   iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  61.174.50.0/24
 
  61.174.51.0/24
 
  
Kun olet estänyt manuaalisesti voit katsoa iptablea, ja se näyttää tältä
+
Estetään muut sisällepäin tulevat pyynnöt.
  
Chain INPUT (policy ACCEPT)
+
  iptables -A INPUT -j DROP
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
 
  
 +
Sallitaan ulospäin liikenne
  
Salli kaikki liikenne ulospäin
+
  iptables -A OUTPUT -j ACCEPT
  
iptables -I OUTPUT -o eth0 -d 0.0.0.0/0 -j ACCEPT
+
Tallennetaan
iptables -I INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
  
=== Palomuuri asetusten tallennus tiedostoon ja palautus ===
+
  iptables-save > /etc/iptables.rules
  
 +
Näytä palomuuri säännöt
 +
 +
  iptables -L
 +
 +
=== Palomuuri asetusten tallennus tiedostoon ja palautus === <!--T:26-->
 +
 +
<!--T:27-->
 
Tallenna palomuuriasetukset  
 
Tallenna palomuuriasetukset  
  
   iptables-save > /etc/iptables/rules.v4
+
   <!--T:28-->
 +
iptables-save > /etc/iptables/rules.v4
  
 +
<!--T:29-->
 
Palauta palomuuriasetukset tiedostosta
 
Palauta palomuuriasetukset tiedostosta
  
   iptables-restore < /etc/iptables/rules.v4
+
   <!--T:30-->
 +
iptables-restore < /etc/iptables/rules.v4
  
 +
<!--T:31-->
 
Tallenna IPv6 palomuuriasetukset tiedostoon
 
Tallenna IPv6 palomuuriasetukset tiedostoon
  
   ip6tables-save > /etc/iptables/rules.v6
+
   <!--T:32-->
 +
ip6tables-save > /etc/iptables/rules.v6
 +
 
  
 +
=== Automaattinen palomuuriasetuksen lataus tiedostosta käynnistäessä === <!--T:33-->
  
=== Automaattinen palomuuriasetuksen lataus tiedostosta käynnistäessä ===
+
<!--T:45-->
 +
Iptables-persisten paketti on Wheezyssä, Jessiessä se löytyy nimellä netfilter-persistent.
  
 +
<!--T:34-->
 
Asenna pakettihallinnasta.
 
Asenna pakettihallinnasta.
  
   apt-get install iptables-persistent
+
   <!--T:35-->
 +
[[apt-get]] install netfilter-persistent iptables-persistent
 +
 
 +
<!--T:46-->
 +
Palomuuria voi konfiguroida täältä. Vain tänne tallennetut latautuvat käynnistyksen yhteydessä:
 +
 
 +
  <!--T:47-->
 +
nano /etc/iptables/rules.v4
 +
 
 +
  <!--T:48-->
 +
nano /etc/iptables/rules.v6
 +
 
 +
<!--T:49-->
 +
Tallenna käytössä oleva palomuuri tiedostoon
 +
 
 +
  <!--T:50-->
 +
service iptables-persistent save
 +
 
 +
<!--T:51-->
 +
Lataa tiedostosta
 +
 
 +
  <!--T:52-->
 +
service iptables-persistent reload
 +
 
 +
=== Esimerkki ===
 +
 
 +
Esimerkki palomuurin jonka voit huolettaa importtaa järjestelmääsi. Tässä on sallittu varmuuden vuoksi SSH yhteydet.
 +
 
 +
<pre>
 +
:INPUT DROP [0:0]
 +
:FORWARD ACCEPT [0:0]
 +
:OUTPUT ACCEPT [0:0]
 +
-A INPUT -i lo -j ACCEPT
 +
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
 +
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
 +
-A INPUT -f -j DROP
 +
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
 +
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
 +
-A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/sec --limit-burst 2 -j ACCEPT
 +
-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/32 -j DROP
 +
-A INPUT -p icmp -m icmp --icmp-type 17 -j DROP
 +
-A INPUT -p icmp -m icmp --icmp-type 13 -j DROP
 +
-A INPUT -p icmp -m icmp --icmp-type 10 -j DROP
 +
-A INPUT -p icmp -m limit --limit 2/sec -j ACCEPT
 +
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
 +
-A INPUT -m state --state ESTABLISHED -j ACCEPT
 +
-A INPUT -j DROP
 +
-A FORWARD -j DROP
 +
-A OUTPUT -j ACCEPT
 +
</pre>
 +
 
 +
== IPv6 == <!--T:53-->
 +
 
 +
<!--T:54-->
 +
Ip6tables on Linuxilla palomuuri IPv6 verkkoon.
 +
 
 +
<!--T:55-->
 +
Tässä on esimerkki palomuuriasetus jokaiselle.
 +
 
 +
<!--T:56-->
 +
<pre>
 +
-A INPUT -i lo -j ACCEPT
 +
-A INPUT -m rt --rt-type 0 --rt-segsleft 0 -j DROP
 +
-A INPUT -s fe80::/10 -j ACCEPT
 +
-A INPUT -d ff00::/8 -j ACCEPT
 +
-A INPUT -p ipv6-icmp -j ACCEPT
 +
-A INPUT -p tcp -m tcp --dport 22 -j DROP
 +
-A INPUT -m state --state ESTABLISHED -j ACCEPT
 +
-A INPUT -j DROP
 +
-A FORWARD -m rt --rt-type 0 --rt-segsleft 0 -j DROP
 +
-A OUTPUT -m rt --rt-type 0 --rt-segsleft 0 -j DROP
 +
-A OUTPUT -s fe80::/10 -j ACCEPT
 +
-A OUTPUT -d ff00::/8 -j ACCEPT
 +
-A OUTPUT -p ipv6-icmp -j ACCEPT
 +
</pre>
 +
 
 +
 
 +
== NAT == <!--T:62-->
 +
 
 +
<!--T:63-->
 +
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.
 +
 
 +
<!--T:64-->
 +
Salli IPv4 forwarders:
 +
 
 +
  <!--T:65-->
 +
nano /etc/sysctl.conf
 +
 
 +
<!--T:66-->
 +
poistamalla risuaita:
 +
 
 +
  <!--T:67-->
 +
net.ipv4.ip_forward=1
  
== Lähde ==
+
<!--T:68-->
 +
Ota muutokset käyttöön komennolla
  
 +
  <!--T:69-->
 +
sysctl -p /etc/sysctl.conf
 +
 +
<!--T:70-->
 +
Kirjoita seuraava rivi iptables sääntöihin. Suosittelemme käyttämään iptables-persistet pakettia.
 +
 +
<!--T:71-->
 +
-A POSTROUTING -o eth1 -j MASQUERADE
 +
 +
<!--T:72-->
 +
Sisä interface sallitaan forwardoiminen eth0:sta eth1 interfaceen kunhan tila on related / established . Muuten liikenne estetään.
 +
 +
<!--T:73-->
 +
-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 == <!--T:36-->
 +
 +
<!--T:37-->
 
http://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently
 
http://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently
 +
 +
<!--T:38-->
 +
http://linux.fi/wiki/Iptables
 +
 +
</translate>

Nykyinen versio 9. marraskuuta 2016 kello 17.18

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

Aluksi tyhjennä palomuuri turhista säännöistä

 iptables -F

Muuta oletussäännöksi että estetään kaikki sisällepäin liikenne sekä forwardoiva. Ulospäin on kaikki sallittua. Huomaa ennen kuin estät sisällepäin liikenteen varmista ettet käytä SSH:ta sillä tämä yhteys katkeaa! Lisää ensin SSH auki ennen kuin estät kaikki liikenteen.

 iptables -P INPUT DROP
 iptables -P FORWARD DROP

Sallitaan lookback (paikallinen) liikenne

 iptables -A INPUT -i lo -j ACCEPT

Sallitaan sisällepäin liikenne kun on otettu ensiksi ulospäin yhteyttä

 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Sallitaan SSH liikenne

 iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Estetään muut sisällepäin tulevat pyynnöt.

 iptables -A INPUT -j DROP

Sallitaan ulospäin liikenne

 iptables -A OUTPUT -j ACCEPT

Tallennetaan

 iptables-save > /etc/iptables.rules

Näytä palomuuri säännöt

 iptables -L

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 netfilter-persistent 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

Esimerkki

Esimerkki palomuurin jonka voit huolettaa importtaa järjestelmääsi. Tässä on sallittu varmuuden vuoksi SSH yhteydet.

:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -f -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/sec --limit-burst 2 -j ACCEPT
-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/32 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 17 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 13 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 10 -j DROP
-A INPUT -p icmp -m limit --limit 2/sec -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -j ACCEPT

IPv6

Ip6tables on Linuxilla palomuuri IPv6 verkkoon.

Tässä on esimerkki palomuuriasetus jokaiselle.

-A INPUT -i lo -j ACCEPT
-A INPUT -m rt --rt-type 0 --rt-segsleft 0 -j DROP
-A INPUT -s fe80::/10 -j ACCEPT
-A INPUT -d ff00::/8 -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -j DROP
-A FORWARD -m rt --rt-type 0 --rt-segsleft 0 -j DROP
-A OUTPUT -m rt --rt-type 0 --rt-segsleft 0 -j DROP
-A OUTPUT -s fe80::/10 -j ACCEPT
-A OUTPUT -d ff00::/8 -j ACCEPT
-A OUTPUT -p ipv6-icmp -j ACCEPT


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: