Vous êtes sur la page 1sur 4

Universit Cadi Ayyad.

Dpartement d'Informatique. FSSM

Scurit des systmes et logiciels.


Firwalling et NAT sous Linux.
Atelier N.5

Afficher votre firewall et interprter les diffrents champs.


Flusher votre firewall.

1. Oprations sur une seule chane et sur la table filter:


Interdire tout paquet entrant
iptables A INPUT j DROP
Effacer la rgle
iptables t filter D INPUT 1

1.1 Paramtre protocole


Interdire le protocole icmp
iptables A INPUT -p icmp j DROP

Effacer la rgle
iptables t filter D INPUT 1 // numro de la rgle

1.2. Paramtre source


Interdire le protocole icmp provenant de localhost
Iptables A INPUT p icmp -s lo j DROP

Effacer la rgle
iptables D INPUT 1
1.3. Chane OUTPUT paramtre destination
Interdire tout paquet destination de localhost
Iptables A OUTPUT d lo j DROP
Effacer la rgle
1.4. Paramtre inversion
Interdire un paquet s'il ne provient pas de localhost
Iptable A INPUT s ! lo j DROP
Effacer la rgle
1.5. Paramtre interface d'entre
Interdire tout paquet entrant par eth0
Iptable A INPUT i eth0 j DROP
Effacer la rgle
1.6. Paramtre interface de sortie
Interdire tout paquet sortant par eth0
Iptable A OUTPUT o eth0 j DROP

Effacer la rgle

Pr. M. A. EL KIRAM
1.7. Paramtre destination port
Interdire tout paquet destination du port ftp
Iptables A INPUT p tcp -dport 21 j DROP

Effacer la rgle
1.8. Paramtre source port
Interdire tout paquet sortant par eth0 dont le numro de port source est infrieur 1024
Iptable A OUTPUT o eth0 p tcp sport :1023 J DROP
Iptable A OUTPUT o eth0 p udp sport :1023 J DROP

Tester une connexion ftp


Effacer la rgle et retester une connexion ftp
Iptable D OUTPUT 1
1.9. Paramtre flag TCP
Interdire toute tentative d'initialisation de connexion TCP provenant de eth0
Iptables A INPUT i eth0 -p tcp syn sport :1023 j DROP
Effacer la rgle
1.10. Paramtre flag icmp
Interdire tout paquet entrant correspondant un ping
Iptables A INPUT -p icmp --icmp-type echo-request j DROP

Effacer la rgle
Interdire toute rponse un ping
Iptables A OUTPUT -p icmp --icmp-type echo-reply j DROP

Effacer la rgle
1.11 Parmtre de transit
Autoriser le transit des paquets provenant de ladresse 14.15.16.17 vers la machine 192.168.0.2.
Iptable -A FORWARD s 14.15.16.17 d 192.168.0.2 j ACCEPT
Autoriser le transit des paquets qui arrivent par linterface eth1, dont ladresse source est une
adresse du rseau 192.168.1.0 et dont ladresse de destination est une adresse du rseau
192.168.2.0 et dont le port de destination est le port 23
Iptable -A FORWARD -i eth0 s 192.168.1.0 /24 d 192.168.0.2 p tcp --dport 23 j
ACCEPT

1.12. Paramtre extension:


1.12.1. Extension mac
(attention on ne peut utiliser l'extension mac que sur les tables INPUT et PREROUTING)
Interdire tout paquet entrant par eth0 dont l'adresse mac n'est pas celle du voisin
Iptable A INPUT i eth0 m mac mac-source ! 00:00:00:11:AA:EE j DROP
Effacer la rgle
1.12.2. Extension limit
Positionner la police par dfaut DROP pour la chane INPUT
Iptable -P INPUT DROP
Ecrire une rgle qui laisse passer 5 tentatives de connexion TCP puis qui n'en laisse passer plus
que 2 par minute

Pr. M. A. EL KIRAM
Iptables A INPUT p tcp syn m limit limit-burst 5 limit 2/minute j ACCEPT
Faire de mme avec les pings
Iptables A INPUT p icmp icmp-type ping m limit limit-burst 5 limit 2/minute j
ACCEPT

Effacer la rgle

1.13. Le suivi de connexion (ip_conntrack)


Positionnez les rgles par dfaut DROP pour les chanes INPUT, OUTPUT, FORWARD
Iptable P INPUT DROP
Iptable P OUTPUT DROP
Iptable P FORWARD DROP

Autoriser tout paquet relatif une connexion dj tabli ou en rapport avec une connexion dj
tabli en entre
Iptable A INPUT m state state ESTABLISHED,RELATED j ACCEPT
Interdire tout paquet relatif une connexion de type INVALID
Iptable A INPUT m state state INVALID j ACCEPT

Autoriser toutes les connexions qui sortent du LAN vers le net

Autoriser tout paquet crant une nouvelle connexion en sortie destination du port 80
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

Que faut il modifier ici pour que l'on puisse naviguer sur le net ?
Effacer la rgle

iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT


iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

2. Le NAT :
[Pour cette partie nous travaillerons sur des machines ayant au minimum 2 interfaces rseau]
Modification de champ IP/TCP
Chane PREROUTING,POSTROUTING
Cible SNAT, DNAT, MASQUERADE

Effectuer une translation dadresse pour tout ce qui traverse la passerelle en sortant par ppp0
iptables -t nat -A POSTROUTING o ppp0 j MASQUERADE
Restreindre la nat une plage dadresse
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 o ppp0 j MASQUERADE

Positionnez les rgles par dfaut DROP pour les chanes INPUT, OUTPUT, FORWARD
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Pr. M. A. EL KIRAM
Crer une rgle qui modifie tout paquet qui arrive via l'interface eth1 destination du port 2222
afin que ce paquet ai dans son champ IP DST l'adresse 192.168.0.1 et dans son champ TCP
DPORT 22
iptables -t nat -A PREROUTING i eth1 -p tcp --dport 2222 -j DNAT --to-destination
192.168.0.1:22

Que faut il faire pour que la translation fonctionne effectivement ? (dans un sens comme dans
l'autre)
iptables -A FORWARD -s 192.168.0.1 -j ACCEPT
iptables -A FORWARD -d 192.168.0.1 -j ACCEPT
Crer une rgle qui altre le champ IP SRC de tout paquet sortant via l'interface eth1, en
remplaant la valeur de ce champ par l'adresse IP de cette interface(eth1)
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.16
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Autoriser tout trafic provenant de eth0 tre forward par notre machine
Iptabe A FORWARD i eth0 j ACCEPT
Autoriser tout trafic de statuts ESTABLISHED,RELATED tre forward par notre machine
Iptable A FORWARD m state state ESTABLISHED,RELATED j ACCEPT

Pr. M. A. EL KIRAM