Online passe sans prévenir ses serveurs backup en FTP passif only (et aller on refait iptables !)

C’est en voulant appliquer un patch de sécurité sur un forum que je maintiens que je me suis rendu compte que nos chers amis online ont changé la stratégie de sécurité de leurs serveurs backup dedibox pour le ftp et sans prévenir. J’ai d’ailleurs trouvé un ptit topic sur le sujet ICI.
Désormais on ne peut plus faire du ftp qu’en mode passif… D’après ce que j’ai vu c’est plus sécurisé mais c’est surtout chiant à configurer (pour les amateurs disons) au niveau iptables. Il y a d’ailleurs plein de topics sur le net sur le sujet avec des amateurs qui galèrent et jamais de réponse super claire et évidente.
Il semble par exemple qu’utiliser certains modules comme nf_nat_ftp, nf_conntrack, nf_conntrack_ftp suffirait, mais hélas pas pour moi (du moins pas pour des connexions sortantes pour aller faire mes backups)… Ok je n’ai peut être pas tout capté mais bon..
Toujours est-il que cela donne dans un script iptables :

# FTP
modprobe nf_nat_ftp
modprobe nf_conntrack
modprobe nf_conntrack_ftp

 Après on trouve des trucs moches comme ça (et la ça fonctionne pour moi) :

iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Mais franchement, c’est juste super moche et bourrin car en gros il s’agit ici d’autoriser les connexions sortantes (et surtout les NEW !) sur une maxi plage de ports. Certes, le mode passif ftp peut tomber selon les config sur une vaste plage de ports mais quand même… Bon ok c’est du sortant donc moins grave que du entrant mais bon si vous vous faites infecter la machine c’est toujours mauvais.
Du coup, je me suis rabattu sur une config un peu moins bourrin (mais bourrin quand même) :

# Pour autoriser le mode passive on est bourrin en out new mais que sur le serv backup
iptables -t filter -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -d dedibackup-bzn.online.net -j ACCEPT

Au moins ici on limite sur un serveur destination (le serveur de backup en l’occurence). Evidemment, cela me convient dans mon usage mais sans doute pas pour tout le monde.
En tous cas, en matière de sécurité, il reste toujours le principe de base, fermer tout par défaut et ouvrir juste le stricte nécessaire. D’ailleurs, c’est l’occasion pour moi de rappeler l’intérêt de cet article.
Et avant d’oublier, si vous utilisez backup-manager pour vos sauvegardes, n’oubliez pas de le passer en mode ftp passif si c’est ce mode que vous utilisez :

# Do you want to use FTP passive mode?
# This is mandatory for NATed/firewalled environments
export BM_UPLOAD_FTP_PASSIVE="true"

5 réponses sur “Online passe sans prévenir ses serveurs backup en FTP passif only (et aller on refait iptables !)”

  1. Bonjour,
    j’ai bien entendu le même soucis avec Dedibackup. Je viens seulement de m’en apercevoir. Merci pour les infos trouvées ici. Cependant, la méthode « moins bourrin » ne fonctionne pas chez moi. Je suis obligé d’ouvrir tous les ports en OUTPUT et je n’aime pas ça. Tu n’aurais pas eu une autre idée par hasard ? 🙂

    1. Ah mince. C’est pas dedibackup-bzn.online.net pour toi ? C’est backup manager qui ne veut pas ou tes commandes ftp manuelles ? Car dans le second cas faut faire un petit passiv avant pour activer le bon mode.

      1. j’utilise un script maison, à base de lftp comme client. J’ai fait un test avec ftp qui est plus verbeux.
        ftp dedibackup-bzn.online.net
        Connected to dedibackup-bzn.online.net.
        220 server ready - login please
        Name (dedibackup-bzn.online.net:xxx): auto
        331 password required
        Password:
        230 login accepted
        Remote system type is UNIX.
        Using binary mode to transfer files.
        ftp> passive
        Passive mode on.
        ftp> ls
        227 Entering Passive Mode (88,190,254,202,138,191)

        Je me suis aperçu que j’étais redirigé sur l’IP 88.190.254.202 qui n’est pas dedibackup-bzn.online.net. J’ai donc repris ta méthode « moins bourrin » en spécifiant cette adresse IP à la place de dedibackup-bzn.online.net et ça fonctionne.
        Encore merci pour ce précieux billet 🙂

        1. Mais de rien :), content de pouvoir aider.
          Si tu as des besoins de backup il y a aussi un petit paquet qui est très sympa : backupmanager. Je dois avoir un article qui en parle.

Les commentaires sont fermés.