Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/10/2012, à 17:00

jfitoussi

Problème IPTables avec CoovaChilli

Bonjour,

Je travaille sur un projet de portail captif avec CoovaChilli.

Tout fonctionne très bien sauf que ma configuration d’IPTables est bien trop permissive.

J’aimerai n’autoriser que quelques « services » genre Surf, Mail, MSN, …

Mais je n’y arrive pas vraiment et je fini par arracher les trois cheveux qu’il me reste.

Si un spécialiste IPTABLES pouvait m’aider ou juste me donner quelques conseils ? Merci beaucoup.

Voici mon script de configuration d'Iptables :

Carte eth0 = Vers accès ADSL
Carte eth1 = Vers les bornes WIFI

!/bin/sh
##############################################################################
#
# Fichier de configuration IPTABLE pour CHILLISPOT Version 1.0
#
##############################################################################

# Uses $EXTIF (eth0) as the external interface (Internet or intranet) and
# $INTIF (eth1) as the internal interface (access points).
IPTABLES="/sbin/iptables"
EXTIF="eth0"
INTIF="eth1"

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

#Allow related and established on all interfaces (input)
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Allow releated, established and ssh on $EXTIF. Reject everything else.
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT

# Autorise le port 80
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 80 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 8080 --syn -j ACCEPT

#$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 3779 --syn -j ACCEPT
#$IPTABLES -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.0.10 --dport 3779 -j DNAT --to 10.0.0.1:3779
#$IPTABLES -A FORWARD -p tcp -i eth1 -d 10.0.0.1 --dport 3779 -j ACCEPT

#$IPTABLES -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.0.10 --dport 3779 -j DNAT --to 10.0.0.1:3779
#$IPTABLES -A FORWARD -p tcp -i eth0 -d 192.168.0.10 --dport 3779 -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j REJECT
#Allow related and established from $INTIF. Drop everything else.
$IPTABLES -A INPUT -i $INTIF -j DROP

#Allow http and https on other interfaces (input).
#This is only needed if authentication server is on same server as chilli
$IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT

#Allow 3990 on other interfaces (input).
$IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT

# essai d'ouverture du port 3779
#$IPTABLES -A INPUT -p tcp -m tcp --dport 3779 --syn -j ACCEPT
#Allow everything on loopback interface.
$IPTABLES -A INPUT -i lo -j ACCEPT

# Drop everything to and from $INTIF (forward)
# This means that access points can only be managed from ChilliSpot
$IPTABLES -A FORWARD -i $INTIF -j DROP
$IPTABLES -A FORWARD -o $INTIF -j DROP

#Enable NAT on output device
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

D’avance un grand merci pour votre aide.

Amicalement,

Jérôme


Jérôme
iMac pour la maison
Ubuntu Server 12.04.1 LTS pour travailler

Hors ligne

#2 Le 21/10/2012, à 17:22

xavier4811

Re : Problème IPTables avec CoovaChilli

Bonjour,
Ajoute ça au début du script pour purger les règles et tout remettre a plat a chaque relance

sudo /sbin/iptables -F
sudo /sbin/iptables -t nat -F
sudo /sbin/iptables -t mangle -F
sudo /sbin/iptables -X
sudo /sbin/iptables -t nat -X
sudo /sbin/iptables -t mangle -X

Ça

$IPTABLES -A INPUT -i $INTIF -j DROP

ça ne sert a rien si

$IPTABLES -P INPUT DROP

Mais ça c'est pire encore

$IPTABLES -P FORWARD ACCEPT

et

$IPTABLES -A FORWARD -i $INTIF -j DROP
$IPTABLES -A FORWARD -o $INTIF -j DROP

Mieux vaut définir une politique a DROP et ouvrir par la suite que tout ouvrir d'abord et refermer par morçeau ensuite.

Utilise les logs pour voir ce qui est rejeté, lance les trois premières commandes une fois que ton script est lancé.
Avec une politique a DROP et pas de dernière règle DROP, tous les paquets rejetés seront loggués avant d'être détruits.

sudo iptables -t filter -A INPUT -j LOG --log-prefix="DROP_IN "
sudo iptables -t filter -A OUTPUT -j LOG --log-prefix="DROP_OUT "
sudo iptables -t filter -A FORWARD -j LOG --log-prefix="DROP_FWD "
tail -f /var/log/syslog ## affichage en temps réel
grep "DROP_" /var/log/syslog ## affichage simple.

il te reste plus qu'a les afficher avec l'une des deux dernières commandes.
Je connait pas Coovachilli, je peut pas t'en dire plus.

Hors ligne

#3 Le 21/10/2012, à 17:40

xavier4811

Re : Problème IPTables avec CoovaChilli

Oups!!

$IPTABLES -A INPUT -i lo -j ACCEPT

Manque aussi sa soeur jumelle

$IPTABLES -A OUTPUT -o lo -j ACCEPT

Hors ligne

#4 Le 21/10/2012, à 18:39

jfitoussi

Re : Problème IPTables avec CoovaChilli

Bonjour,

Merci de ta réponse rapide.
Je vais essayer et te fait un retour.

Amicalement,

Jérôme


Jérôme
iMac pour la maison
Ubuntu Server 12.04.1 LTS pour travailler

Hors ligne