8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
1/21
IPTABLES- de la simplu la complex -
Rzvan Dobre
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
2/21
Agenda1. Introducere n iptables
QA
2. Utilizri de baz Demo 1
3. Utilizri avansate
Demo 2
4. Best practices
5. QA
4 dec. 20102 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
3/21
Introducere n IPTABLES
Ce este iptables?
Utilitar ce permite configurarea unui firewall linux
Folosete hookurile disponibile n kernelul linux
Ce este un firewall? Echipament/soft de protejare a unei reele
O list de reguli aplicate traficului
Accept sau Drop
Este necesar un firewall?
4 dec. 20103 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
4/21
Introducere n IPTABLES
Tipuri de firewall-uri
Den all
Oprete tot traficul mai puin cel util
Cel mai des ntlnit permite un control bun al traficului
Accep all
Accept tot traficul mai puin cel nepermis
4 dec. 20104 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
5/21
Introducere n IPTABLES
Modaliti de grupare a regulilor
Tabele
Scop predefinit
Regulile de filtrare se adaugn tabela filter, etc
, , ,
Lanuri (Chain-uri)
Permit inspectarea pachetelor ntr-un anumit moment al
procesrii lor Prerouting, Input, Forward, Output, Postrouting
Corespund hookurilor din kernel (netfilter)
4 dec. 20105 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
6/21
Introducere n IPTABLES Drumul pachetelor prin kernel
Input OutputProcesul local
Networkinterface Prerouting Forward
NetworkinterfacePostrouting
4 dec. 20106 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
7/21
Introducere n IPTABLES Maparea ntre tabele i chainuri
Filter NAT Mangle
Prerouting Input OutputForward Postrouting
4 dec. 20107 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
8/21
Introducere n IPTABLES Parcurgerea regulilor
Secvenial
Pn la primul match
Dac nu exist nici un match
Se aplic o politica implicit
Sintax iptables t table op chain match j action
Table filter, nat, mangle
Op Append, Insert, Delete, List
Action ACCEPT, DROP, MASQUERADE, etc.
4 dec. 20108 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
9/21
Enough talk lets fight QA
4 dec. 20109 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
10/21
Utilizri de baz
Setarea politicii implicite
iptables -P chain target
Ex.: # iptables P INPUT DROP
Politica implicit se aplic ultima
Atenie:
putei rmne pe afar
4 dec. 201010 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
11/21
Utilizri de baz Exemple de reguli simple
Input
# iptables t filter -A INPUT --source 10.0.0.0/24 j ACCEPT
Output # iptables t filter I OUPUT --destination 10.0.0.0/24 \
j DROP
MASQUERADE # iptables t nat A POSTROUTING --source 192.168.0.0/16 \
--out-interface eth0 j MASQUERADE
Debuging
# iptables L n v --line-numbers
Documentaie man iptables
4 dec. 201011 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
12/21
Utilizri de baz Mini script
V1
#!/bin/bash
iptables F # sterge (flush) regulile anterioare
iptables P INPUT ACCEPT
i tables A INPUT tc s 10.0.0.0 24 --d ort 22 ACCEPT
iptables A INPUT p tcp -dport 22 j DROP
V2 ?
#!/bin/bash
iptables F # sterge (flush) regulile anterioare
iptables P INPUT ACCEPT
iptables A INPUT p tcp --dport 22 j DROP
iptables A INPUT p tcp s 10.0.0.0/24 -dport 22 j ACCEPT
4 dec. 201012 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
13/21
Demo 1 Suntei administrator de reea la o firm i primii ca
sarcin s oprii accesul la youtube.com.
1. Oprii tot traficul2. Oprii doar traficul http
4 dec. 201013 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
14/21
Utilizri avansate
Module State reguli bazate pe starea conexiunii
NEW, RELATED, ESTABLISHED
Recent crearea unei liste temporare de bad-guys Time reguli bazate pe time
Access permis doar intr-un anumit interval orar
etc
4 dec. 201014 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
15/21
Utilizri avansate State
Scop: se permit doar pachetele de rspuns
FirewallInterne
tLAN
NEW
RELATED
eth0 eth1
# iptables -A INPUT -i eth0 -m state \
--state NEW -j DROP
sau
# iptables -A INPUT -i eth0 -p tcp --syn \
-j DROP
4 dec. 201015 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
16/21
Utilizri avansate Forward
Scop: LAN1 nu poate accesa LAN2
eth0
FirewallInterne
t
LAN1eth1
eth2
# iptables P FORWARD ACCEPT
# iptables A FORWARD i eth1 o eth2 j DROP
# iptables A FORWARD i eth2 o eth1 j DROP
4 dec. 201016 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
17/21
Utilizri avansate SNAT
Scop: LAN1 poate accesa internetul
eth0
FirewallInterne
t
LAN1eth1
eth2
10.0.0.0/24
141.85.1.1
# iptables -t nat -A POSTROUTING \
-o eth0 -s 10.0.0.0/24 \
-j SNAT --to-source 141.85.1.1
. . .
4 dec. 201017 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
18/21
Utilizri avansate DNAT
Scop: accesarea HOST1 din internet
eth0
FirewallInterne
t
HOST1eth1
80
8080
10.0.0.
1
# iptables t nat A PREROUTING i eth0 p tcp \
--dport 80 j DNAT --to-destination 10.0.0.1:8080
# iptables t nat A PREROUTING i eth0 p udp \
--dport 80 j DNAT --to-destination 10.0.0.1:8080
4 dec. 201018 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
19/21
Demo 2 Configurai ROUTER-ul astfel nct:
1. Staiile din reeaua local s aibe acces la internet
2. Serverele s nu aibe acces n reeaua local
4 dec. 201019 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
20/21
Best practices Dont lock yourself out!
Acceptai ntotdeauna conexiunile de pe loopback
Oprii tot traficul de care nu avei nevoie
Limitai numrul de conexiuni/sec pentru serviciile cenecesit autentificare
fail2ban, denyhosts
Oprii traficul suspicios
Flaguri TCP nevalide
Ex.: cristmass tree Pachete IP nevalide
Ex.: pachete din internet cu sursa din reeaua local
4 dec. 201020 IPTABLES
8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables
21/21
QA
4 dec. 201021 IPTABLES
?
Top Related