Le Forum Non Officiel de la DEDIBOX
Vous n'êtes pas identifié.
je viens de tester le script, semble fonctionne parfaitement.
merci
Hors ligne
et pour lancer le scritp au demarrage :
chmod +x mon_script_iptables
mv mon_script_iptables /etc/init.d/
cd /etc/init.d/
update-rc.d mon_script_iptables defaults
Hors ligne
J'ai un petit souscis avec l'autorisation le port 1863 (MSN).
J'ai un script php qui se connecte sur un serveur (port 1863) via CURL afin de rapatrier la liste des contacts MSN d'un membre (apres qu il ait saisie son login/password).
Il utilise le port 1863.
Au règles précedemment données par Flying-Jack, j 'ai rajouté ceci :
iptables -A OUTPUT --protocol tcp --dport 1863 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 1863 -m state --state ESTABLISHED -j ACCEPT
Mais mon script ne marche pas (mon script fonctionne parfaitement sans les iptables).
Je ne vois pas vraiement pourquoi.
Merci pour votre coup de main...
Hors ligne
link182 a écrit:
iptables -A OUTPUT --protocol tcp --dport 1863 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 1863 -m state --state ESTABLISHED -j ACCEPT
Hors ligne
destination et sortie non ?
j'ai repris ce bout de code que j ai croisé un peu partout sur le net... il te semble faut ?
Hors ligne
Tiens, j'viens de calculer un truc...
Je fais tourner 3 shoutcast, dont un alimenté par un sc_trans local, l'autre par des radios distantes.
Du coup, dans mon iptables, j'ai ouvert les ports 8000 (tous) + 8001 (localhost uniquement), puis 8010 + 8011 (tous) puis 8020 + 8021 (tous), car shoutcast nécessite le port définie dans le fichier de conf, plus le port +1.
Jusque là, pas de soucis, par contre quand je fais un iptables -L -v, le résultat interprète les numéros de ports reconnus...
Ainsi, au lieu de mettre dpt:80, il affiche dpt:www, idem pour https, ftp, ftp-data etc... et pour le 8021, il affiche dpt:zope-ftp...
Rigolo...
J'm'en fout pas mal, mais d'où il me sort cette info ???
Merci
Moi j'dis, vive iptables -L -v -n
Hors ligne
Flying Jack a écrit:
Tiens, j'viens de calculer un truc...
Je fais tourner 3 shoutcast, dont un alimenté par un sc_trans local, l'autre par des radios distantes.
Du coup, dans mon iptables, j'ai ouvert les ports 8000 (tous) + 8001 (localhost uniquement), puis 8010 + 8011 (tous) puis 8020 + 8021 (tous), car shoutcast nécessite le port définie dans le fichier de conf, plus le port +1.
Jusque là, pas de soucis, par contre quand je fais un iptables -L -v, le résultat interprète les numéros de ports reconnus...
Ainsi, au lieu de mettre dpt:80, il affiche dpt:www, idem pour https, ftp, ftp-data etc... et pour le 8021, il affiche dpt:zope-ftp...
Rigolo...
J'm'en fout pas mal, mais d'où il me sort cette info ???
Merci
Moi j'dis, vive iptables -L -v -n
Me semble que c'est /etc/services
Hors ligne
Flying Jack : cela ne marche toujours pas... quand je valide mon formulaire pour accéder au server via CURL sur le port 1863, mon browser "tourne" dans le vide... comme si quelque chose bloquait...
Hors ligne
SAlut,
Suite au hack de ma dédibox, je l'ai réinstallé et mit un firewall (j'avais un peux peur, et je l'avais pas fait sur l'ancienne installe).
Mais grace ua script de Flying Jack, c'est tout bonnement enfantin!!
Je vous donc le mien :
#!/bin/bash /etc/init.d/fail2ban stop echo Setting firewall rules... # # config de base # # Vider les tables actuelles iptables -t filter -F iptables -t filter -X echo - Vidage : [OK] # Autoriser SSH iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT echo - Autoriser SSH : [OK] # Ne pas casser les connexions etablies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT echo - Ne pas casser les connexions établies : [OK] # Interdire toute connexion entrante iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP echo - Interdire toute connexion entrante : [OK] # Interdire toute connexion sortante iptables -t filter -P OUTPUT DROP echo - Interdire toute connexion sortante : [OK] # Autoriser les requetes DNS, FTP, HTTP, NTP (pour les mises a jour) iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT echo - Autoriser les requetes DNS, FTP, HTTP, NTP : [OK] # Autoriser loopback iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT echo - Autoriser loopback : [OK] # Autoriser ping iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT echo - Autoriser ping : [OK] # Gestion des connexions entrantes autorisées # # iptables -t filter -A INPUT -p <tcp|udp> --dport <port> -j ACCEPT #DNS iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT # HTTP iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT echo - Autoriser serveur Apache : [OK] # Flash Media Server 2 iptables -t filter -A INPUT -p tcp --dport 1935 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 1111 -j ACCEPT echo - Autoriser serveur Flash Media Server 2 : [OK] # FTP modprobe ip_conntrack_ftp iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT echo - Autoriser serveur FTP : [OK] # Mail iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT echo - Autoriser serveur Mail : [OK] # Steamcast iptables -t filter -A INPUT -p tcp --dport 8000 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 8001 -j ACCEPT echo - Autoriser serveur ShoutCast autonome : [OK] # Webmin iptables -t filter -A INPUT -p tcp --dport 10000 -j ACCEPT echo - Autoriser serveur Webmin : [OK] # Syn-Flood iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT echo - Limiter le Syn-Flood : [OK] # Spoofing iptables -N SPOOFED iptables -A SPOOFED -s 127.0.0.0/8 -j DROP iptables -A SPOOFED -s 169.254.0.0/12 -j DROP iptables -A SPOOFED -s 172.16.0.0/12 -j DROP iptables -A SPOOFED -s 192.168.0.0/16 -j DROP iptables -A SPOOFED -s 10.0.0.0/8 -j DROP echo - Bloquer le Spoofing : [OK] /etc/init.d/fail2ban start echo Firewall mis a jour avec succes !
Tout marche a merveille.
Parcontre j'ai un souci avec les javascript...
Je pensais que j'avais foiré la conf du java script mais même en le tordnat dans tous les sens ça marche pas..
Y a t'il un port spécial javascript??? ça me semble bizard, mais bon je pose la question sais ton jamais....
@+
Hors ligne
Flying Jack a écrit:
Nan, javascript, c'est juste du coté client.
Merci pour ta réponse.
Je doit avoir des souci a quelque part....
Car même les animations en flash ne marche plus... Java ou flash même combat!! ![]()
@+
Hors ligne
Bonjour Flying Jack,
J'aurais voulu avoir ton avis sur ces lignes qui j'aimerais rajouter dans mon script firewall..
Théroriquement, elles permettent de bloquer celui qui tente de se connecter plus de 4 fois en 60 sec en ssh. Néanmoins je n'arrive pas à comprendre si c'est "4 echecs de connexion" qui sont comptabilisés ou juste "4 connexions en ssh"
iptables -A INPUT -p tcp –dport ssh -m recent –update –seconds 60 –hitcount 4 –name SSH -j DROP
iptables -A INPUT -p tcp –dport ssh -m recent –set –name SSH
iptables -A INPUT -p tcp –dport ssh -j ACCEPT
Hors ligne
Avec l'arrivée de l'IPv6 sur les dédiboites, c'est une nouvelle porte d'entrée qui s'ouvre sur vos serveurs...
Alors tous ceux qui n'utilisent pas encore l'IPv6 sur leur machine, pensez à fermer cette porte dans vos scripts firewall, je suis étonné que personne n'en ait encore trop parlé:
# IPV6 ip6tables -P INPUT DROP ip6tables -P OUTPUT DROP ip6tables -P FORWARD DROP ip6tables --flush ip6tables --flush INPUT ip6tables --flush OUTPUT ip6tables --flush FORWARD ip6tables --flush -t mangle ip6tables --delete-chain echo "- Interdire IPv6 : [OK]"
avec un p'tit sudo /etc/init.d/firewall pour prendre en compte les modifs, si vous avez installé comme indiqué dans le tuto de la première page.
Hors ligne
Bonjour,
J'utilise pour le moment webmin pour configurer mon pare feu, c'est bien et c'est facile (pour le moment lorsque je fais un test des ports ouverts sur l'interface de gestion, y a rien qui depasse
).
Mais j'aimerais faire ma config moi meme, histoire de mieux comprendre ce qui se passe et donc passer a iptables.
Je voudrais avoir le retour d'oeils avisés sur ma config si possible.
j'utilise la dedibox pour un service FTP (ports 21, 2121 et 4000), un serveur web et un serveur Darwin streaming audio et video (ports 8000,8001 et 1220 pour l'administration).
J'utilise le ssh sur le port 2222 et webmin sur le port 10000.
voici ma config comme je la vois :
#!/bin/bash
# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X
echo - Vidage : [OK]
# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
echo - Autoriser SSH : [OK]
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo - Ne pas casser les connexions établies : [OK]
# Interdire toute connexion entrante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
echo - Interdire toute connexion entrante : [OK]
# Interdire toute connexion sortante
iptables -t filter -P OUTPUT DROP
echo - Interdire toute connexion sortante : [OK]
# Autoriser les requetes DNS, FTP, HTTP, NTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
echo - Autoriser les requetes DNS, FTP, HTTP, NTP : [OK]
# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo - Autoriser loopback : [OK]
# Autoriser ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo - Autoriser ping : [OK]
# Gestion des connexions entrantes autorisées
#
# iptables -t filter -A INPUT -p <tcp|udp> --dport <port> -j ACCEPT
# HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
echo - Autoriser serveur Apache : [OK]
# FTP
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2121 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 4000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo - Autoriser serveur FTP : [OK]
# Darwin Streaming
iptables -t filter -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8001 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1220 -j ACCEPT
echo - Autoriser serveur Darwin autonome : [OK]
# Webmin
iptables -t filter -A INPUT -p tcp --dport 10000 -j ACCEPT
echo - Autoriser serveur Darwin autonome : [OK]
# Syn-Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
echo - Limiter le Syn-Flood : [OK]
# Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP
echo - Bloquer le Spoofing : [OK]
# IPV6
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP
ip6tables --flush
ip6tables --flush INPUT
ip6tables --flush OUTPUT
ip6tables --flush FORWARD
ip6tables --flush -t mangle
ip6tables --delete-chain
echo "- Interdire IPv6 : [OK]"
echo Firewall mis a jour avec succes !
Ensuite j'ai vu comment l'activer au demarrage :
Nous allons ensuite rendre ce fichier executable:
chmod +x /etc/init.d/firewall
Puis faire en sorte qu'il se lance tout seul au démarrage:
update-rc.d firewall start 01 2 .
Maintenant, on le lance:
/etc/init.d/firewall
Par contre, comment faire pour desactiver le firewall en cas de probleme ?
Merci pour votre aide.
Dernière modification par alokomac (2008-07-11 11:16:04)
Hors ligne
ScHinZe a écrit:
alokomac a écrit:
Par contre, comment faire pour desactiver le firewall en cas de probleme ?
Aucune idée, car c'est LA chose à ne JAMAIS faire.
![]()
Sinon je me demande si je dois pas ouvrir le port 554 pour le streaming video en UDP ?
Le probleme c'est que je ne peux tester pour le moment vu que mon serveur Darwin ne fonctionne pas en video ![]()
Hors ligne
Seule une lecture de la documentation et des prérequis du logiciel dont tu parles peut te donner la réponse. Je ne connais pas ce serveur, et j'ai pas envie de lire la doc.
Hors ligne
ScHinZe a écrit:
Seule une lecture de la documentation et des prérequis du logiciel dont tu parles peut te donner la réponse. Je ne connais pas ce serveur, et j'ai pas envie de lire la doc.
la question s'adresse justement a qqun qui connait le serveur Darwin, ce qui n'est pas ton cas, et la doc est pas explicite la dessus.
PS : sinon bonne chance pour la sortie de ton disque.
Dernière modification par alokomac (2008-07-11 12:25:49)
Hors ligne