Bonjour,
je cherche à bloquer tous les ports en entrée sur l'interface du réseau connecté à squid. J'ai fait un tour dans la section recherche, et je suis tombé sur ce topic:
http://forum.hardware.fr/hfr/syste [...] 6458_1.htm
Le problème est que je ne comprends pas le script final qui en ressort.
Mon archi: 2 cartes réseaux, une dans le réseau de la free** et l'autre dans le réseau squid.
Le routage entre les deux cartes en passant par la redirection http/s vers le squid fonctionne bien.
Mais si un pc est connecté dans le réseau squid et qu'il tente une connexion ssh sur l'ip de sa passerelle (donc le serveur squid),
sa tentative est un succès même s'il n'a pas les identifiant de connexion.
Ce que je voudrai, c'est bloquer tous les ports en entrée de la carte réseau squid sauf le http/s et le dns.
Si je modifie la règle
Code :
- iptables -A INPUT -i $RISKS_IFACE -j ACCEPT
|
par
Code :
- iptables -A INPUT -i $RISKS_IFACE -p tcp --dport 53 -j ACCEPT
- iptables -A INPUT -i $RISKS_IFACE -p udp --dport 53 -j ACCEPT
- iptables -A INPUT -i $RISKS_IFACE -p tcp --dport 80 -j ACCEPT
- iptables -A INPUT -i $RISKS_IFACE -p tcp --dport 443 -j ACCEPT
|
Et bien plus de net sur les machines clientes.
Détails:
SECURE_IFACE => interface dans lan connecté à internet
RISKS_IFACE => interface dans le lan derrière le squid
SQUID_SECURE_SERVER => ip du squid dans le lan connecté à internet
SQUID_RISKS_SERVER => ip du squid dans le lan derrière le squid
Voilà mon iptables:
Code :
- #!/bin/sh
- # Variables
- SQUID_SECURE_SERVER="192.168.2.43" # serveur Squid connecté au réseau sécurisé
- SQUID_RISKS_SERVER="192.168.1.2" # serveur Squid au réseau à risques
- SQUID_PORT="3128" # port du serveur squid
- SECURE_LAN="192.168.2.0/24" # LAN sécurisé
- RISKS_LAN="192.168.1.0/24" # LAN à risques
- SECURE_IFACE="eth0" # interface connecté à internet
- RISKS_IFACE="eth1" # interface connecté au réseau à risques
- # Modules
- /sbin/modprobe ip_conntrack
- # Sysctl
- echo 1 > /proc/sys/net/ipv4/ip_forward
- #################################################
- # Vider les tables actuelles
- #################################################
- iptables -F
- iptables -X
- iptables -t nat -F
- iptables -t nat -X
- iptables -t mangle -F
- iptables -t mangle -X
- #################################################
- # default policy : DROP
- #################################################
- iptables -P INPUT DROP
- iptables -P OUTPUT DROP
- #iptables -N LOGDROP
- #iptables -A LOGDROP -j LOG
- #iptables -A LOGDROP -j DROP
- #################################################
- # accepte tout ce qui concerne l'interface loopback
- #################################################
- iptables -A INPUT -i lo -j ACCEPT
- iptables -A OUTPUT -o lo -j ACCEPT
- #################################################
- # on accepte les paquets relatifs aux connexions deja ouvertes
- #################################################
- # eth0
- iptables -A INPUT -i $SECURE_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
- iptables -A OUTPUT -o $SECURE_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
- # eth1
- iptables -A INPUT -i $RISKS_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
- iptables -A OUTPUT -o $RISKS_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
- #################################################
- # on accepte les requetes icmp
- #################################################
- # eth0
- iptables -A INPUT -i $SECURE_IFACE -p icmp -s $SECURE_LAN -d $SQUID_SECURE_SERVER --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
- iptables -A INPUT -i $SECURE_IFACE -p icmp -s $SECURE_LAN -d $SQUID_SECURE_SERVER --icmp-type echo-request -j ACCEPT
- # eth1
- iptables -A INPUT -i $RISKS_IFACE -p icmp -s $RISKS_LAN -d $SQUID_RISKS_SERVER --icmp-type echo-request -j DROP
- #################################################
- # SSH
- #################################################
- # eth0
- iptables -A INPUT -i $SECURE_IFACE -p tcp -s $SECURE_LAN -d $SQUID_SECURE_SERVER --dport 22 -j ACCEPT
- #################################################
- # DNS
- #################################################
- # iptables -A INPUT -i $RISKS_IFACE -p udp -s $RISKS_LAN --dport 53 -j ACCEPT
- #################################################
- # Routage
- #################################################
- iptables --table nat --append POSTROUTING -o $SECURE_IFACE -j MASQUERADE
- #iptables -A FORWARD -i $RISKS_IFACE -j ACCEPT
- iptables -A FORWARD --in-interface $RISKS_IFACE -j ACCEPT
- iptables -A INPUT -i $RISKS_IFACE -j ACCEPT # <<<<<<<-------------------------------------- TOUT EST OUVERT !!!!!
- iptables -t nat -A PREROUTING -i $RISKS_IFACE -p tcp --dport 80 -j DNAT --to $SQUID_SECURE_SERVER:$SQUID_PORT
- iptables -t nat -A PREROUTING -i $SECURE_IFACE -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
- #################################################
- # on accepte ce qui sort vers l'exterieur
- #################################################
- # eth0
- iptables -A OUTPUT -o $SECURE_IFACE -j ACCEPT
- # eth1
- iptables -A OUTPUT -o $RISKS_IFACE -j ACCEPT
- #################################################
- # LOG et DROP tout le reste
- #################################################
- iptables -A INPUT -j LOG
- iptables -A INPUT -j DROP
|
Vous auriez une super idée ?