[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