Pages : 1
#1 Le 21/10/2012, à 16: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, à 16: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, à 16: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, à 17: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
Pages : 1