[Sequanux-ml] Lot Sequanux-ml, Vol 460, Parution 1
Marc SCHAEFER
schaefer at alphanet.ch
Mar 22 Sep 14:31:48 CEST 2009
On Tue, Sep 22, 2009 at 12:00:04PM +0200, sequanux-ml-request at sequanux.org wrote:
> Je pose une question au niveau du réglage du pare-feu pour des jeux en
> réseau.
un frontal intéressant est le logiciel firestarter (qui crée des règles
iptables et a un programme interactif de surveillnce).
> Avec ma machine sous Ubuntu le panneau de configuration gufw permet de
> configurer assez facilement les règles du pare-feu.
ok, je ne connaissais pas.
> iptables -I OUTPUT -o eth0 -s 192.168.1.2/8 -d 192.168.1.2/8 -j ACCEPT
>
> iptables -I INPUT -i eth0 -s 192.168.1.2/8 -d 192.168.1.2/8 -j ACCEPT
>
>
> J'aurais besoin de connaitre quels sont les risques de ce genre de
> commandes.
192.168.1.2/8 cela est équivalent à 192.0.0.0
Prenons un exemple:
- sous réseau 192.168.1.0/24
- serveur sous 192.168.1.42 (/32)
- clients dans la plage 192.168.1.100 à 192.168.1.199
Les règles sont alors plutôt, si protégeant le "serveur":
iptables -I OUTPUT -o eth0 -s 192.168.1.42 -d 192.168.1.0/24 -j ACCEPT
iptables -I INPUT -i eth0 -d 192.168.1.42 -s 192.168.1.0/24 -j ACCEPT
On peut y ajouter une règle d'anti-spoofing si elle n'est pas
automatique:
# attention: dépend aussi de la politique par défaut: si -P REJECT,
# alors pas nécessaire. Si -P ACCEPT; alors les 2 règles ci-dessus
# ne sont pas suffisantes.
iptables -I INPUT -i eth0 -s 192.168.1.42 -j REJECT
Mais on pourrait réfléchir au sens de ces communications (qui *ouvre*). Est-ce plutôt
serveur -> réseau interne ou réseau interne -> serveur. Si le sens a un sens, alors
utiliser les règles "avec état" suivantes, p.ex. pour autoriser les
connexions de 2 à réseau interne:
iptables -I OUTPUT -o eth0 -s 192.168.1.42 -d 192.168.1.0/32 -m state --state NEW,ESTABLISHED,RELATED
iptables -I INPUT -i eth0 -d 192.168.1.42 -s 192.168.1.0/32 -m state --state ESTABLISHED,RELATED
(avec une policy par défaut -P REJECT)
Maintenant on pourrait aussi imaginer spécifier quels protocoles (tcp,
udp, icmp) et quels ports sont ouverts!
> comment autoriser un programme.
ce concept n'est pas supporté par le firewall linux. Seuls les numéros
de port -- et, éventuellement avec un patch sur netfilter les UID/GID.
Plus d'informations sur la liste de diffusion Sequanux-ml