This page has been robot translated, sorry for typos if any. Original content here.

Installer également configurer le serveur FTP. Partie 2

Ainsi, après une petite connaissance du protocole FTP dans les premiers éléments de notre matériel, nous procédons immédiatement à l'installation de la configuration de notre propre serveur FTP. Notez simplement que sous Windows 2000 / XP il y a un serveur FTP intégré (Panneau de configuration -> Installation et désinstallation des programmes -> Installation des composants Windows -> Internet Information Services -> Service FTP). Cependant, c'est très primitif, peu commode, et aussi dangereux - c'est pourquoi nous ne le mettrons en aucune façon.
Et nous installerons le serveur FTP Serv-U le plus puissant et multifonctionnel - la plupart des sites FTP des entreprises les plus célèbres y travaillent. Essayez de ne pas utiliser les anciennes versions, car il y a des vulnérabilités.

Serv-U se compose d'une paire d'éléments - Serv-U Administrator pour configurer également la gestion du serveur FTP, également le serveur FTP réel. Serv-U Administrator peut également être installé sur l'ordinateur d'un ami, ce qui lui permet de gérer à distance le serveur FTP Serv-U. Pour gérer le service du serveur FTP utilise le port TCP 43958. Par conséquent, afin d'éviter le piratage, définissez le mot de passe à la gestion (dans le menu "Définir / Changer mot de passe"), de préférence long. L'option "Démarrer automatiquement (service du système)" vous permet de démarrer automatiquement le serveur FTP, et cela fonctionnera indépendamment de qui est connecté à l'ordinateur. Sinon, le serveur FTP démarrera uniquement lorsque vous démarrez Serv-U Administrator.
Maintenant, configurez le pare-feu. Nous devons également autoriser les connexions TCP entrantes sortantes pour les processus Servuadmin.exe ainsi que Servudaemon.exe.
Nous allons plus loin dans le journal des paramètres de Serv-U Administrator, dans "Paramètres -> Général". Ici, il vaut la peine d'inclure au moins trois options importantes. "Block FTP_bounce attaques et FXP" est la protection contre le transfert de trafic entre deux serveurs FTP (le client d'un attaquant peut établir une session pour le compte d'un autre serveur, mais vous perdrez la limite de trafic achetée). "Bloquer les utilisateurs qui se connectent plus de ..." - Protection contre les tentatives de sélection du mot de passe d'un compte FTP. "Block anti time-out schemes" - protection contre les tentatives de contourner les limites des pores de la session, donné à l'un ou l'autre compte. Semblable ici, il est permis de limiter la vitesse globale de téléchargement (téléchargement), télécharger (également) le nombre d'utilisateurs immédiatement servis (c'est un paramètre global, alors nous pouvons créer de telles limites séparément pour différents comptes).

Maintenant, créez le serveur. Pour ce faire, nous passons à travers le journal des paramètres à "Domaines", appuyez sur le bouton droit de la souris et sélectionnez "Nouveau domaine" dans le pop-up. Dans la fenêtre des paramètres, le champ "Domain IP Address" est vide, "Domain name" - spécifiez un nom, par exemple "FtpName" (c'est seulement nécessaire pour nous), "Domain port number" est le port sur lequel FTP- serveur, pour l'instant nous allons spécifier une valeur standard de 21. "Type de domaine" indique où les paramètres du serveur seront stockés, il est préférable de les stocker dans des fichiers INI.
Maintenant, le serveur est créé (en anglais - "Domain"). Il est possible d'organiser plusieurs serveurs (dans cette branche du journal de configuration), sur différents ports, seul le sens pour les utilisateurs ordinaires n'est pas là.

Dans le journal des paramètres de la section "Domaines -> FtpName", nous activons le support de chiffrement pour "Sécurité -> Autoriser SSL / TLS et les sessions régulières". Maintenant, un peu distrait du serveur lui-même traitera également les ports IP également.
Premièrement, le serveur doit connaître son adresse IP externe (Internet). Si l'adresse est statique, tout est simple - nous l'introduisons dans l'adresse IP du domaine. Mais si l'adresse IP est dynamique (comme, par exemple, dans Stream), vous devrez alors utiliser les services DynamicDNS, où vous recevrez un nom de domaine qui pointera sur votre adresse IP, ainsi que surveiller ses mises à jour en continu.

En particulier, une telle faveur de manger sur No-IP.com , où vous pouvez créer votre ordinateur de domaine de troisième niveau sur Internet, par exemple, mycomputer.no-ip.com. Il blah blah est autorisé à télécharger le client de mise à jour dynamique No-IP du client, qui contactera en permanence No-IP.com pour vérifier / mettre à jour votre adresse IP. Je ne vais pas vous parler des paramètres de ce client, mais je peux conseiller de ne pas modifier ses paramètres, en plus du paramètre "Lors de la mise à jour via NAT / Router / Adresse proxy UNIQUEMENT", il est préférable de régler "toutes les 5 minutes". Ainsi, après avoir placé le client en s'enregistrant également sur No-IP.com, nous mettons une case à cocher dans les paramètres de notre FTP sur "Activer le DNS dynamique" et allons dans l'onglet "DNS Dynamique" apparu. Nous prescrisons l'adresse enregistrée sur No-IP.com.
Deuxièmement, il est temps de faire face aux ports. De nombreux FAI bloquent les connexions entrantes sur le 21ème port. Pour contourner ce problème, vous devez choisir n'importe quel autre port inutilisé, par exemple 32768, également l'entrer dans l'onglet "Domaine dans le numéro de port FTP". Mais rappelez-vous que si le port est différent de 21, alors vous devriez aliéner le lien en aucun cas à ftp://mycomputer.no-ip.com, seulement ftp://mycomputer.no-ip.com:32768. Probablement votre serveur FTP est derrière NAT. Dans ce cas sur NAT, il est nécessaire de configurer la fonction "Port Forwarding". D'abord, pour le port sur lequel il donne la réponse. Deuxièmement, comme nous l'avons déjà expliqué plus haut, pour les clients travaillant en mode "PASV", d'autres ports sont nécessaires, auxquels ils se connecteront. Dans ce but, dans Serv-U, mangez le paramètre approprié "Serveur local -> Paramètres -> Avancé -> Plage de ports PASV", dans lequel nous spécifions une plage d'inactivité, par exemple 32769-32784 également le transférer vers NAT.
Nous nous ajustons davantage. Dans le menu "Domaines -> FtpName (notre serveur) -> Paramètres" de l'onglet "Journalisation" nous activons le mode de journalisation des messages système, messages de sécurité, téléchargements de fichiers, téléchargements de fichiers, noms IP, commandes FTP, réponses FTP. De toute façon, cela n'augmentera pas le log, mais cela aidera à localiser les problèmes. Indiquez le nom du fichier journal, y compris la case à cocher "Activer la consignation dans le fichier". Sur les autres onglets, rien à configurer n'a besoin - par défaut, tout est adapté à la plupart des utilisateurs.

Maintenant, nous allons créer l'utilisateur. Pour la source - l'invité. Vous devez d'abord créer un dossier sur le disque, qui deviendra le répertoire racine de notre FTP. Par exemple, créez C: \ FTP_Root. Ensuite, vous devez créer un dossier dans lequel tout le monde peut télécharger des fichiers (nous ne leur donnerons pas [invités] à partir de là), par exemple, nous ferons C: \ FTP_Root \ Incoming.

Dans Serv-U, mangez le système de gabarits (Groupes). Là, il est permis d'indiquer les privilèges d'accès pour les répertoires créés. Il est plus simple de créer un groupe avec le privilège de lire le dossier racine, ainsi que d'écrire. \ Incoming, alors seulement ne prescrivez pas à tous les utilisateurs de tels droits blah blah, il suffit de les ajouter à ce modèle. Ainsi, nous parcourons le journal des paramètres dans "Domains -> FtpName -> Groups" et créons un nouveau groupe (New Group), appelons-le, par exemple, guest. Nous allons dans l'onglet "Dir Access", nous y ajoutons aussi quelques uns de nos répertoires - C: \ FTP_Root aussi C: \ FTP_Root \ Incoming.

Nous leur donnons des privilèges d'accès. Pour FTP_Root - seulement Read List List, pour Incoming - uniquement Write-Create-Inherit. Ces avantages sont: Lire - lire des fichiers, Ecrire - écrire des fichiers, Ajouter - ajouter des fichiers, Supprimer - supprimer des fichiers, Exécuter - exécuter des fichiers exécutables sur le serveur (privilège très dangereux, ne le donne à personne), Liste - afficher une liste de sous-répertoires, Créer - créer un sous-répertoire, Supprimer - supprimer un sous-répertoire, Hériter - tous les sous-répertoires possèdent des privilèges similaires (sinon, ils n'y auront pas non plus d'accès, sauf s'ils sont enregistrés par eux-mêmes). Les points d'annuaire sont autorisés à monter et descendre. Lors de l'utilisation de l'héritage (Hériter), ceci est réel - la ligne supérieure a la plus haute priorité de l'autorisation.
Donc, maintenant nous créons un utilisateur invité. Allez dans "Domaines -> FtpName -> Users" créer aussi l'utilisateur "Anonymous" (c'est le nom d'invité standard, sinon ce ne sera pas un invité). En tant que répertoire initial (répertoire de base), spécifiez C: \ FTP_Root. Sur la tâche "Verrouiller l'utilisateur dans le répertoire de base?" donnez la réponse "Oui" - cela simplifiera le travail de l'utilisateur.
Maintenant - un point important - dans les paramètres de cet utilisateur (anonyme) nous nous dirigeons vers l'onglet «Dir Access» et y supprimons également la ligne créée automatiquement dans FTP_Root (notez qu'elle hérite des privilèges de lecture dans Incoming). Maintenant, sur l'onglet "Compte", ajoutez l'invité du groupe au groupe (s), cliquez sur "Appliquer". Nous revenons à "Dir Access" également regarder. FTP_Root est également apparu Entrant, et ils ne peuvent pas être édités - l'utilisateur a reçu les mêmes privilèges pour les invités du modèle "invité".

Donc, nous avons créé un visiteur. Il peut télécharger tous les fichiers du répertoire C: \ FTP_Root (à l'exclusion des sous-répertoires) et télécharger un fichier vers C: \ FTP_Root \ Incoming, mais il ne peut pas le télécharger à partir de là (votre serveur ne peut pas être utilisé pour un transit non autorisé) fichiers).
Maintenant, créez un utilisateur plus autoritaire. Pour enregistrer les pores, copiez "Anonymous" également renommer. Nous remontons le journal des paramètres dans les "Utilisateurs", sélectionnez (ne pas ouvrir) "Anonyme" faire également le menu contextuel "Copier l'utilisateur".

Renommez-le (par exemple, dans Ivanov) également définir le mot de passe. Faites attention, vous-même ne pouvez pas voir ce que son mot de passe est, alors souvenez-vous-en ou dites immédiatement le mot de passe à cet utilisateur.
Maintenant, passez à l'onglet "Dir Access". Faites attention que depuis qu'il entre dans le groupe "invité", le répertoire racine est également entrant, il est déjà enregistré. Laissez cet utilisateur être capable de télécharger, sur l'échantillon, notre musique. Pour cela, nous ajoutons une route vers les fichiers musicaux et donnons également des avantages Read-List-Hériter (l'utilisateur pourra télécharger tous les fichiers et sous-répertoires).
Toutefois, si l'utilisateur se connecte maintenant, il ne voit aucun répertoire avec de la musique, ne voit que FTP_Root. Par conséquent, vous devez faire un lien à partir de FTP_Root, et non pas à l'aide de Windows, uniquement au moyen de Serv-U lui-même. Accédez au journal des paramètres dans l'onglet "Domaines -> Nom Ftp -> Paramètres" de l'onglet "Général, Mappage de chemin virtuel".

Il est nécessaire de faire en sorte que la musique de dossier (par exemple, c: \ Doc \ Music) soit affichée dans c: \ FTP_Root en tant que sous-répertoire FTP_Root. Cliquez sur "Ajouter" et remplissez: "Chemin physique" - le répertoire auquel vous voulez lier, c: \ Doc \ Music, "Mappé à" - le répertoire dans lequel ce lien doit être placé - nous aurons toujours ce C: \ FTP_Root, "Vitual name" est le nom de ce sous-répertoire virtuel dans FTP_Root, par exemple, Music. Fait.
Dans "Virtual path mapping", vous pouvez placer des liens, mais seuls ceux qui le voient dans "Dir Access" possèdent les droits correspondants. Par exemple, dans notre cas, le visiteur ne voit pas le répertoire Musique.
Pour Ivanov lors du téléchargement de musique ne prend pas particulièrement grand notre canal de réseau, nous passons à l'onglet "Général" de son compte également spécifier "Vitesse de téléchargement Max".
En passant, je vais vous dire plus comment notre utilisateur Ivanov rejoint FTP. Tout simplement en tapant ftp://mycomputer.no-ip.com, il entrera en tant qu'invité, mais pas comme Ivanov. Connectez-vous également le mot de passe est autorisé à insérer directement dans l'adresse ftp: // Ivanov: password@mycomputer.no-ip.com - le navigateur (client FTP) va comprendre cela utilise également. Ou, vous devez étudier les paramètres du client FTP pour trouver où il se connecte lorsque le nom est également un mot de passe pour aucune connexion d'invité.
Maintenant, nous allons créer un autre utilisateur, qui aura accès à tous les documents secrets, et il est donc impossible d'autoriser le piratage de son compte. Nous le copions d'Anonymous, appelé aussi, par exemple, Petrov. Allez dans l'onglet "Général" de son compte. Ici vous pouvez manger quelques points intéressants du point de vue de la sécurité.

D'abord, le type de mot de passe. Si vous spécifiez "OTP S / KEY MD5", les attaquants n'intercepteront pas le mot de passe de quelque façon que ce soit. Si vous spécifiez "Mot de passe normal", cela deviendra la procédure standard pour l'échange de mots de passe, et il peut également être intercepté. L'utilisateur ne peut pas choisir le mode mot de passe, cela doit être fait sur le serveur.
Deuxièmement, exiger une connexion sécurisée. Le type de mot de passe fournit uniquement la protection par mot de passe, mais pas le transfert de données. L'installation d'une connexion cryptée assure également la protection des données, ainsi que la protection par mot de passe. De plus, si vous ne cochez pas «Exiger une connexion sécurisée», l'utilisateur ne peut sélectionner lui-même l'association cryptée que si le chiot coûte, l'utilisateur devra utiliser la connexion cryptée, sinon il ne sera pas autorisé autrement. En passant, la plupart des clients ne supportent pas les mots de passe OTP lors du cryptage - car cela est redondant, car le type de mot de passe fait "Mot de passe régulier" si des connexions de cryptage existent pour ce compte.
Je vous rappelle que les clients FTP Windows standard ne prennent en charge aucun mot de passe ou cryptage OTP - les utilisateurs doivent utiliser CuteFTP pour appliquer ces mesures de sécurité.
Quand tout est mis en place, évidemment, vous voudrez voir par vous-même comment tout cela fonctionne. C'est possible, il n'est également pas nécessaire de passer à un autre ordinateur (sauf, en fait, vérifiez les paramètres du pare-feu ou NAT). En utilisant l'adresse locale (127.0.0.1) à cet effet, nous tapons dans le navigateur ou le client FTP l'adresse ftp://127.0.0.1 (si le port est par défaut 21), ou ftp://127.0.0.1:32768 (si le port n'est pas standard, par exemple 32768). Fait. Vous pouvez entièrement tester de cette manière toutes les fonctionnalités de votre serveur. Mais gardez à l'esprit qu'en mode passif (PASV), si votre serveur FTP est derrière NAT, alors pour l'échange de données, le serveur indiquera au client l'adresse IP externe, et l'association deviendra impossible. Par conséquent, pour tester, utilisez le mode PORT habituel dans les clients FTP.
PS Par ailleurs, si cela n'est pas clair, Serv-U dispose d'un excellent système d'aide contextuelle, appelé en appuyant sur la touche "F1".