Ero sivun ”Iptables” versioiden välillä
Rivi 27: | Rivi 27: | ||
=== Peruspalomuurisäännöt === | === Peruspalomuurisäännöt === | ||
− | Tässä esimerkki palomuuri käy jokaiselle | + | 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]]. |
*filter | *filter | ||
Rivi 48: | Rivi 48: | ||
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP | -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 | -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit-burst 2 -j ACCEPT | ||
− | + | ||
# Estä kaikki virheelliset paketit | # Estä kaikki virheelliset paketit | ||
-A INPUT -m state --state INVALID -j DROP | -A INPUT -m state --state INVALID -j DROP |
Versio 13. huhtikuuta 2015 kello 18.31
Iptables on pakettisuodatin. Tällä voidaan toteuttaa reitittimiä ja palomuureja.
Sisällysluettelo
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
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 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 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ä
Asenna pakettihallinnasta.
apt-get install iptables-persistent
NAT
Määritä Linuxille kaksi verkkokorttia jossa molemmissa IP-osoitteet. Sisäverkon kortissa tulee olla kiinteä IP-osoite. Tämä toimii verkon gateway:na.
Salli IPv4 forwarders:
nano /etc/sysctl.conf
poistamalla risuaita:
net.ipv4.ip_forward=1
Käynnistä uudelleen
Lisää komentoina (ulko interface):
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Sisä interface sallitaan forwardoiminen eth0:sta eth1 interfaceen kunhan tila on related / established
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Lähde
http://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently