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

Installer configure également 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 que dans Windows 2000 / XP, il existe un serveur FTP intégré (Panneau de configuration -> Installation et désinstallation des programmes -> Installation des composants Windows -> Internet Information Services -> Service FTP). Cependant, il est très primitif, incommode, et aussi dangereux - c'est pourquoi nous ne le dirons pas.
Et nous allons installer le serveur FTP le plus puissant et le plus multifonctionnel Serv-U - la plupart des sites FTP des sociétés les plus célèbres y travaillent. Essayez de ne pas utiliser les anciennes versions, car elles comportent des vulnérabilités.

Serv-U se compose d'une paire d'éléments - Administrateur Serv-U pour configurer également la gestion du serveur FTP, ainsi que le serveur FTP réel. Serv-U Administrator peut également être installé sur l'ordinateur d'un ami, grâce auquel il est possible de gérer à distance le serveur FTP Serv-U. Pour gérer le service de serveur FTP, utilisez le port TCP 43958. Par conséquent, pour éviter le piratage, définissez le mot de passe sur la gestion (dans le menu "Définir / Modifier le mot de passe"), de préférence long. L'option "Démarrer automatiquement (service système)" vous permet de démarrer automatiquement le serveur FTP, et celui-ci fonctionnera, peu importe qui est connecté à l'ordinateur. Sinon, le serveur FTP ne démarrera que lorsque vous lancerez Administrateur Serv-U.
Configurez maintenant le pare-feu. Nous devons également autoriser les connexions TCP sortantes entrantes pour les processus Servuadmin.exe ainsi que Servudaemon.exe.
Nous allons plus loin dans le journal des paramètres de l'administrateur Serv-U, dans "Paramètres -> Général". Cela vaut la peine d'inclure au moins trois options importantes. "Bloquer les attaques FTP_bounce 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, exécuter pompage aussi, seul le lecteur perd la limite du trafic acheté). "Bloquer les utilisateurs qui se connectent plus que ..." - protection contre les tentatives de sélection du mot de passe d'un compte FTP. "Bloquer les schémas de temporisation" - protection contre les tentatives de contourner les limites des pores de la session, attribuées à l'un ou l'autre compte. Similaire ici, il est permis de limiter la vitesse globale de téléchargement (téléchargement), de télécharger (également) le nombre d'utilisateurs immédiatement servis (il s'agit d'un paramètre global, nous pouvons alors créer ces limites séparément pour différents comptes).

Maintenant, créez le serveur. Pour ce faire, nous faisons notre chemin dans le journal des paramètres à "Domaines", appuyez sur le bouton droit de la souris et sélectionnez "Nouveau domaine" dans la fenêtre contextuelle. Dans la fenêtre des paramètres, le champ "Domain IP Address" est laissé vide, "Domain name" - spécifiez un nom, par exemple "FtpName" (il est seulement nécessaire pour nous), "Domain port number" est le port sur lequel FTP- serveur, pour le moment 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 les 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 -> NomFtp", nous activons le support du chiffrement pour "Sécurité -> Autoriser SSL / TLS et les sessions régulières". Maintenant, un peu distrait du serveur lui-même portera également sur les ports aussi IP.
Tout d'abord, le serveur doit connaître son adresse IP externe (Internet). Si l'adresse est statique, alors tout est simple - nous le saisissons dans "l'adresse IP du domaine". Mais si l'adresse IP est dynamique (comme, par exemple, dans Stream), vous devrez utiliser les services DynamicDNS, où vous recevrez un nom de domaine qui pointera vers votre IP, surveillera également ses mises à jour en permanence.

En particulier, un service gratuit sur No-IP.com , où vous pouvez créer un domaine de troisième niveau sur Internet, par exemple, mycomputer.no-ip.com. Il blah blah est autorisé à télécharger le client client de mise à jour dynamique No-IP, qui contactera continuellement No-IP.com pour vérifier / mettre à jour votre adresse IP. Je ne vous parlerai pas des paramètres de ce client, mais je peux vous conseiller de ne pas modifier ses paramètres, en plus du paramètre "Lors de la mise à jour via l'adresse NAT / Routeur / Proxy UNIQUEMENT". Ainsi, après avoir placé le client également inscrit sur No-IP.com, nous avons coché la case "Activer le DNS dynamique" dans les paramètres de notre FTP et nous sommes passés à l'onglet "DNS dynamique". Nous vous prescrivons l'adresse enregistrée dans No-IP.com.
Deuxièmement, il est temps de traiter avec les ports. De nombreux FAI bloquent les connexions entrantes sur le 21ème port. Pour contourner ce problème, vous devez choisir tout autre port inutilisé, par exemple 32768, entrez-le également 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 ne devez en aucun cas aliéner le lien à ftp://mycomputer.no-ip.com, seulement à ftp://mycomputer.no-ip.com:32768. Votre serveur FTP est probablement 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à décrit plus haut, pour les clients travaillant en mode "PASV", d'autres ports sont nécessaires, auxquels ils se connecteront. Pour cela, dans Serv-U, utilisez 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 le transfère également vers NAT.
Nous nous ajustons davantage. Dans le menu "Domaines -> NomFtp (notre serveur) -> Paramètres" sur l'onglet "Journalisation", nous activons le mode de journalisation pour les messages système, les messages de sécurité, les téléchargements de fichiers, les fichiers IP, les commandes FTP et les réponses FTP. De toute façon, cela n'augmentera pas un journal, mais cela aidera à localiser les problèmes. Indiquez le nom du fichier journal, puis cochez la case "Activer la journalisation dans un 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 modèles (Groupes). 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 dans. \ Incoming, seulement alors ne prescrivez pas à tous les utilisateurs de tels droits blah blah, ajoutez-leur simplement ce modèle. Ainsi, nous progressons dans le journal des paramètres dans "Domaines -> NomFtp -> Groupes" et créons un nouveau groupe (Nouveau groupe), appelez-le, par exemple, invité. Nous allons dans l'onglet "Dir Access", nous y ajoutons également quelques répertoires - C: \ FTP_Root aussi C: \ FTP_Root \ Incoming.

Nous leur donnons des privilèges d'accès. Pour FTP_Root - only Lisez également List, pour Incoming - only Write-Create-Inherit. Ces avantages sont les suivants: lecture - lecture de fichiers, écriture de fichiers, ajout - ajout de fichiers, suppression - suppression de fichiers, exécution - exécution de fichiers exécutables sur le serveur (privilège très dangereux, ne le donne à personne), liste - liste de sous-répertoires, Create - créer un sous-répertoire, Remove - supprimer un sous-répertoire, Inherit - tous les sous-répertoires posséderont des privilèges similaires (sinon, ils n'y auront pas accès, sauf s'ils sont enregistrés par eux-mêmes). Les points de répertoire sont autorisés à monter et à descendre. Lorsque vous utilisez l'héritage (Inherit), ceci est réel - la ligne supérieure a la priorité la plus élevée de l'autorisation.
Donc, maintenant, nous créons un utilisateur invité. Allez dans "Domaines -> NomFtp -> Utilisateurs" créent également l'utilisateur "Anonyme" (il s'agit du 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?" donner la réponse "Oui" - cela simplifiera le travail de l'utilisateur.
Maintenant - un point significatif - dans les paramètres de cet utilisateur (Anonymous), nous nous dirigeons vers l'onglet "Dir Access" et supprimons également la ligne créée automatiquement dans FTP_Root (notez qu'elle hérite des privilèges de lecture dans Incoming). Maintenant, sous l'onglet "Compte", ajoutez l'invité du groupe au (x) groupe (s), cliquez sur "Appliquer". Nous revenons à "Dir Access" regardez aussi. Il est apparu FTP_Root également entrant, et ils ne peuvent pas être modifiés - l'utilisateur a reçu les mêmes privilèges pour les invités du modèle "invité".

Nous avons donc 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 dans C: \ FTP_Root \ Incoming, mais il ne peut pas le télécharger à partir de là (votre serveur ne peut donc pas être utilisé pour le transit non autorisé). fichiers).
Créez maintenant un utilisateur plus fiable. Pour enregistrer les pores, copiez "Anonymous" également renommer. Nous remontons le journal des paramètres dans les "Utilisateurs", sélectionnez (ne pas ouvrir) "Anonyme" également faire le menu contextuel "Copier l'utilisateur".

Renommez-le (par exemple, dans Ivanov) également définir le mot de passe. Faites attention, vous ne pouvez pas voir vous-même quel est son mot de passe, alors rappelez-le ou dites-le immédiatement à cet utilisateur.
Passez maintenant à l'onglet "Accès direct". Attention, comme 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 un itinéraire vers les fichiers musicaux et fournissons également des avantages en lecture-liste-héritage (l'utilisateur pourra télécharger tous les fichiers également des sous-répertoires).
Cependant, si l'utilisateur se connecte maintenant, il ne voit aucun répertoire contenant de la musique, il ne voit que FTP_Root. Par conséquent, vous devez créer un lien depuis FTP_Root, et non pas via Windows, uniquement avec Serv-U lui-même. Accédez au journal des paramètres dans l'onglet "Domaines -> NomFtp -> Paramètres" de l'onglet "Général, Mappage de chemin virtuel".

Il est nécessaire de faire en sorte que la musique du dossier (par exemple, c: \ Doc \ Music) apparaisse dans c: \ FTP_Root comme sous-répertoire FTP_Root. Cliquez sur "Ajouter" et remplissez: "Chemin physique" - le répertoire vers lequel vous souhaitez créer un lien, c: \ Doc \ Music, "Mappé vers" - le répertoire dans lequel ce lien doit être placé - nous aurons toujours ce C: \ FTP_Root, "Nom Vitual" est le nom de ce sous-répertoire virtuel dans FTP_Root, par exemple, Musique. Fait.
Dans "Mappage de chemin virtuel", 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, lorsque le téléchargement de musique ne prend pas particulièrement bien notre canal réseau, nous passons à l'onglet "Général" de son compte et spécifions également "Vitesse maximale de téléchargement".
Au fait, je vous raconterai comment notre utilisateur Ivanov rejoint FTP. Simplement en tapant ftp://mycomputer.no-ip.com, il entrera en tant qu'invité, mais pas comme Ivanov. Login également le mot de passe est autorisé à insérer directement dans l'adresse ftp: // Ivanov: password@mycomputer.no-ip.com - le navigateur (client FTP) comprendra cela aussi utilise. Ou, vous devez étudier les paramètres du client FTP pour trouver où il se trouve lorsque la connexion du nom est également un mot de passe pour aucune connexion 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 depuis Anonymous, également appelé, 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é.

Tout d'abord, le type de mot de passe. Si vous spécifiez "OTP S / KEY MD5", les attaquants n'intercepteront en aucun cas le mot de passe. Si vous spécifiez "Mot de passe normal", cela deviendra la procédure standard pour l'échange de mots de passe et pourra également être interceptée. L'utilisateur ne peut pas choisir le mode de mot de passe, cela devrait être fait sur le serveur.
Deuxièmement, nécessite une connexion sécurisée. Le type de mot de passe fournit uniquement une protection par mot de passe, mais pas le transfert de données. L'installation d'une connexion cryptée fournit également une protection des données, ainsi qu'une protection par mot de passe. De plus, si vous ne cochez pas "Requérir une connexion sécurisée" de quelque manière que ce soit, l'utilisateur peut sélectionner l'association chiffrée uniquement si les coûts sont élevés, l'utilisateur sera alors obligé d'utiliser la connexion chiffrée. En passant, la plupart des clients ne prennent pas en charge les mots de passe OTP lors du cryptage, car ils sont redondants, car le type de mot de passe crée un mot de passe standard si des connexions de cryptage existent pour ce compte.
Je vous rappellerai que les clients FTP Windows classiques ne prennent en charge aucun mot de passe ou cryptage OTP - les utilisateurs doivent utiliser CuteFTP pour appliquer ces mesures de sécurité.
Lorsque 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 vraiment les paramètres du pare-feu ou NAT). En utilisant l'adresse locale (127.0.0.1) à cet effet, nous saisissons 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 est non standard, par exemple , 32768). Fait. Vous pouvez ainsi tester complètement 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 également impossible. Par conséquent, pour tester, utilisez le mode PORT habituel dans les clients FTP.
PS Soit dit en passant, si cela n'est pas clair, Serv-U dispose d'un excellent système d'aide contextuel, appelé en appuyant sur la touche "F1".