FTP est une figure historique des applications Internet, qui facilite le partage de fichiers par les utilisateurs de l'entreprise. Cependant, les problèmes de sécurité ont toujours été liés au FTP. Comment empêcher les attaquants de voler des informations importantes sur les serveurs FTP par des moyens illégaux ; comment empêcher les attaquants d'utiliser les serveurs FTP pour propager des chevaux de Troie et des virus, etc. Ce sont des problèmes auxquels les administrateurs système doivent prêter attention. Cette fois, je prendrai comme exemple VSFTP, qui est le plus largement utilisé sur la plate-forme du système d'exploitation Linux, pour expliquer comment améliorer la sécurité du serveur FTP.
1. Interdisez aux utilisateurs au niveau du système de se connecter au serveur FTP.
Afin d'améliorer la sécurité du serveur FTP, il est préférable que les administrateurs système créent des comptes FTP distincts pour les employés au lieu de confier les utilisateurs au niveau du système aux utilisateurs ordinaires, ce qui entraînerait de grands risques de sécurité. Sur le serveur VSFTP, les comptes de connexion peuvent être gérés via le fichier de configuration vsftpd.ftpusers. Cependant, ce compte est sur une liste noire et les personnes incluses dans ce compte ne pourront pas utiliser leur compte pour se connecter au serveur FTP. Après avoir déployé le serveur VSFTP, nous pouvons utiliser la commande vi pour afficher le fichier de configuration et constater qu'il possède déjà de nombreux comptes par défaut. Parmi eux, le superutilisateur root du système en fait également partie. On constate que pour des raisons de sécurité, le serveur VSFTP interdit par défaut au compte root de se connecter au serveur FTP. Si l'administrateur système souhaite autoriser les comptes système tels que root à se connecter au serveur FTP, il doit supprimer root et les autres noms d'utilisateur associés dans ce fichier de configuration. Cependant, autoriser le compte système à se connecter au serveur FTP aura un impact négatif sur sa sécurité. Pour cette raison, je ne recommande pas aux administrateurs système de le faire. Il est préférable que les administrateurs ne modifient aucun des comptes système associés dans ce fichier et conservent les paramètres de ces comptes.
Si, pour d'autres raisons, vous devez désactiver d'autres comptes, vous pouvez ajouter les noms de compte à ce fichier. Par exemple, un serveur FTP et un serveur de base de données peuvent être déployés simultanément sur le serveur. Pour des raisons de sécurité, il est judicieux d'ajouter le compte de l'administrateur de la base de données à cette liste noire.
2. Renforcez le contrôle sur les utilisateurs anonymes.
Les utilisateurs anonymes font référence aux comptes qui n'ont pas été définis sur le serveur FTP, et l'administrateur du système FTP en a toujours besoin pour se connecter pour faciliter la gestion. Mais après tout, ils n'ont pas obtenu l'autorisation du serveur. Afin d'améliorer la sécurité du serveur, leurs autorisations doivent être restreintes. Il existe également de nombreux paramètres sur le serveur VSFTP qui peuvent être utilisés pour contrôler les autorisations des utilisateurs anonymes. Les administrateurs système doivent effectuer un travail de configuration pertinent en fonction du niveau de sécurité du serveur FTP. Il convient de noter que plus le contrôle des autorisations des utilisateurs anonymes est strict, plus la sécurité du serveur FTP est élevée, mais en même temps, la commodité d'accès des utilisateurs sera également réduite. Par conséquent, en fin de compte, les administrateurs système doivent toujours trouver un équilibre entre sécurité et commodité du serveur.
Vous trouverez ci-dessous plusieurs configurations que je recommande aux utilisateurs anonymes. Si vous ne savez pas comment les configurer, vous pouvez vous référer à ces configurations. Ces configurations prennent en compte la sécurité du serveur et le confort de l'utilisateur.
L'un est le paramètre anon_world_readable_only. Ce paramètre est principalement utilisé pour contrôler si les utilisateurs anonymes peuvent télécharger des fichiers lisibles depuis le serveur FTP. Si le serveur FTP est déployé au sein de l'entreprise et est principalement utilisé par les collaborateurs internes, il est préférable de définir ce paramètre sur OUI. Ensuite, placez-y des formulaires d'entreprise courants et d'autres documents accessibles au public, afin que les employés puissent télécharger ces documents de manière anonyme. Cela n'affectera pas la sécurité du serveur FTP, mais facilitera également le travail des autres employés.
Le second est le paramètre anon_upload_enable. Ce paramètre indique si les utilisateurs anonymes peuvent télécharger des fichiers sur le serveur FTP sous accès anonyme. Normalement, ce paramètre doit être réglé sur Non. Autrement dit, les utilisateurs ne sont pas autorisés à télécharger des fichiers lors d'un accès anonyme. Sinon, si quelqu’un peut télécharger un fichier, alors si l’autre partie télécharge un fichier de virus, l’entreprise en souffrira. Par conséquent, il devrait être interdit aux utilisateurs anonymes de télécharger des fichiers. Mais il existe des exceptions à cela. Par exemple, certaines entreprises utilisent le protocole FTP pour sauvegarder des fichiers. A ce stade, si la sécurité du réseau d'entreprise est garantie, vous pouvez définir ce paramètre sur OUI, ce qui permet au système d'exploitation d'appeler la commande FTP pour sauvegarder les fichiers sur le serveur FTP. Dans ce cas, afin de simplifier le déploiement des procédures de sauvegarde, l'accès anonyme est souvent utilisé. Par conséquent, les utilisateurs anonymes doivent être autorisés à télécharger des fichiers sur le serveur FTP.
Le troisième est le paramètre anon_other_write_enable et le paramètre anon_mkdir_write_enable. Ces deux paramètres impliquent principalement certaines autorisations relativement avancées des utilisateurs anonymes. Par exemple, le premier paramètre indique que l'utilisateur anonyme dispose d'autorisations autres que le téléchargement et la création de sous-répertoires, comme changer le nom des fichiers sur le serveur FTP, etc. Le deuxième paramètre indique que les utilisateurs anonymes peuvent créer des sous-répertoires dans des circonstances spécifiques. Ces fonctions affecteront la sécurité du serveur FTP et la sécurité des fichiers. Pour cette raison, sauf raison particulière, ces autorisations doivent être désactivées. Autrement dit, définissez les valeurs de ces paramètres sur NON. Je pense qu'à moins que le serveur FTP ne soit utilisé par l'administrateur système pour le plaisir, ces paramètres peuvent être activés. Dans le cas contraire, il est préférable de définir ces paramètres sur NON pour améliorer la sécurité du serveur FTP.
En général, le contrôle des utilisateurs anonymes doit suivre le principe du moindre privilège. Étant donné que les utilisateurs anonymes sont des utilisateurs qui ne sont pas autorisés par le serveur FTP, un contrôle d'accès approfondi aux autorisations ne peut pas être effectué. Pour cette raison, il ne peut être contrôlé qu’à travers ces paramètres de base.
3. Contrôlez bien le répertoire.
En règle générale, les administrateurs système doivent configurer différents répertoires racine pour chaque utilisateur différent. Pour des raisons de sécurité et pour éviter que différents utilisateurs n'interfèrent les uns avec les autres, l'administrateur système doit le configurer de manière à ce que les utilisateurs ne puissent pas accéder aux répertoires racine des autres utilisateurs. Par exemple, certaines entreprises mettent en place un compte FTP pour chaque service afin de faciliter leurs échanges de fichiers. Ensuite, le service commercial Sales a un répertoire racine sales ; le service entrepôt a un répertoire racine Ware. En tant qu'employés commerciaux, ils peuvent accéder à n'importe quel sous-répertoire de leur propre répertoire racine, mais ils ne peuvent pas accéder au répertoire racine Ware de l'utilisateur de l'entrepôt. Dans ce cas, les employés du service commercial ne pourront pas accéder aux fichiers des utilisateurs de l'entrepôt. On peut voir qu'en interdisant aux utilisateurs d'accéder à des répertoires autres que le répertoire racine, il est possible d'empêcher différents utilisateurs d'interférer les uns avec les autres et d'améliorer la sécurité des fichiers sur le serveur FTP. Pour atteindre cet objectif, le paramètre chroot_local_user peut être défini sur NO. Après ce paramètre, tous les utilisateurs connectés localement ne peuvent pas accéder à d'autres répertoires que le répertoire racine. Cependant, lors de l'exécution de ce contrôle, il est préférable de configurer un répertoire auquel tout le monde peut accéder pour stocker certains fichiers publics. Nous devons assurer la sécurité du serveur sans affecter le partage et la communication normaux des fichiers.
4. Limitez le taux de transmission.
Parfois, afin d'assurer le fonctionnement stable du serveur FTP, il est nécessaire de limiter le taux de téléchargement et de téléchargement des fichiers. Par exemple, sur un même serveur, le serveur FTP, le serveur de messagerie, etc. sont déployés séparément. Pour que ces services applicatifs cohabitent paisiblement, leur débit de transmission maximum doit être contrôlé. Parce que la bande passante d'un même serveur a une limite maximale. Si un service d'application occupe une bande passante relativement importante, cela aura un impact négatif sur les autres services d'application, et empêchera même d'autres services d'application de répondre normalement aux besoins des utilisateurs. Un autre exemple est que FTP doit parfois définir des limites de débit maximales en fonction de son objectif. Si FTP est utilisé simultanément pour la sauvegarde, le téléchargement et le téléchargement de fichiers, afin d'améliorer l'efficacité de la sauvegarde de fichiers et de raccourcir la durée de sauvegarde, il est nécessaire de limiter le taux maximal de téléchargement et de téléchargement de fichiers.
Afin de mettre en œuvre une limitation du débit de transmission, l'administrateur système peut définir le paramètre local_max_rate. Par défaut, ce paramètre n'est pas activé, c'est-à-dire qu'il n'y a pas de limite de débit maximum. Cependant, sur la base des raisons ci-dessus, je recommande toujours aux administrateurs système de définir ce paramètre avant de mettre le serveur FTP en production. Évitez les impacts négatifs sur d'autres services d'application en raison d'une consommation excessive de bande passante pour le téléchargement et le téléchargement. Les administrateurs système doivent parvenir à un équilibre entre les différents services d'application et allouer raisonnablement la bande passante. Assurez-vous au moins que chaque service applicatif peut répondre normalement aux demandes des clients. De plus, lorsque cela est possible, il est nécessaire d’effectuer un fonctionnement hors pointe. Par exemple, un serveur de messagerie et un serveur FTP sont déployés simultanément sur un hôte. Le serveur FTP est principalement utilisé pour la sauvegarde des fichiers. Ainsi, afin d'éviter que la sauvegarde de fichiers n'ait un impact négatif sur l'envoi et la réception d'e-mails (car la sauvegarde de fichiers nécessite une bande passante relativement importante, ce qui réduira considérablement la vitesse d'envoi et de réception d'e-mails), il est préférable de séparer la sauvegarde de fichiers de la période de pointe. d'envoi et de réception d'e-mails. Si l'heure de pointe pour l'envoi et la réception d'e-mails est généralement lorsque vous allez travailler le matin, n'utilisez pas le service FTP pour la sauvegarde de fichiers. Pendant la pause déjeuner, j’envoie et reçois généralement moins d’e-mails. À ce stade, vous pouvez utiliser FTP pour la sauvegarde des fichiers. Par conséquent, si le serveur FTP et d'autres services d'application fonctionnent pendant les heures creuses, le tarif peut être fixé à un niveau plus élevé pour améliorer l'efficacité opérationnelle du service FTP. Bien entendu, cela impose des exigences relativement élevées aux administrateurs système. Parce que les administrateurs système doivent analyser diverses applications, puis élaborer des plans complets basés sur le déploiement du serveur. À moins de mesures plus élevées et de meilleures conditions, il est nécessaire de maximiser le débit de transmission du serveur FTP. Dans le cas contraire, cela aura un impact très négatif sur les autres services d'information déployés dans l'entreprise et provoquera une congestion sur le réseau de l'entreprise.