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 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 big_smile

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