Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/01/2014, à 14:11

DJiK

N'autoriser que quelques IP avec PureFTP

Bonjour,

Il y a quelques temps sur ce forum, on m'a expliqué comment n'autoriser que certaines IP en SSH avec hosts.allow et hosts.deny sur mon serveur web... J'ai voulu faire pareil pour le FTP, mais apparemment PureFTP n'utilise pas les "TCP wrappers" et n'est pas concerné par ces fichiers. neutral

Alors comment faire? iptables? mais je ne sais pas du tout comment ça marche...

Le mieux que j'ai trouvé dans mes recherches du matin c'est comment ajouter PureFTP à Fail2ban pour bloquer au bout de 3 tentatives. C'est bien mais on n'est que 3 IP fixes à accéder au serveur, donc autant bloquer toutes les autres, mais PureFTP ne le permet pas directement.

Hors ligne

#2 Le 16/01/2014, à 17:43

tiramiseb

Re : N'autoriser que quelques IP avec PureFTP

Salut,

Le plus simple et plus sécurisé serait en effet de faire du filtrage avec iptables.

Mais d'abord : es-tu sûr de vouloir utiliser FTP (le protocole le moins sécurisé d'Internet tongue ) ? Ou alors fais-tu du FTPS ?
C'est pour quel usage ?

Hors ligne

#3 Le 16/01/2014, à 18:32

DJiK

Re : N'autoriser que quelques IP avec PureFTP

Par moins sécurisé, tu veux dire que les paquets peuvent être interceptés?

L'usage est de mettre à jour des sites web. Et en partie obligé de garder FTP, pour un logiciel qui doit envoyer des fichiers.
Sinon pour les autres sites je pourrais n'utiliser que FTPS, mais j'utilise ISPConfig sur le serveur, qui crée facilement des comptes FTP... Après mes connaissances sont limitées! hmm

Donc en résumé, oui, j'aimerais garder FTP par simplicité, mais en le limitant à moi et 2 clients autorisés. smile
J'avais essayé de comprendre iptables pour SSH il y a quelques mois. Mais là aussi, ça dépasse mes petites connaissances de développeur! big_smile

Hors ligne

#4 Le 16/01/2014, à 18:36

Berserker

Re : N'autoriser que quelques IP avec PureFTP

Salut à tous,

@DJiK: Je crois que l'on peut créer des Listes blanche (IP autorisées à se connecter) avec Fail2ban : http://www.fail2ban.org/wiki/index.php/Whitelist

Dernière modification par Berserker (Le 16/01/2014, à 18:40)


Arché et Debianeux gnomiste.

Hors ligne

#5 Le 16/01/2014, à 18:47

tiramiseb

Re : N'autoriser que quelques IP avec PureFTP

Par moins sécurisé, tu veux dire que les paquets peuvent être interceptés?

Je veux dire que par défaut les données avec FTP transitent non chiffrées, en clair ; non seulement les données des fichiers transférés mais aussi les mots de passe.

L'usage est de mettre à jour des sites web.

Pourquoi ne pas utiliser SFTP (sous-ensemble de SSH), qui est installé par défaut avec SSH ?

Hors ligne

#6 Le 16/01/2014, à 19:54

DJiK

Re : N'autoriser que quelques IP avec PureFTP

tiramiseb a écrit :

Pourquoi ne pas utiliser SFTP (sous-ensemble de SSH), qui est installé par défaut avec SSH ?

Ben, j'avais déjà répondu:

DJiK a écrit :

Et en partie obligé de garder FTP, pour un logiciel qui doit envoyer des fichiers.
Sinon pour les autres sites je pourrais n'utiliser que FTPS, mais j'utilise ISPConfig sur le serveur, qui crée facilement des comptes FTP... Après mes connaissances sont limitées! hmm


 

Berserker a écrit :

@DJiK: Je crois que l'on peut créer des Listes blanche (IP autorisées à se connecter) avec Fail2ban : http://www.fail2ban.org/wiki/index.php/Whitelist

À priori ce sont des IP qui ne seront jamais bannies même après plusieurs échecs de connexion, mais ça ne bloque pas les autres.

En plus fail2ban bannit les IP en ajoutant une règle iptables (http://doc.ubuntu-fr.org/fail2ban) donc la bonne méthode semble vraiment être iptables directement...


Mais l'autre fois j'avais fait ceci pour SSH, mais ça ne marchait pas. sad

iptables -A INPUT -p tcp --dport 22 -s XX.XX.XX.XX -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s YY.YY.YY.YY -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT

Alors si quelqu'un a la version FTP qui marche, ça m'intéresse! tongue

Hors ligne

#7 Le 16/01/2014, à 21:37

tiramiseb

Re : N'autoriser que quelques IP avec PureFTP

Ben, j'avais déjà répondu:

Ben non, tu n'as pas répondu. Tu as dit que tu pourrais utiliser FTPS, tu n'as pas parlé de SFTP...

D'ailleurs, tu écris « mais j'utilise ISPConfig sur le serveur, qui crée facilement des comptes FTP » : ça tombe bien, vu que le FTPS c'est juste une extension à FTP.
Et pourquoi vouloir gérer ça avec ce genre d'application ? C'est si difficile d'ajouter un utilisateur sur un système ? tongue

Hors ligne

#8 Le 17/01/2014, à 12:57

DJiK

Re : N'autoriser que quelques IP avec PureFTP

Je croyais que FTPS et SFTP étaient pareil.

Mais oui, c'est difficile, je ne sais pas ajouter des utilisateurs FTP ou autre, et comme je l'ai écrit je dois et je veux garder FTP. Maintenant j'aimerais le sécuriser plus, si tu sais faire aide-moi, sinon ça ne répond pas à ma question initiale.

Hors ligne

#9 Le 17/01/2014, à 14:01

tiramiseb

Re : N'autoriser que quelques IP avec PureFTP

pour n'autoriser que certaines adresses IP, comme je te l'ai indiqué en #2 le mieux est d'utiliser des règles de pare-feu.
Avec ufw idéalement, c'est le plus simple.

Je croyais que FTPS et SFTP étaient pareil.

Pas du tout.
Il y en a un qui est un ancêtre, pas encore mort et qui pourtant le mériterait, qui a été plus ou moins étendu pour améliorer sa sécurité.
Et il y a l'autre qui est naturellement sécurisé.

je ne sais pas ajouter des utilisateurs FTP

Comment ça "ajouter des utilisateurs FTP" ?
D'une part, tu parles de mettre à jour des sites web, donc ça sera limité à un certain nombre d'utilisateurs... alors ça ne sera pas une opération quotidienne.
D'autre part, sauf configuration spécifique (et tu n'en as pas parlé), il n'y a pas d'utilisateur spécifique : ce sont les utilisateurs du système qui se connectent en FTP.

j'aimerais le sécuriser plus

Le seul moyen de sécuriser FTP est d'activer le chiffrement avec FTPS.
Pour PureFTP, voir ici :
http://download.pureftpd.org/pub/pure-f … README.TLS

En tout cas, filtrer par adresse IP ça ne sécurise pas des masses vu que n'importe qui sur le trajet entre le client et le serveur est capable de voir les mots de passe et les contenus des fichiers, d'autant plus que "voler" une adresse IP c'est toujours plus ou moins faisable...
Un filtrage par adresse IP c'est une limitation des problèmes mais ce n'est pas une vraie sécurité...

si tu sais faire aide-moi, sinon ça ne répond pas à ma question initiale

Sous-entendu « arrête de me répondre, tu me sers à rien » ?
Si tu veux pas de mes conseils je peux te laisser tranquille hein, je peux bosser pour un client au lieu de t'offrir de mon temps...

Hors ligne

#10 Le 17/01/2014, à 15:31

DJiK

Re : N'autoriser que quelques IP avec PureFTP

Je ne saurais pas configurer ufw pour faire ça.

Hors ligne

#11 Le 17/01/2014, à 15:41

tiramiseb

Re : N'autoriser que quelques IP avec PureFTP

Eh bien il suffit d'apprendre...

D'abord activer ufw :

sudo ufw enable

Ensuite, par exemple, bloquer toutes les requêtes sur le port 21, sauf celles provenant de 1.2.3.4, 4.5.6.7 ou 7.8.9.0 :

sudo ufw deny 21
sudo ufw insert 1 allow from 1.2.3.4 to any port 21
sudo ufw insert 1 allow from 4.5.6.7 to any port 21
sudo ufw insert 1 allow from 7.8.9.0 to any port 21

Hors ligne

#12 Le 17/01/2014, à 15:42

tiramiseb

Re : N'autoriser que quelques IP avec PureFTP

Je suis sûr que si avais lu un peu de doc sur ufw tu aurais déjà trouvé ça tout seul... tu n'es probablement pas plus bête qu'un autre...

Hors ligne

#13 Le 17/01/2014, à 18:27

DJiK

Re : N'autoriser que quelques IP avec PureFTP

J'ai toujours peur de ce que je ne connais pas, surtout sur un serveur distant. Là j'ai bien lu qu'il fallait autoriser SSH avant de l'activer, je l'ai fait, mais j'ai pas osé répondre Y lors de l'avertissement. J'ai préféré rechercher pour iptables que je sais réversible en rebootant au cas où je me bloque! smile

Ceci a l'air de marcher:

iptables -A INPUT -p tcp --dport 21 -j DROP (-A ou -I je ne sais pas lequel est le mieux)
iptables -I INPUT -p tcp --dport 21 -s X.X.X.X -j ACCEPT
iptables -I INPUT -p tcp --dport 21 -s Y.Y.Y.Y -j ACCEPT

Merci pour ton aide, mais effectivement tu m'emmenais loin de ma question initiale, et je préfère être très prudent plutôt que de faire des bêtises avec des sites web qui ne sont pas tous à moi! wink

Hors ligne