Pages : 1
#1 Le 10/12/2009, à 19:50
- soufi
Blocage site web avec iptables
Bonjour chers amis.
J'ai besoin de votre pour la résolution d'un probléme. Je suis à la recherche d'une solution iptables permettant de tout bloquer sauf 2 ou 3 sites web.
Je suis en possession d'un serveur avec 2 interface réseau
eth0 connecté à internet
eth0 connecté au LAN
Vu l'urgence votre aide me sera très précieuse
Merci d'avance
Hors ligne
#2 Le 10/12/2009, à 19:53
- soufi
Re : Blocage site web avec iptables
Excusez moi . voici les bonnes infos pour les cartes
eth0 connecté à internet
eth1 connecté au LAN
Hors ligne
#3 Le 10/12/2009, à 20:41
- anonyme1
Re : Blocage site web avec iptables
bonsoir
# On efface toutes les chaines existantes de la table "filter" et des tables "Mangle" & "Nat".
sudo iptables -t filter -F
sudo iptables -t filter -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t nat -P PREROUTING ACCEPT
sudo iptables -t nat -P POSTROUTING ACCEPT
sudo iptables -t nat -P OUTPUT ACCEPT
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t mangle -P PREROUTING ACCEPT
sudo iptables -t mangle -P OUTPUT ACCEPT
# ÉTABLIR UNE POLITIQUE SÉCURITAIRE PAR DÉFAUT.
# Le poste refusera toutes les connexions quelque soit sa provenance.
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
# À partir d'ici, il nous est indispensable d'ouvrir les flux requis.
# Tout ce qui ne sera pas explicitement défini dans les règles suivantes, sera
# simplement "droppé" sans états d'âme ni retour d'information pour l'émetteur.
# ÉTABLIR UNE CONNEXION SUR LUI-MÊME (loopback)
# On autorise les connexions sur la boucle locale.
# (Indispensable pour le bon fonctionnement du sytème {lo = 127.0.0.1}).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A FORWARD -i lo -j ACCEPT
sudo iptables -A FORWARD -o lo -j ACCEPT
## Maintenir les flux établis
# On autorise les connexions relatives à une autre.
sudo iptables -A OUTPUT --match state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT --match state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD --match state --state ESTABLISHED,RELATED -j ACCEPT
# FILTRER LES POSTES et SERVICES
# Il te faut connaitre les IP des domaines que tu souhaites laisser passer
sudo iptables -t filter -A INPUT -s 10.0.5.104 -j REJECT
sudo iptables -t filter -A INPUT -s 0.0.0.0/0 -j REJECT
sudo iptables -t filter -A OUTPUT -p tcp -d 192.168.1.0 --dport 80 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d 192.168.1.0 --dport 443 -j ACCEPT
C'est un exemple, à toi de l'adapter
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#4 Le 10/12/2009, à 23:41
- soufi
Re : Blocage site web avec iptables
Bonsoir et merci pour ta réponse.
J'ai testé cette solution. On bloque toutes les connexions puis on autorise, je trouve que c'est une bonne politique mais qui malheureusement ne me convient pas pour le moment car je dispose d'un grand réseau et donc je vais devoir me taper des jours de recherches pour disposer de toutes les IPs de tous les sites à débloquer. Y a t'il pas un fichier comme hosts qui permet de bloquer des sites ou d'en autoriser que certains pour certaines IPs et tout pour d'autres.
Voici le code que j'ai mis en place :
# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Nous vidons toutes les chaines
iptables -F
# Nous supprimons les chaines non standards
iptables -X
# Par defaut tout est ferme
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# reinitialisation table NAT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# Translation d'adresse pour tout ce qui sort vers l'internet
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# La machine locale est sure
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Resolution DNS pour les machines du LAN
iptables -A FORWARD -i eth1 -o eth0 --protocol udp --source-port 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 --protocol udp --destination-port 53 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --protocol tcp --source-port 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 --protocol tcp --destination-port 53 -j ACCEPT
# On permet toutes les connexions sur le LAN depuis le firewall
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On permet toutes les connexions sur le firewall depuis le LAN
iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# On accepte toutes les liaisons firewall-Internet
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On accepte les liaisons Internet-firewall deja etablies
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# On accepte toutes les liaisons LAN-Internet
iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On accepte les liaisons Internet-LAN deja etablies
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ouverture pour le serveur ssh
iptables -A OUTPUT -o eth1 -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
# Ouverture pour le serveur web
iptables -A OUTPUT -o eth1 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
# Fin du fichier
Peux tu me donnais ton avis
Hors ligne
#5 Le 11/12/2009, à 00:02
- anonyme1
Re : Blocage site web avec iptables
Re,
Tu as plusieurs possibilités. Maintenant, faut voir l'étendu et les ramifications de ton infrastructure.
Soit tu les bloques dans iptables.
Soit tu les bloques par un proxy.
Soit tu les bloques à l'aide de hosts, hosts.allow, hosts.deny.
Soit à l'aide de denyhosts etc...
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#6 Le 11/12/2009, à 00:10
- ilcorseronero
Re : Blocage site web avec iptables
simple comme ubuntu
Hors ligne
#7 Le 11/12/2009, à 01:14
- jbreizh
Re : Blocage site web avec iptables
Oui, je vote aussi pour le proxy, c'est quand même fait pour ça.
Hors ligne
#8 Le 12/12/2009, à 11:56
- soufi
Re : Blocage site web avec iptables
Bonjour les amis,
finalement j'ai choisi la solution de Screamer@onthelan. Par contre j'ai des questions :
si je bloque tout puis j'autorise que va t-il se passer avec les pages bloquées. Je veux dire quel type de message va générer IE :
1 - Délai d'attente dépassé
2 - Erreur de chargement
3 - ce site a été bloqué
4 - etc ...
Si toutefois c'est les résultats 1 et 2 qui seront affichés alors comment faire pour que le systéme affiche le résultat 4 à la place de 1 et 2 par exemple?
Hors ligne
#9 Le 12/12/2009, à 18:05
- soufi
Re : Blocage site web avec iptables
J'ai oublié de vous demander comment peux t-on débloquer un site avec qui utilise un port spécifique si toutefois je bloque tout dés le début.
Je compte beaucoup sur vos réponses pour avancer dans la réalisation de mon projet qui je le crains va encore durer un bon moment compte tenu de mes maigres connaissance sur linux
Hors ligne
#10 Le 13/12/2009, à 00:53
- anonyme1
Re : Blocage site web avec iptables
J'ai oublié de vous demander comment peux t-on débloquer un site avec qui utilise un port spécifique si toutefois je bloque tout dés le début.
sudo iptables -t filter -A INPUT -s 213.95.41.13 --dport 80 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d 213.95.41.13 --dport 80 -j ACCEPT
sudo iptables -A OUTPUT --match state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT --match state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD --match state --state ESTABLISHED,RELATED -j ACCEPT
Dernière modification par Screamer@onthelan (Le 13/12/2009, à 00:54)
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#11 Le 13/12/2009, à 18:35
- soufi
Re : Blocage site web avec iptables
Merci je vais tester pour voir mais as tu une idée pour les questions que j'ai posé en #8 ?
Hors ligne
#12 Le 13/12/2009, à 20:03
- anonyme1
Re : Blocage site web avec iptables
avec iptables, il auront temps d'accès dépassé ou pas de réponse du serveur.
Avec squid, tu peux personnaliser le message.
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#13 Le 14/12/2009, à 14:49
- soufi
Re : Blocage site web avec iptables
Slt,
j'ai copié ta commande pour ouvrir un port mais ça marche pas.
le systéme me revoi le message suivant :
iptables v1.4.4: unknown option `--dport'
Je fais comment ?
Hors ligne
#14 Le 14/12/2009, à 15:30
- soufi
Re : Blocage site web avec iptables
Je comprend pas. j'ai fais :
iptables -A INPUT -p tcp --dport 15 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 15 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
mais ça marche pas.
Alors je teste pour voir si le port est utilisé :
lsof -i :15 mais il me donne aucun résultat donc le port n'est pas utilisé par un autre programme
Et pourtant le port 21 par exemple marche trés bien lui
Hors ligne
#15 Le 14/12/2009, à 22:05
- anonyme1
Re : Blocage site web avec iptables
il faudrait en dire davantage ou poster le script.
car juste
iptables -A INPUT -p tcp --dport 15 -i eth0 -j ACCEPT
ne veut pas dire grand chose, on ne sait pas comment tu entres cette commande.
Sinon, la syntaxe est bonne, le retour me confirme qu'elle est bien active.
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:15
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#16 Le 15/12/2009, à 16:24
- soufi
Re : Blocage site web avec iptables
merci pour ta réponse. Effectivement ça marche nickel. Comment as tu fais pour afficher le résultat suivant :
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:15
Mais le fait de tout bloqué en quoi ça va me garantir plus de sécurité contre les virus informatique par exemple. Et comment pourrai-je faire pour ne plus prendre de virus informtique parce que j'ai entendu dire que linux ne prend pas de virus et c'est pour ça que je veux basculer mon systéme windows sous linux. Avant de m'y lancer à fond il me faut plus de précisions si tu peux me les apporter s'il te plait vu que tu t'y connais mieux que moi et que tu semble être à l'aise avec linux. Pr infos je fais du linux que depuis 2 mois.
Hors ligne
#17 Le 15/12/2009, à 17:33
- anonyme1
Re : Blocage site web avec iptables
sudo iptables -L -n -v && sudo iptables -t mangle -L && sudo iptables -t nat -L && sudo ip6tables -L -v
Pour le reste, lis dans la doc, ou le forum; les virus est un sujet récurrent (normal, quand on switch, on pense que l'informatique=windows..;)
meilleur cloisonnement des users, meilleure architecture de fonctionnement, multiplateforme, chiant à coder .... etc
nb: Iptables ne protège pas des virus, il joue le rôle de "pont levis" dans ta cyber-forteresse sous ubuntu..
Dernière modification par Screamer@onthelan (Le 15/12/2009, à 17:35)
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#18 Le 18/12/2009, à 19:43
- soufi
Re : Blocage site web avec iptables
Bonjour,
suite à la "compréhension" du système de fonctionnement grâce à votre aide je voudrai passer à une nouvelle étape qui consiste à mettre en place un DHCP mais le probléme que j'ai est que j'ai 4 plages ips avec le même masque mais le serveur DHCP retourne un message d'erreur dès que je lui donne 2 plages. Par contre avec une seule plage il marche nickel.
Help me please
Hors ligne
Pages : 1