FTP ist eine altgediente Figur unter den Internetanwendungen, die die gemeinsame Nutzung von Dateien durch Unternehmensbenutzer erleichtert. Sicherheitsprobleme gab es jedoch schon immer im Zusammenhang mit FTP. Wie kann verhindert werden, dass Angreifer auf illegale Weise wichtige Informationen von FTP-Servern stehlen? Wie kann verhindert werden, dass Angreifer FTP-Server zur Verbreitung von Trojanern, Viren usw. verwenden? Dies sind Probleme, auf die Systemadministratoren achten müssen. Dieses Mal nehme ich VSFTP, das auf der Linux-Betriebssystemplattform am weitesten verbreitet ist, als Beispiel, um darüber zu sprechen, wie die Sicherheit des FTP-Servers verbessert werden kann.
1. Verbieten Sie Benutzern auf Systemebene die Anmeldung beim FTP-Server.
Um die Sicherheit des FTP-Servers zu verbessern, ist es für Systemadministratoren am besten, separate FTP-Konten für Mitarbeiter einzurichten, anstatt Benutzer auf Systemebene normalen Benutzern zuzuweisen, was große Sicherheitsrisiken mit sich bringt. Im VSFTP-Server können Anmeldekonten über die Konfigurationsdatei vsftpd.ftpusers verwaltet werden. Dieses Konto steht jedoch auf einer schwarzen Liste und Personen, die zu diesem Konto gehören, können sich mit ihrem Konto nicht beim FTP-Server anmelden. Nach der Bereitstellung des VSFTP-Servers können wir mit dem Befehl vi die Konfigurationsdatei anzeigen und feststellen, dass sie bereits über viele Standardkonten verfügt. Darunter ist auch der Superuser-Root des Systems. Es ist ersichtlich, dass der VSFTP-Server aus Sicherheitsgründen standardmäßig verhindert, dass sich das Root-Konto beim FTP-Server anmeldet. Wenn der Systemadministrator zulassen möchte, dass sich Systemkonten wie Root beim FTP-Server anmelden, muss er Root und andere zugehörige Benutzernamen in dieser Konfigurationsdatei löschen. Wenn Sie dem Systemkonto jedoch erlauben, sich beim FTP-Server anzumelden, wirkt sich dies negativ auf dessen Sicherheit aus. Aus diesem Grund empfehle ich Systemadministratoren nicht, dies zu tun. Für Administratoren ist es am besten, keine der zugehörigen Systemkonten in dieser Datei zu ändern und die Einstellungen dieser Konten beizubehalten.
Wenn Sie aus anderen Gründen andere Konten deaktivieren müssen, können Sie die Kontonamen zu dieser Datei hinzufügen. Beispielsweise können gleichzeitig ein FTP-Server und ein Datenbankserver auf dem Server bereitgestellt werden. Aus Sicherheitsgründen empfiehlt es sich, das Konto des Datenbankadministrators zu dieser Blacklist hinzuzufügen.
2. Stärken Sie die Kontrolle über anonyme Benutzer.
Anonyme Benutzer beziehen sich auf die Konten, die nicht auf dem FTP-Server definiert wurden, und der FTP-Systemadministrator benötigt sie dennoch zur einfacheren Verwaltung, um sich anzumelden. Aber schließlich haben sie keine Autorisierung vom Server erhalten. Um die Sicherheit des Servers zu verbessern, müssen ihre Berechtigungen eingeschränkt werden. Es gibt auch viele Parameter auf dem VSFTP-Server, mit denen die Berechtigungen anonymer Benutzer gesteuert werden können. Systemadministratoren müssen entsprechende Konfigurationsarbeiten basierend auf der Sicherheitsstufe des FTP-Servers durchführen. Es ist zu beachten, dass die Sicherheit des FTP-Servers umso höher ist, je strenger die Berechtigungskontrolle anonymer Benutzer ist, gleichzeitig aber auch der Komfort des Benutzerzugriffs verringert wird. Letztendlich müssen Systemadministratoren daher immer noch ein Gleichgewicht zwischen Serversicherheit und Komfort finden.
Nachfolgend sind einige Konfigurationen aufgeführt, die ich für anonyme Benutzer empfehle. Wenn Sie nicht wissen, wie Sie sie konfigurieren, können Sie sich auf diese Konfigurationen beziehen. Diese Konfigurationen berücksichtigen Serversicherheit und Benutzerfreundlichkeit.
Einer davon ist der Parameter anon_world_readable_only. Dieser Parameter wird hauptsächlich verwendet, um zu steuern, ob anonyme Benutzer lesbare Dateien vom FTP-Server herunterladen können. Wenn der FTP-Server innerhalb des Unternehmens eingesetzt wird und hauptsächlich von internen Mitarbeitern verwendet wird, ist es am besten, diesen Parameter auf JA zu setzen. Fügen Sie dann einige gängige Unternehmensformulare und andere öffentlich zugängliche Dokumente hinzu, damit Mitarbeiter diese Dokumente anonym herunterladen können. Dies hat keinen Einfluss auf die Sicherheit des FTP-Servers, erleichtert aber auch die Bedienung anderer Mitarbeiter.
Der zweite ist der Parameter anon_upload_enable. Dieser Parameter gibt an, ob anonyme Benutzer unter anonymem Zugriff Dateien auf den FTP-Server hochladen können. Normalerweise sollte dieser Parameter auf Nein eingestellt sein. Das heißt, Benutzern ist es nicht gestattet, während des anonymen Zugriffs Dateien hochzuladen. Andernfalls würde das Unternehmen leiden, wenn jemand eine Datei hochladen kann und die andere Partei eine Virendatei hochlädt. Daher sollte anonymen Benutzern das Hochladen von Dateien untersagt werden. Es gibt jedoch Ausnahmen. Einige Unternehmen verwenden beispielsweise das FTP-Protokoll zum Sichern von Dateien. Wenn die Sicherheit des Unternehmensnetzwerks zu diesem Zeitpunkt gewährleistet ist, können Sie diesen Parameter auf JA setzen, wodurch das Betriebssystem den FTP-Befehl aufrufen kann, um Dateien auf dem FTP-Server zu sichern. Um den Einsatz von Backup-Verfahren zu vereinfachen, wird in diesem Fall häufig ein anonymer Zugriff verwendet. Daher muss es anonymen Benutzern gestattet sein, Dateien auf den FTP-Server hochzuladen.
Der dritte ist der Parameter anon_other_write_enable und der Parameter anon_mkdir_write_enable. Diese beiden Parameter betreffen hauptsächlich einige relativ erweiterte Berechtigungen anonymer Benutzer. Der erste Parameter gibt beispielsweise an, dass der anonyme Benutzer über andere Berechtigungen als das Hochladen und Erstellen von Unterverzeichnissen verfügt, z. B. das Ändern des Namens von Dateien auf dem FTP-Server usw. Der zweite Parameter gibt an, dass anonyme Benutzer unter bestimmten Umständen Unterverzeichnisse erstellen können. Diese Funktionen wirken sich auf die Sicherheit des FTP-Servers und der Dateien aus. Aus diesem Grund sollten diese Berechtigungen deaktiviert werden, sofern kein besonderer Grund vorliegt. Das heißt, setzen Sie die Werte dieser Parameter auf NEIN. Ich denke, dass diese Parameter aktiviert werden können, es sei denn, der Systemadministrator nutzt den FTP-Server zum Spaß. Andernfalls ist es besser, diese Parameter auf NEIN zu setzen, um die Sicherheit des FTP-Servers zu verbessern.
Generell sollte die Kontrolle anonymer Benutzer nach dem Prinzip der geringsten Rechte erfolgen. Da es sich bei anonymen Benutzern um Benutzer handelt, die nicht vom FTP-Server autorisiert sind, kann keine umfassende Berechtigungszugriffskontrolle durchgeführt werden. Aus diesem Grund kann es nur über diese Grundparameter gesteuert werden.
3. Kontrollieren Sie das Verzeichnis gut.
Normalerweise müssen Systemadministratoren für jeden Benutzer unterschiedliche Stammverzeichnisse einrichten. Aus Sicherheitsgründen und um zu verhindern, dass sich verschiedene Benutzer gegenseitig stören, muss der Systemadministrator es so einrichten, dass Benutzer nicht auf die Stammverzeichnisse anderer Benutzer zugreifen können. Einige Unternehmen richten beispielsweise für jede Abteilung ein FTP-Konto ein, um den Dateiaustausch zu erleichtern. Dann hat die Verkaufsabteilung Sales ein Stammverzeichnis sales; die Lagerabteilung hat ein Stammverzeichnis Ware. Als Vertriebsmitarbeiter können sie auf jedes Unterverzeichnis in ihrem eigenen Stammverzeichnis zugreifen, nicht jedoch auf das Stammverzeichnis Ware des Lagerbenutzers. In diesem Fall haben Mitarbeiter der Vertriebsabteilung keinen Zugriff auf die Dateien des Lagerbenutzers. Es ist ersichtlich, dass durch die Beschränkung des Zugriffs von Benutzern auf andere Verzeichnisse als das Stammverzeichnis verhindert werden kann, dass verschiedene Benutzer sich gegenseitig stören, und die Sicherheit von Dateien auf dem FTP-Server verbessert wird. Um diesen Zweck zu erreichen, kann der Parameter chroot_local_user auf NO gesetzt werden. Nach dieser Einstellung können alle lokal angemeldeten Benutzer keine anderen Verzeichnisse als das Stammverzeichnis betreten. Wenn Sie diese Kontrolle durchführen, ist es jedoch am besten, ein Verzeichnis einzurichten, auf das jeder zugreifen kann, um einige öffentliche Dateien zu speichern. Wir müssen die Sicherheit des Servers gewährleisten, ohne die normale gemeinsame Nutzung und Kommunikation von Dateien zu beeinträchtigen.
4. Begrenzen Sie die Übertragungsrate.
Um den stabilen Betrieb des FTP-Servers zu gewährleisten, ist es manchmal erforderlich, die Datei-Upload- und Download-Rate zu begrenzen. Beispielsweise werden auf demselben Server FTP-Server, Mailserver usw. separat bereitgestellt. Damit diese Anwendungsdienste friedlich koexistieren können, muss ihre maximale Übertragungsrate kontrolliert werden. Weil die Bandbreite desselben Servers eine maximale Grenze hat. Wenn ein Anwendungsdienst eine relativ große Bandbreite belegt, wirkt sich dies negativ auf andere Anwendungsdienste aus und führt sogar dazu, dass andere Anwendungsdienste nicht normal auf Benutzeranforderungen reagieren können. Ein weiteres Beispiel ist, dass FTP je nach Zweck manchmal maximale Ratengrenzen festlegen muss. Wenn FTP gleichzeitig für die Dateisicherung, das Hochladen und Herunterladen von Dateien verwendet wird, muss die maximale Datei-Upload- und Download-Rate begrenzt werden, um die Effizienz der Dateisicherung zu verbessern und die Sicherungszeit zu verkürzen.
Um eine Begrenzung der Übertragungsrate zu implementieren, kann der Systemadministrator den Parameter local_max_rate festlegen. Standardmäßig ist dieser Parameter nicht aktiviert, d. h. es gibt keine maximale Ratenbegrenzung. Aus den oben genannten Gründen empfehle ich jedoch dennoch, dass Systemadministratoren diesen Parameter festlegen, bevor sie den FTP-Server in Betrieb nehmen. Vermeiden Sie negative Auswirkungen auf andere Anwendungsdienste durch übermäßigen Bandbreitenverbrauch beim Hoch- und Herunterladen. Systemadministratoren müssen ein Gleichgewicht zwischen verschiedenen Anwendungsdiensten erreichen und die Bandbreite angemessen zuweisen. Stellen Sie zumindest sicher, dass jeder Anwendungsdienst normal auf Kundenanfragen reagieren kann. Darüber hinaus ist es erforderlich, wenn möglich, einen Betrieb außerhalb der Spitzenzeiten durchzuführen. Beispielsweise werden ein Mailserver und ein FTP-Server gleichzeitig auf einem Host bereitgestellt. Der FTP-Server wird hauptsächlich zur Dateisicherung verwendet. Um zu verhindern, dass sich die Dateisicherung negativ auf das Senden und Empfangen von E-Mails auswirkt (da die Dateisicherung eine relativ große Bandbreite erfordert, was die Geschwindigkeit des Sendens und Empfangens von E-Mails erheblich verringert), ist es am besten, die Dateisicherung von der Spitzenzeit zu trennen des E-Mail-Versands und -Empfangs. Wenn die Hauptzeit für das Senden und Empfangen von E-Mails normalerweise morgens auf dem Weg zur Arbeit liegt, sollten Sie den FTP-Dienst nicht für die Dateisicherung nutzen. In der Mittagspause sende und empfange ich generell weniger E-Mails. An dieser Stelle können Sie FTP zur Dateisicherung verwenden. Wenn der FTP-Server und andere Anwendungsdienste daher außerhalb der Spitzenzeiten ausgeführt werden, kann die Rate höher eingestellt werden, um die Betriebseffizienz des FTP-Dienstes zu verbessern. Dies stellt natürlich relativ hohe Anforderungen an Systemadministratoren. Denn Systemadministratoren müssen verschiedene Anwendungen analysieren und dann umfassende Pläne auf der Grundlage der Serverbereitstellung erstellen. Sofern es keine höheren Maßnahmen und bessere Bedingungen gibt, ist es notwendig, die Übertragungsrate des FTP-Servers zu maximieren. Andernfalls wird es sehr negative Auswirkungen auf andere im Unternehmen bereitgestellte Informationsdienste haben und zu einer Überlastung des Unternehmensnetzwerks führen.