Linux – Palomuuri (iptables)

17
Linux – Palomuuri (iptables) Antti Almgren Tite4 0208296

description

Linux – Palomuuri (iptables). Antti Almgren Tite4 0208296. Historia. Ipfwadm kernel 2.0. Salli pakettisuodatuksen perustoiminnot, esim. suodatus aliverkon perusteella. Ipchains kernel 2.2. Porttien edelleenohjaus, tuki QoS ominaisuuksille, sääntöketjut. - PowerPoint PPT Presentation

Transcript of Linux – Palomuuri (iptables)

Page 1: Linux – Palomuuri (iptables)

Linux – Palomuuri (iptables)

Antti AlmgrenTite4

0208296

Page 2: Linux – Palomuuri (iptables)

Historia Ipfwadm kernel 2.0. Salli

pakettisuodatuksen perustoiminnot, esim. suodatus aliverkon perusteella.

Ipchains kernel 2.2. Porttien edelleenohjaus, tuki QoS ominaisuuksille, sääntöketjut.

Iptables kernel 2.4. Tilallisuus, monipuolisemmat kriteerit.

Page 3: Linux – Palomuuri (iptables)

Yleistä

Pakettifiltteri tutkii pakettien headerin ja päättää sen mukaan mitä paketille tehdään.

Kernel aloittaa kolmella listalla sääntöjä suodatustaulukossa. Näitä listoja kutsutaan ketjuiksi.

Nimet: input, output ja forward.

Page 4: Linux – Palomuuri (iptables)

Ketjut

Page 5: Linux – Palomuuri (iptables)

Taulut

Filter (oletuksena). NAT.

POSTROUTING Käytetään paketin lähdeosoitteen

muokkaamiseen PREROUTING

Käytetään paketin kohdeosoitteen muokkaamiseen

Mangle. Käytetään paketin sisällön muokkaamiseen.

Page 6: Linux – Palomuuri (iptables)

Konfigurointi #iptables –h #man iptables #iptables –t [taulu] –A [kriteerit]

[optiot] –j [kohde] -A Lisää -D tuhoa -P politiikka -N uusi ketju jne.

Page 7: Linux – Palomuuri (iptables)

Konfigurointi

Optioita -s lähdeosoite -d kohdeosoite -p protokolla (tcp, udp, icmp) -j kohde (ACCEPT, DROP, REJECT) -o ulosmenorajapinta (eth0, eth1 jne)

Page 8: Linux – Palomuuri (iptables)

Konfigurointi Esimerkkejä:

#iptables –L ketjujen listaus

#iptables –t nat –L nat-ketjujen listaus

#iptables –P FORWARD DROP forward-ketjun politiikan vaihdos, kaikki paketit

pudotetaan #iptables –P OUTPUT ACCEPT

output-ketjun politiikan muutos, kaikki paketit hyväksytään

Page 9: Linux – Palomuuri (iptables)

Konfigurointi Esimerkkejä:

#iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

lähteestä 127.0.0.1 tulevat icmp-protokolla paketit pudotetaan

#iptables –A FORWARD –s 192.168.2.0/24 –j ACCEPT

aliverkon 192.168.0.0-192.168.255.255 osoitteista tulevat paketit saavat jatkaa matkaansa

#iptables –A FORWARD –p tcp --dport 23 –j ACCEPT

tcp-paketit joissa on kohdeporttina 23 saavat jatkaa matkaansa

Page 10: Linux – Palomuuri (iptables)

Konfigurointi #iptables –A FORWARD –s 192.168.0.11 –d

192.168.2.10 –p tcp –j ACCEPT osoitteesta 192.168.0.11 lähtöisin ja kohteena

192.168.2.10 tcp-protokollan paketit saavat jatkaa matkaansa

#iptables –D FORWARD 1 tuhotaan forward-ketjun ensimmäinen sääntö

#iptables –D FORWARD –s 192.168.0.22 –d 192.168.2.10

tuhotaan tarkasti määritelty forward-ketjun sääntö

Page 11: Linux – Palomuuri (iptables)

Konfigurointi iptables –A INPUT –s 192.168.0.0/24 –

p tcp –dport ssh –j ACCEPT sallii aliverkon osotteista 192.168.0.0-

192.168.0.255 ssh-yhteyden koneelle

Page 12: Linux – Palomuuri (iptables)

Konfigurointi NAT, esimerkkejä:

# iptables -t nat -A POSTROUTING -j MASQUERADE

Muuntaa ulospäin menevien pakettien source-ip:ksi oman ip:n

# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4

Muuntaa eth0:sta ulospäin menevien pakettien ip:n 1.2.3.4:ksi.

Page 13: Linux – Palomuuri (iptables)

Toteutus Kone 7

Page 14: Linux – Palomuuri (iptables)

Toteutus Kone 7

#iptables –t nat –A POSTROUTING –j MASQUERADE

Page 15: Linux – Palomuuri (iptables)

Seuraaminen

#tcpdump #tcpdump -n -i eth0 port 53

-n ei muuta osoitteita nimiksi -i määrittää rajapinnan port määrittää portin

#nmap localhost #nmap 192.168.2.8

Page 16: Linux – Palomuuri (iptables)

Lisätietoja

Palveluiden käyttämät portit: #nano /etc/services

Linkkejä: http://www.netfilter.org http://www.tcpdump.org/ http://www.insecure.org/nmap/

Page 17: Linux – Palomuuri (iptables)

Kokeile itse #ping 192.168.2.111 #iptables –A INPUT –p icmp –j DROP #ping 192.168.2.111 #iptables –D INPUT 1 #ping 192.168.2.111