Port 20 bloqué ! firewall ?

[quote=“PascalHambourg”]Le noyau 2.6.39 n’a pas l’air beaucoup plus frais…
Et concernant l’ajout de l’option dans la ligne de commande du noyau au démarrage ?[/quote]

Hum, oui.
J’ai voulu faire un essai. le 2.6.39-4 est tout de même le troisième sur kernel.org… (3.1.6, 3.0.9 et 2.6.39.4)

Non je n’ai pas essayé la ligne de commande du noyau, je ne suis pas sur de mon coup (Malgré mes recherches sur le net je ne sais pas précisément ou la mettre, ni quoi y mettre); Je n’ai pas envie de planter mon serveur.
A chaque essai (surtout foiré…) mes sites (dont le wiki) sont “off line” pendant un moment…

Sur kernel.org, il ne faut pas regarder l’ordre des séries mais la date des dernières révisions. Ainsi la dernière révision de la série 2.6.39 est sortie il y a presque cinq mois, alors que la dernière révision de la série 2.6.32, qui est toujours maintenue en “longterm”, date de quelques jours. D’autre part, dans l’annonce de publication de la version 2.6.39.4, on pouvait lire :

[quote]Please note, this is the LAST release of the 2.6.39 kernel series. All
users of 2.6.39 should be moving to 3.0 right now. This tree is now
end-of-life, please plan accordingly.[/quote]

Pour l’option, ça dépend du chargeur d’amorçage : lilo, grub, grub 2 ?

[quote=“PascalHambourg”]Sur kernel.org, il ne faut pas regarder l’ordre des séries mais la date des dernières révisions. Ainsi la dernière révision de la série 2.6.39 est sortie il y a presque cinq mois, alors que la dernière révision de la série 2.6.32, qui est toujours maintenue en “longterm”, date de quelques jours. D’autre part, dans l’annonce de publication de la version 2.6.39.4, on pouvait lire :

[quote]Please note, this is the LAST release of the 2.6.39 kernel series. All
users of 2.6.39 should be moving to 3.0 right now. This tree is now
end-of-life, please plan accordingly.[/quote]

Pour l’option, ça dépend du chargeur d’amorçage : lilo, grub, grub 2 ?[/quote]

Grub2.
J’ai fait un essai avec le 3.1.6, ça ne démarre pas. Il faut que je creuse, ou tout simplement que j’installe le 2.6.32…

Dans /etc/default/grub, il faut éditer la ligne GRUB_CMDLINE_LINUX pour ajouter l’option nf_conntrack_ftp.ports=21,xx :

Puis exécuter update-grub comme indiqué dans le fichier pour mettre à jour /boot/grub/grub.cfg.

[quote=“PascalHambourg”]Dans /etc/default/grub, il faut éditer la ligne GRUB_CMDLINE_LINUX pour ajouter l’option nf_conntrack_ftp.ports=21,xx :

GRUB_CMDLINE_LINUX="nf_conntrack_ftp.ports=21,xx"

Puis exécuter update-grub comme indiqué dans le fichier pour mettre à jour /boot/grub/grub.cfg.[/quote]

Ça roule, merci beaucoup (Avec le 2.6.38 de OVH).

En entre temps j’ai aussi installé le 2.6.32-5. Du coup j’ai galéré avec iptables-restore… créé avec le noyau 2.6.38, fichier incompatible avec le 2.6.32
Je me suis retrouvé avec tout à ACCEPT, heureusement que j’ai eu la présence d’esprit de vérifier. :mrgreen:

Je ne sais pas encore quel va être mon choix… 2.6.32, noyau OVH ou 3.1.6 (encore faut-il que j’arrive à l’installer)

Etonnant. Quelles sont les différences ?

Saluts,

Si tu y parvient … j’en serai très intéressé lol :wink:

Etonnant. Quelles sont les différences ?[/quote]

Je ne me souviens que de ça, sur la table nat:Can't set policy `INPUT' on `ACCEPT'Je n’ai pas trop cherché, j’ai fait un nettoyage et recommencé.

[quote=“loreleil”]Si tu y parvient … j’en serai très intéressé lol :wink:[/quote]Pas sur que je me casse la tête avec ça, mais si je le fais, oui, je te préviens.

Ce message est un peu normal : il n’y a pas de chaîne INPUT dans la table nat. Mais ça devrait être pareil avec les deux versions de noyau.

Salut,

Ce message est un peu normal : il n’y a pas de chaîne INPUT dans la table nat. Mais ça devrait être pareil avec les deux versions de noyau.[/quote]

Après recherche, oui, c’est normal… Et j’ai la même erreur avec les autres noyaux.
Je n’avais pas redémarré le serveur depuis 45 jours. J’ai du faire une mauvaise manip, et comme je n’avais pas eu besoin de recharger mes règles je ne m’en étais pas aperçu.
Merci.

Désolé d’avoir été absent si longtemps, j’ai dû partir chez mes grand parents en Italie, et puis après il y avait noël, le nouvel an et toussa… vraiment désolé :confused:

Bon je vois que la discussion s’est légèrement détournée, alors je ne voudrait pas jouer les troubles fêtes mais je viens apporter de nouvelles informations en ce qui concerne mon serveur ftp, tout d’abord, j’ai essayer de mettre en passif (avant je ne voulait pas car ça n’avait pas grande utilité puisque ce n’est qu’un petit serveur personnel. mais si ça pouvait refaire fonctionner le serveur…) et là il s’est passé une chose incroyable ! ça ne marchait pas… et puis je me suis rapellé que si le passif utilisait d’autres port, iptables ne les autorisait pas ! du coup j’ai stoppé les daemon snort, spamassasin, snort, portsentry et j’ai refais les règles ipatbels en acceptant tt

et ça fonctionne !

alors j’ai un à un, tout réactiver pour voir la source du problème, j’en suis à un point où tt les firewall sont réactivé, et que je suis même en actif et ça fonctionne toujours… c’est très étrange… je cherche encore, en attendant continuez ce que vous faisiez faites pas attention à moi

ah bah nan, tt viens d’iptables, pourtant le port 21 est ouvert… que je sache en actif on a besoin que diu port 20+21…
c’est toujours un problème car si je dois accepter toutes les connexions entrantes mon firewall ne sert plus à grand chose…

Saluts,

quote=“lol”

Posté: 27 Déc 2011 07:10

D’abord, désolé pour le “détournement” du sujet.
Mais comme G.Alex-713 ne semble plus s’y intéresser, j’ai moins de scrupules…

(…)[/quote]

[quote=“G.Alex-713”]Désolé d’avoir été absent si longtemps, (…)

en attendant continuez ce que vous faisiez faites pas attention à moi[/quote]

:033

Comme je l’ai écrit dans ma première réponse, les deux ports ne sont pas utilisés de la même façon, donc les règles iptables à mettre en place ne sont pas forcément identiques, selon le fonctionnement général du jeu de règles.

N’ayant fourni aucun détail concret, tu es le seul à pouvoir chercher…
Bon courage.

[code]root@server-713:~# cat /etc/init.d/firewall
#!/bin/bash

#On réinitialise les regles
iptables -t filter -F
iptables -t filter -X

#On bloque tout port non-autorisés

iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

#on laisse ouvert les connexions déjà établies

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#On laisse ouvert l’interfaces loopback (localhost)

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

#Pour le serveur Web:

#On laisse ouvert le port 80 pour apache2
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

#On laisse également ouvert le port 443 pour le https (http-over-ssl) l’échange de pages web sécurisé
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

#On laisse ouvert le port 22 pour les connexions ssh

iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

#Pour le serveur FTP:

#on ouvre le port 20 pour le transfert de fichiers
iptables -t filter -A OUTPUT -p tcp --dport ftp-data -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport ftp-data -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT

#on ouvre les ports pour le transfert de fichiers en mode passif

iptables -t filter -A OUTPUT -p tcp --dport 49152:65534 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 49152:65534 -j ACCEPT

#le port 21 pour l’identification ftp
iptables -t filter -A OUTPUT -p tcp --dport ftp -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport ftp -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT

#le port 990 pour le FTPS avec SSL
iptables -t filter -A OUTPUT -p tcp --dport 990 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 990 -j ACCEPT

#Pour les MAILS

#on laisse ouvert le port 25 pour le protocole smtp et pour pouvoir ainsi envoyer des mails
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT

#on laisse ouvert le port 110 pour le protocole pop3 permettant ainsi de recevoir des mails
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT

#On ouvre aussi le port 995 pour le protocole pop3 avec ssl
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT

#On ouvre le port 587, pour smtp en ssl
iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 587 -j ACCEPT

#Pour le port DNS on ouvre le port 53 udp et tcp
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

#On ouvre le port 6667 pour le serveur ircd
iptables -t filter -A OUTPUT -p tcp --dport 6667 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 6667 -j ACCEPT

#Et le port 7000 pour les services anope
iptables -t filter -A OUTPUT -p tcp --dport 7000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 7000 -j ACCEPT
#le 6666 pour les bots
iptables -t filter -A OUTPUT -p tcp --dport 6666 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 6666 -j ACCEPT

#le port 843 pour le policy port du irc flash
iptables -t filter -A OUTPUT -p tcp --dport 843 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 843 -j ACCEPT

#et le port 8002 pour une erreur
iptables -t filter -A OUTPUT -p tcp --dport 8002 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8002 -j ACCEPT

#On laisse ouvert aussi le port 6697 pour irc avec ssl
iptables -t filter -A OUTPUT -p tcp --dport 6697 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 6697 -j ACCEPT

#Pour pouvoir faire des ping, on autorise les pings
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

NTP (horloge)

iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

#On fait en sorte d’éviter les ataques par denis de service (DDoS)
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT

#aussi pour les protocoles udp et icmp
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT

#On essaie de bloquer le scan de ports
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
[/code]

voilà mon firewall, je ne suis pas un expert d’iptables, mais j’espère que vous saurez m’aider :slightly_smiling:

A mon avis il y a un paquet de règles en trop (et la politique par défaut d’INPUT à ACCEPT, pas génial), mais ce n’est pas le sujet.
Apparemment tu n’as pas tenu compte de ma première réponse concernant le port 20 : il s’agit d’un port source pour des connexions sortantes, donc pour l’autoriser :

Le module nf_conntrack_ftp est-il bien chargé ?

Il faudrait aussi des informations sur la connexion FTP côté client, avec le log détaillé des commandes FTP idéalement (mode bavard).

ta regle iptables fonctionne !!!
PS: si c’était en ACCEPT, pour inpût, c’était pr faire marcher mon serveur ftp en attendant

Bien, mais si tu n’utilises pas de chiffrement, cette règle ne devrait pas être nécessaire quand le module nf_conntrack_ftp est chargé. Tu n’as toujours pas dit s’il l’est ou pas.

Si la règle manquante était dans OUTPUT, ça ne devait pas être très efficace…

si si, c’était efficace, le problème devait être dans l’input
sinon apparemment ta règle ne marche plus (ça marche pour un seul rafraîchissement et puis ça rebloque) mais si je met en passif en autorisant normalement la plage de ports passifs ça fonctionne

Ce n’est pas très logique…
Si le problème était en INPUT, alors ma règle n’aurait aucun effet. Et si elle a un effet, il devrait être permanent, pas juste une fois. Tu utilises bien le port 21 en clair et non 990 en chiffré ?