Le Forum Non Officiel de la DEDIBOX
Vous n'êtes pas identifié.
Pages: 1
:blush:
Bonjour,
Je voulais savoir que faire quand on fait partie de cette espèce de boulets de la pire espèce qui ont pourtant lu des dizaines de fois "quand tu configures ton firewall, fais bien gaffe autoriser les connexions SSH avant tout", mais qui au final n'ont rien trouvé de mieux à faire que de taper "iptables -P INPUT DROP"...
Bref, pour la petite histoire, en suivant ce tuto j'ai fait ce fichier que j'ai placé dans /etc/ :
firewall.sh a écrit:
# Regles par defaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# On accepte les connexions boucle locale (sur lo)
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
# On accepte les connexions HTTP et SSH
iptables -A INPUT -i eth0 -p tcp --sport www -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p ssh --sport www -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT # /!\
# on autorise le ping
iptables -A OUTPUT -p icmp -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p icmp -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT
# On autorise les connexions TCP et UDP deja etablies
iptables -A INPUT -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED, RELATED -j ACCEPT
ensuite je sauvegarde puis je tape /etc/firewall.sh pour que ça s'execute. Ca n'a pas marché et ça m'a retourné "permission refusée", et au lieu d'avoir la présence d'esprit de faire une recherche de trois secondes sur google, qui m'aurait trouvé cette page et qui m'aurait permis d'utiliser mon script, je me suis dit "et si j'entrait tout à la main?"...
grave erreur !
L'homme noob a agit et bim, première ligne : "iptables -P INPUT DROP" j'essaye de taper la deuxième ligne quand "game over, connexion perdue". Et là tout me revient ! "NON NON NON IL NE FAUT PAS OUBLIER D'AUTORISER LA CONNEXION SSH !!!!"
Bref, j'ai plus accès à ma dédibox, ce qui pour ainsi dire me gène un peu ![]()
Alors je me dit "bon, t'es qu'un idiot bête, mais personne ne doit _jamais_ savoir que t'as fait cette idiotie, alors go system rescue".
Je me connecte donc à mon interface, puis je passe en system rescue, on me dit que je peux me connecter sur ma dédibox par ssh en tant que root, je lance donc putty, et... ça ne se connecte pas
Je suis assez troublé, surtout que j'ai pas tellement envie de formater (pour la quinzième fois) ma dédibox.
Y aurait-il une feinte que je n'aurais pas essayée? Suis-je bon pour contacter le service technique qui me répondra dans trois mois (et 107€ plus tard)? Dois-je face à tant de boulletisme aigu mettre fin à mes jours avant que ça n'empire?
Je remercie d'avance ceux qui me répondront (même pour m'insulter).
Dur dur la vie du débutant linux...
Cordialement,
iLUV
EDIT : j'ai réussis à me connecter (fallait apparemment attendre que la dédibox ait fini de rebooter (oui je sais...).
Seulement... je sais pas quoi faire pour enlever le filtrage vu que quand je tape par exemple : "iptables -L" ça me dit :
iptables v1.3.3: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Bref, je ne sais pas trop quoi faire...
RE-EDIT : c'est bon ![]()
RERERE-EDIT : oui (maintenant) je sais qu'il y a des problèmes dans mon fichier ci-dessus, j'ai finalement réussis à me faire mon fichier perso et ça marche
(même le ftp en passif lalalala)
Dernière modification par iLUV (2006-06-21 05:07:17)
Hors ligne
iptables -A INPUT -i eth0 -p ssh --sport www -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT #
C'est sensé marcher, ca ?!
Hors ligne
Calimero a écrit:
iptables -A INPUT -i eth0 -p ssh --sport www -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT #
C'est sensé marcher, ca ?!
C'est étonnant comme regle oui.
Apparement tes problemes sont regles ? T'es sur que tu veux pas un check de tes regles ?
En général, pas besoin de spécifier les state de partout, une seule regle suffit:
$IPT -A INPUT -p ALL -i IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
Avec ce code au debut de tes regles, tu t'evites le parsage de toutes les regles pour autoriser une connexion qui l'est déja à la base (statefull).
Seulement les nouvelles connexions qui match une de tes regles seront initialisées
Hors ligne
bah je veux bien un check de mes règles, mais dans ce cas j'attendrai d'avoir fini ma configuration (il me reste deux trois détails à vérifier). Je posterai alors avec plaisir ici mon fichier complet pour avoir vos conseils ![]()
edit :
pour cette règle =>
iptables -A INPUT -i eth0 -p ssh --sport www -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT #
j'avais tapé sans faire attention, c'était =>
iptables -A INPUT -i eth0 -p tcp --sport ssh -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Dernière modification par iLUV (2006-06-21 13:50:45)
Hors ligne
iLUV a écrit:
iptables -A INPUT -i eth0 -p tcp --sport ssh -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
--dsport ssh
Pas besoin de "RELATED" en SSH (ou alors y a une partie du protocole qui m'échappe).
Hors ligne
j'avoue que dans ma grande ignorance, je met toujours les trois (new, established et related
)
Hors ligne
Bon voilà, j'ai remarqué que mon ancien c'était un peu du n'importe quoi.
Bref, j'ai vu que naholyr avait posté une configuration de base qui s'approche à peu près de ce que je voudrais. Je pense avoir réussis à ajouter ce que je voulais.
Cependant j'ai quelques question.
Mon fichier est celui-ci :
#!/bin/bash
###############################################################################
# CONFIGURATION IPTABLES #
# Cette configuration correspond a mes besoins au 19/06/2006 #
# Derniere edition, le 21/06/2006 #
# #
# ~~~ #
# Objectifs : #
# -gestion de la dedibox : #
# +autoriser la gestion par SSH sur le port 22 ok #
# -serveur web : #
# +autoriser les entrees sur le port 80 ok #
# +autoriser les sorties sur le port 80 ok #
# -serveur ftp : #
# +autoriser les entrees sur le port 21 ok #
# +autoriser les sorties sur le port 21 ok #
# +gerer le passive mode ok #
# -bloquer TOUT le reste ok #
###############################################################################
# Tout d'abord on enleve les eventuelles entrees
iptables -t filter -F
iptables -t filter -X
#################### ON AUTORISE LE SSH #######################
# On autorise le SSH (si on ne le fait pas, on ne pourra pas gerer la box et bim 30roros dans le baba)
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
###############################################################
# ne pas casser les connexions etablies # pas bien compris mais bon, ça sonne bien
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
################### ON BLOQUE TOUT LE RESTE ###################
# On drop toutes les connexions entrantes (input)
iptables -t filter -P INPUT DROP
# On drop toutes les connexions locales (?) (forward)
iptables -t filter -P FORWARD DROP
# on drop toutes les connexions sortante (output)
iptables -t filter -P OUTPUT DROP
###############################################################
################## ON AUTORISE DES SORTIES ####################
# On autorise les sorties HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
# On autorise les sorties DNS (utile?)
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
###############################################################
# autoriser loopback (utile?)
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
# On drop les pings (hahaha fuck les ptits malins qui nous -kinder- pingouient)
iptables -t filter -A INPUT -p icmp -j DROP
################## ON AUTORISE DES ENTREES ####################
# On autorise les entrees sur le port 80
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
# On autorise les entrees sur le port 443 (est-ce utile? peut etre pour les apt-get?)
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
###############################################################
####################### CAS DU FTP ############################
# On autorise les sorties FTP
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
# On autorise les entres FTP
iptables -t filter -A INPUT -p tcp --sport 21 -j ACCEPT
# gestion du mode passif
iptables -t filter -A INPUT -p tcp --sport 1024:65535 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 1024:65535 -j ACCEPT
###############################################################
Parmis les choses que je ne comprend pas, il y a ça :
# On autorise les sorties DNS (utile?) iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
dans quelle mesure les requêtes DNS me seront utiles? Est-ce important de les avoir (j'ai un nom de domaine qui pointe sur ma boite, mais je ne pense pas que ce soit ce genre de requêtes DNS là)?
# autoriser loopback (utile?) iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT
à première vue les programmes qui vont tourner sur ma boîte seront : apache, mysql, php, proftp, et peut etre un soft de statistiques. Ce genre de logiciels nécessitent-ils l'autorisation du loopback? Faut-il le laisser car ça ne peut pas être dangereux?
# On autorise les entrees sur le port 443 (est-ce utile? peut etre pour les apt-get?) iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
dans l'exemple de naholyr il met cette autorisation parmi celles utiles pour l'apt-get (avec http sur le port 80 et ftp sur le port 21) , cependant je me demande si c'est utile? De plus quand je fais apt-get update (après exécution de ce script) je me retrouve avec des tas d'erreurs de résolution de debian-mirror.dedibox.fr (ça me le fesait déjà hier soir, donc je ne pense pas que le problème vienne d'eux -encore moins le jour où je commence à m'occuper de mon firewall :p )
Bon voilà c'est à peu près tout ce que j'ai à demander. Si vous avez une remarque quelconque sur la configuration que j'utilise je suis tout à fait preneur, mais merci de considérer que vous vous adressez à quelqun de pas forcément très compétent dans le domaine de linux.
Merci de votre attention et de l'aide que vous pourrez m'apporter.
Cordialement,
iLUV
Hors ligne
iLUV a écrit:
Bon voilà, j'ai remarqué que mon ancien c'était un peu du n'importe quoi.
Bref, j'ai vu que naholyr avait posté une configuration de base qui s'approche à peu près de ce que je voudrais. Je pense avoir réussis à ajouter ce que je voulais.
Cependant j'ai quelques question.
Mon fichier est celui-ci :#!/bin/bash
###############################################################################
# CONFIGURATION IPTABLES #
# Cette configuration correspond a mes besoins au 19/06/2006 #
# Derniere edition, le 21/06/2006 #
# #
# ~~~ #
# Objectifs : #
# -gestion de la dedibox : #
# +autoriser la gestion par SSH sur le port 22 ok #
# -serveur web : #
# +autoriser les entrees sur le port 80 ok #
# +autoriser les sorties sur le port 80 ok #
# -serveur ftp : #
# +autoriser les entrees sur le port 21 ok #
# +autoriser les sorties sur le port 21 ok #
# +gerer le passive mode ok #
# -bloquer TOUT le reste ok #
###############################################################################
# Tout d'abord on enleve les eventuelles entrees
iptables -t filter -F
iptables -t filter -X
#################### ON AUTORISE LE SSH #######################
# On autorise le SSH (si on ne le fait pas, on ne pourra pas gerer la box et bim 30roros dans le baba)
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
###############################################################
# ne pas casser les connexions etablies # pas bien compris mais bon, ça sonne bien
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPTEn fait, toute connexion déja validé (en sortie ou en entrée) sera automatique acceptée. C'est logique. Si lors de l'initialisation, tu dis ok, pourquoi ensuite tu ne voudrais plus ? Ca evite de parser tous les fichiers, mettre cette regle en premier dans les tables. (c'est ce qu'on appel le statefull si je ne m'abuse
)
################### ON BLOQUE TOUT LE RESTE ###################
# On drop toutes les connexions entrantes (input)
iptables -t filter -P INPUT DROP
# On drop toutes les connexions locales (?) (forward)
iptables -t filter -P FORWARD DROP
# on drop toutes les connexions sortante (output)
iptables -t filter -P OUTPUT DROP
###############################################################
################## ON AUTORISE DES SORTIES ####################
# On autorise les sorties HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
# On autorise les sorties DNS (utile?)
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
###############################################################Bah si tu veux faire des requetes DNS oui
Par contre, c'est plutot l'udp pour ca, le tcp n'étant pas des masses utilisés, et c'est plutot lorsque tu as un DNS local qui va dialoguer avec d'autres DNS (genre maj ...)
# autoriser loopback (utile?)
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPTBah oui, mais ce n'est pas dangereux, tu autorises juste les connexions sur 127.0.0.1
# On drop les pings (hahaha fuck les ptits malins qui nous -kinder- pingouient)
iptables -t filter -A INPUT -p icmp -j DROPPerso je laisse le ping, avoir une box qui semble etre down je n'aime pas.
################## ON AUTORISE DES ENTREES ####################
# On autorise les entrees sur le port 80
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
# On autorise les entrees sur le port 443 (est-ce utile? peut etre pour les apt-get?)
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
###############################################################Non, apt-get c'est de la sortie. La tu autorises juste les gens à ce connecter sur le 443 (ssl) genre t'a un apache-ssl qui tourne.
####################### CAS DU FTP ############################
# On autorise les sorties FTP
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
# On autorise les entres FTP
iptables -t filter -A INPUT -p tcp --sport 21 -j ACCEPT
# gestion du mode passif
iptables -t filter -A INPUT -p tcp --sport 1024:65535 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 1024:65535 -j ACCEPT
###############################################################Parmis les choses que je ne comprend pas, il y a ça :
Code:
# On autorise les sorties DNS (utile?) iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPTdans quelle mesure les requêtes DNS me seront utiles? Est-ce important de les avoir (j'ai un nom de domaine qui pointe sur ma boite, mais je ne pense pas que ce soit ce genre de requêtes DNS là)?
Code:
# autoriser loopback (utile?) iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPTà première vue les programmes qui vont tourner sur ma boîte seront : apache, mysql, php, proftp, et peut etre un soft de statistiques. Ce genre de logiciels nécessitent-ils l'autorisation du loopback? Faut-il le laisser car ça ne peut pas être dangereux?
Code:
# On autorise les entrees sur le port 443 (est-ce utile? peut etre pour les apt-get?) iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPTdans l'exemple de naholyr il met cette autorisation parmi celles utiles pour l'apt-get (avec http sur le port 80 et ftp sur le port 21) , cependant je me demande si c'est utile? De plus quand je fais apt-get update (après exécution de ce script) je me retrouve avec des tas d'erreurs de résolution de debian-mirror.dedibox.fr (ça me le fesait déjà hier soir, donc je ne pense pas que le problème vienne d'eux -encore moins le jour où je commence à m'occuper de mon firewall :p )
Bon voilà c'est à peu près tout ce que j'ai à demander. Si vous avez une remarque quelconque sur la configuration que j'utilise je suis tout à fait preneur, mais merci de considérer que vous vous adressez à quelqun de pas forcément très compétent dans le domaine de linux.
Merci de votre attention et de l'aide que vous pourrez m'apporter.
Cordialement,
iLUV
Hors ligne
merci bien pour ces précisions, j'ai remit le ping (limité) parceque c'est vrai que ça fait peur de voir sa dédibox en rouge
désolé du temps de réponse, des petits empêchements m'ont fais oublier ma dédibox quelque temps.
@+
iLUV
Hors ligne
Pages: 1