je fais un routeur firewall linux

OP
JE

jecouledbronze

il y a 8 mois

routeur iptables sur raspberry pi

je l'ai placé entre ma box et mon pc en filaire

  1. !/bin/bash
  1. Vider toutes les règles existantes

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

  1. Définir les politiques par défaut

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

  1. Autoriser tout le trafic sur l'interface loopback

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

  1. Autoriser tout le trafic sur l'interface eth1 (réseau interne)

iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

  1. Bloquer les paquets invalides

iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A FORWARD -m conntrack --ctstate INVALID -j DROP
iptables -A OUTPUT -m conntrack --ctstate INVALID -j DROP

  1. Protection contre les attaques réseau courantes

iptables -A INPUT -f -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

  1. Autoriser les connexions établies et connexes

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

  1. Autoriser des types spécifiques d'ICMP (utiles pour le diagnostic)

iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT

  1. Bloquer les requêtes ping pour rendre le routeur moins visible

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

  1. Bloquer d'autres types spécifiques d'ICMP peu utiles et potentiellement dangereux

iptables -A INPUT -p icmp --icmp-type address-mask-request -j DROP
iptables -A INPUT -p icmp --icmp-type redirect -j DROP
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp --icmp-type timestamp-reply -j DROP
iptables -A INPUT -p icmp --icmp-type source-quench -j DROP

  1. Règles NAT (masquerade) pour les connexions sortantes via eth0 (interface externe)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

  1. Autoriser le routage du trafic de eth1 (interne) vers eth0 (externe)

iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT

  1. Autoriser le routage du trafic de eth0 (externe) vers eth1 (interne) pour les connexions établies

iptables -A FORWARD -i eth0 -o eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT