Bloquer tous les ports sauf certains

:stuck_out_tongue:

On organise une LAN et on disposera d’une connection internet.
Alors bien sur on veut bloquer tous les ports, Sauf le port 80 et ceux de Steam :
UDP 1200
UDP 27000 à 27015
TCP 27020 à 27039

Le serveur principal, celui qui aura la conenction Internet tourne sur SME Server.

comment faire pour faire ça ?

je trouve un article sur léa linux, et je pense faire comme ça.

iptables -A OUTPUT -m multiport -p all --sport ! 80, 27000, 27001 [… -j DENY

c’est juste ?

merci :slight_smile:

ça doit être ça : je suis pas un pro iptables, mais à mon avis il faut rajouter NEW,ESTABLISHED pour qu’il autorise les nouvelles connexions et celles déjà en cours… j’me trompe ? :smiley:

[MàJ] et je pense que par défaut, c’est mieux de tout fermer DROP input, output et forward, et ensuite t’applique la ligne pour libérer les ports utilisés par Steam :slight_smile:

[MàJ 2] et encore mieux, plutôt que te te taper les 20 ports à écrire, mets 27000:27015 :wink:

Pour bloquer les paquets qui transitent par le gateway/firewall (on suppose que ce n’est pas le serveur HL), il faut utiliser la chaine compile FORWARD.

iptables -t filter -P FORWARD DROP

iptables -t filter -A FORWARD -m state --state ESTABLISHED -j ACCEPT

iptables -t filter -A FORWARD -m state --state NEW -i $LAN_NIC -o $INET_NIC -s $LAN -d $ANY -p tcp --tcp-flags ALL SYN --sport 1024: --dport http -j ACCEPT

iptables -t filter -A FORWARD -m state --state NEW -i $LAN_NIC -o $INET_NIC -s $LAN -d $ANY -p tcp --tcp-flags ALL SYN --sport 1024: --dport 27020:27039 -j ACCEPT

iptables -t filter -A FORWARD -m state --state NEW -i $LAN_NIC -o $INET_NIC -s $LAN -d $ANY -p udp --sport 1024: --dport 27000:27015 -j ACCEPT

iptables -t filter -A FORWARD -m state --state NEW -i $LAN_NIC -o $INET_NIC -s $LAN -d $ANY -p udp --sport 1024: --dport 1200 -j ACCEPT

Avec ces variables :

ANY=“0.0.0.0/0”
LAN=“adresse reseau du LAN” #exemple : 192.168.0.0/24

LAN_NIC=“carte reseau LAN”
INET_NIC=“carte reseau Internet”

euh… faudrait peut-être protéger le serveur là, non ? parce que là il filtre ce qui passe, mais il se prend tout dans la tronche :fou:

par exemple iptables -t filter -P INPUT DROP :smiley:

tu pose un problème auquel je n’avais pas pensé: avoir 2 cartes réseau. :smiley:

je vais voir sous quelle forme on aura notre connection, routeur, modem usb, j’ai sais rien encore.
(j’espère pas modem usb en tout cas :D))