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"