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

Installieren Sie auch den FTP-Server. Teil 2

Nachdem wir das FTP-Protokoll in den ersten Elementen unseres Materials ein wenig kennengelernt haben, beginnen wir sofort mit der Installation und Konfiguration unseres eigenen FTP-Servers. Beachten Sie nur, dass in Windows 2000 / XP ein integrierter FTP-Server vorhanden ist (Systemsteuerung -> Programme installieren und deinstallieren -> Windows-Komponenten installieren -> Internetinformationsdienste -> FTP-Dienst). Es ist jedoch sehr primitiv, unpraktisch und auch unsicher - daher werden wir es in keiner Weise ausdrücken.
Und wir werden den leistungsstärksten und auch multifunktionalen FTP-Server Serv-U installieren - die meisten FTP-Sites bekannter Unternehmen arbeiten daran. Versuchen Sie, die alten Versionen in keiner Weise zu verwenden, da sie Schwachstellen enthalten.

Serv-U besteht aus mehreren Elementen - Serv-U Administrator zum Konfigurieren der Verwaltung des FTP-Servers sowie des FTP-Servers selbst. Der Serv-U-Administrator kann auch auf dem Computer eines Freundes installiert sein. Dadurch kann der Serv-U-FTP-Server ferngesteuert werden. Für die Verwaltung verwendet der FTP-Serverdienst den TCP-Port 43958. Um Hacking zu vermeiden, legen Sie daher das Kennwort für die Verwaltung (im Menü "Kennwort festlegen / ändern") fest, vorzugsweise ein langes. Mit der Option "Automatisch starten (Systemdienst)" können Sie den FTP-Server automatisch starten. Dies funktioniert unabhängig davon, wer am Computer angemeldet ist. Andernfalls wird der FTP-Server nur zu dem Zeitpunkt gestartet, zu dem Sie Serv-U Administrator starten.
Konfigurieren Sie nun die Firewall. Wir müssen eingehende und ausgehende TCP-Verbindungen für die Prozesse Servuadmin.exe und Servudaemon.exe zulassen.
Wir folgen weiter dem Protokoll der Serv-U-Administratoreinstellungen unter "Einstellungen -> Allgemein". Hier ist es sinnvoll, mindestens drei wichtige Optionen aufzunehmen. "Blockieren von FTP_bounce-Angriffen und FXP" ist ein Schutz gegen das Übertragen von Datenverkehr zwischen zwei FTP-Servern (der Client eines Angreifers kann eine Sitzung für einen anderen Server einrichten, die Übertragung starten und auch verlassen, nur Sie werden verschwendet, um den Speicherplatz zu füllen und auch das gekaufte Verkehrslimit zu verlieren). "Benutzer blockieren, die mehr als ... verbinden" - Schutz vor Versuchen, das Kennwort eines FTP-Kontos zu erraten. "Anti-Timeout-Schemata blockieren" - Schutz vor Versuchen, die einem Konto zugewiesenen Sitzungsporenlimits zu umgehen. Es scheint, dass es hier erlaubt ist, die Gesamtgeschwindigkeit des Empfangs (Upload), Uploads (Downloads) und die Anzahl der sofort bedienten Benutzer zu begrenzen (dies ist eine globale Einstellung, dann können wir solche Limits separat für verschiedene Konten erstellen).

Erstellen Sie nun einen Server. Brechen Sie dazu das Einstellungsprotokoll in "Domains" durch, drücken Sie die rechte Maustaste und wählen Sie im Popup "New Domain". Lassen Sie im Einstellungsfenster das Feld "Domain IP Address" leer, "Domain Name" - geben Sie einen Namen an, z. B. "FtpName" (wir brauchen ihn nur), "Domain Port Number" - dies ist der Port, auf den FTP antwortet Der Server gibt vorerst den Standardwert 21 an. "Domänentyp" gibt an, an welchem ​​Ort die Servereinstellungen gespeichert werden. Es ist besser, sie in INI-Dateien zu speichern.
Jetzt wird der Server erstellt (auf Englisch - "Domain"). Es ist möglich, mehrere Server (in diesem Zweig des Einstellungsprotokolls) an verschiedenen Ports zu organisieren. Dies ist für normale Benutzer nicht sinnvoll.

Aktivieren Sie im Einstellungsprotokoll im Abschnitt "Domänen -> FtpName" die Verschlüsselungsunterstützung "Sicherheit -> SSL / TLS und reguläre Sitzungen zulassen". Lassen Sie uns nun ein wenig vom Server selbst ablenken und uns auch mit IP-Ports befassen.
Zunächst muss der Server seine externe (Internet-) IP-Adresse kennen. Wenn die Adresse statisch ist, ist alles einfach - wir geben sie in die "Domain-IP-Adresse" ein. Wenn die IP-Adresse jedoch dynamisch ist (wie z. B. in Stream), müssen Sie DynamicDNS-Dienste verwenden. An dieser Stelle wird Ihnen ein Domänenname zugewiesen, der auf Ihre IP verweist, und die Aktualisierungen werden kontinuierlich überwacht.

Insbesondere können Sie auf No-IP.com einen solchen unentgeltlichen Gefallen genießen , wo Sie Ihren eigenen Computer für jede Level 3-Domain im Internet erstellen können, z. B. mycomputer.no-ip.com. Dort darf bla bla bla den Client No-IP Dynamic Update Client herunterladen, der den Kontakt zu No-IP.com ohne Unterbrechung unterhält und auch Ihre IP-Adresse überprüft / aktualisiert. Ich werde in keiner Weise über die Einstellungen dieses Kunden sprechen, aber ich kann Ihnen raten, die Einstellungen in keiner Weise zu ändern, mit Ausnahme des Parameters "NUR bei Aktualisierung über NAT / Router / Proxy-Adresse" - es ist besser, sie auf "alle 5 Minuten" zu setzen. Nachdem Sie den Kunden durch Registrierung auf No-IP.com platziert haben, gehen Sie in den Einstellungen unseres FTP-Kontrollkästchens unter "Dynamisches DNS aktivieren" auch zur angezeigten Registerkarte "Dynamisches DNS". Wir registrieren dort die auf No-IP.com registrierte Adresse.
Zweitens ist es Zeit, sich mit Ports zu befassen. Viele Anbieter blockieren eingehende Verbindungen an Port 21. Um dieses Problem zu umgehen, sollten Sie einen anderen nicht belegten Port auswählen, z. B. 32768, und ihn auch auf der Registerkarte "Domain in FTP-Portnummer" eingeben. Denken Sie jedoch daran, dass Sie den Link in keiner Weise zu ftp://mycomputer.no-ip.com, sondern nur zu ftp://mycomputer.no-ip.com:32768 entfremden sollten, wenn sich der Port von 21 unterscheidet. Ihr FTP-Server befindet sich wahrscheinlich hinter NAT. In diesem Fall müssen Sie die Funktion "Port Forwarding" auf NAT konfigurieren. Erstens für den Port, auf den es eine Antwort gibt. Zweitens werden, wie bereits zuvor beschrieben, für Clients, die im "PASV" -Modus arbeiten, einige andere Ports benötigt, mit denen sie eine Verbindung herstellen. Zu diesem Zweck verwenden Sie in Serv-U die entsprechende Einstellung "Lokaler Server -> Einstellungen -> Erweitert -> PASV-Portbereich", in der wir einen bestimmten nicht belegten Bereich angeben, z. B. 32769-32784, und leiten ihn auch an NAT weiter.
Wir konfigurieren weiter. Aktivieren Sie im Menü "Domänen -> FtpName (unser Server) -> Einstellungen" auf der Registerkarte "Protokollierung" den Protokolldateimodus für Systemnachrichten, Sicherheitsnachrichten, Dateidownloads, Datei-Uploads, IP-Namen, FTP-Befehle, FTP-Antworten - all dies Es ist nicht großartig, das Protokoll zu vergrößern, aber es hilft, die Probleme zu lokalisieren. Geben Sie den Namen der Protokolldatei an und aktivieren Sie das Kontrollkästchen "Protokollierung in Datei aktivieren". Auf anderen Registerkarten muss überhaupt nichts konfiguriert werden - standardmäßig ist alles für die meisten Benutzer dort geeignet.

Jetzt erstellen wir den Benutzer. Für die Quelle - den Gast. Zuerst müssen Sie einen Ordner auf der Festplatte erstellen, der zum Stammverzeichnis unseres FTP wird. Erstellen Sie beispielsweise C: \ FTP_Root. Als Nächstes müssen Sie einen Ordner erstellen, in den jeder Dateien hochladen kann (wir lassen sie [die Gäste] nicht von dort herunterladen). Erstellen Sie beispielsweise C: \ FTP_Root \ Incoming.

Essen Sie in Serv-U das Vorlagensystem (Gruppen). Es ist zulässig, Zugriffsrechte für die erstellten Verzeichnisse anzugeben. Es ist einfacher, eine Gruppe mit dem Privileg zu erstellen, den Stammordner zu lesen und auch in. \ Incoming zu schreiben. Registrieren Sie erst dann nicht alle diese Privilegien für alle Benutzer. Fügen Sie ihnen einfach diese Vorlage hinzu. Also bewegen wir uns im Einstellungsprotokoll unter "Domänen -> FtpName -> Gruppen" und erstellen dort eine neue Gruppe (Neue Gruppe), benennen sie beispielsweise Gast. Wir gehen zur Registerkarte "Dir Access" und fügen dort auch einige unserer Verzeichnisse hinzu - C: \ FTP_Root auch C: \ FTP_Root \ Incoming.

Wir gewähren ihnen Zugangsrechte. Für FTP_Root ist nur Lesen auch eine Liste, für eingehende nur Schreiben-Erstellen-Erben. Solche Vorteile bedeuten: Lesen - Lesen von Dateien, Schreiben - Schreiben von Dateien, Anhängen - Hinzufügen von Dateien, Löschen - Löschen von Dateien, Ausführen - Ausführen ausführbarer Dateien auf dem Server-Computer (sehr gefährliches Privileg, geben Sie es niemandem), Liste - Anzeigen einer Liste von Unterverzeichnissen, Erstellen - Erstellen eines Unterverzeichnisses, Entfernen - Löschen eines Unterverzeichnisses, Erben - Alle Unterverzeichnisse haben ähnliche Berechtigungen (andernfalls haben sie auch keine Rechte, es sei denn, sie sind unabhängig registriert). Verzeichniszeilen dürfen sich auf und ab bewegen. Bei Verwendung der Vererbung (Inherit) ist dies relevant - die oberste Zeile besitzt die höchste Priorität der Berechtigung.
Jetzt erstellen wir einen Gastbenutzer. Wir gehen zu "Domains -> FtpName -> Users" und erstellen auch den Benutzer "Anonymous" (dies ist der Standardname des Gastes, sonst wird es kein Gast sein). Geben Sie als Ausgangsverzeichnis (Basisverzeichnis) C: \ FTP_Root an. Zur Aufgabe "Benutzer im Ausgangsverzeichnis sperren?" Geben Sie die Antwort "Ja" - dies vereinfacht die Arbeit des Benutzers.
Jetzt - ein wichtiger Punkt - gehen wir in den Einstellungen dieses Benutzers (anonym) zur Registerkarte "Dir Access" und löschen dort auch die automatisch erstellte Zeile in FTP_Root (achten Sie darauf, dass sie die Leseberechtigungen in Incoming erbt). Fügen Sie nun auf der Registerkarte "Konto" die Gastgruppe zu Gruppe (n) hinzu und klicken Sie auf "Übernehmen". Wir gehen zurück zu "Dir Access" auch schauen. Hier erschien auch FTP_Root Incoming, und es ist unmöglich, sie zu bearbeiten - es war der Benutzer, der die Vorteile für Gäste aus der "Gast" -Vorlage erhielt.

Also haben wir einen Besucher geschaffen. Es kann alle Dateien aus dem Verzeichnis C: \ FTP_Root herunterladen (ausgenommen Unterverzeichnisse) und eine Datei in C: \ FTP_Root \ Incoming hochladen, kann sie jedoch nicht von dort herunterladen (daher kann Ihr Server nicht für nicht autorisierte Übertragungen verwendet werden Dateien).
Erstellen Sie nun einen autorisierenderen Benutzer. Um Poren zu sparen, kopieren Sie "Anonym" ebenfalls umbenennen. Wir gehen das Einstellungsprotokoll unter "Benutzer" auf, wählen "Anonym" aus (nicht öffnen) und führen im Kontextmenü auch "Benutzer kopieren" aus.

Benennen Sie es um (zum Beispiel in Ivanov) und legen Sie ein Passwort fest. Achten Sie darauf, dass Sie selbst nicht sehen können, welches Passwort er hat. Denken Sie also daran oder informieren Sie den Benutzer sofort über das Passwort.
Wechseln Sie nun zur Registerkarte "Dir Access". Bitte beachten Sie, dass das Stammverzeichnis auch bei ihm registriert ist, da er der "Gast" -Gruppe beitritt. Lassen Sie diesen Benutzer unsere Musik zum Beispiel herunterladen. Fügen Sie dazu eine Route zu Musikdateien hinzu und geben Sie Read-List-Inherit-Vorteile (der Benutzer kann alle Dateien sowie Unterverzeichnisse herunterladen).
Wenn der Benutzer jetzt verbunden ist, wird kein Katalog mit Musik angezeigt, sondern nur FTP_Root. Daher müssen Sie von FTP_Root aus einen Link dazu erstellen und nicht über Windows, sondern nur über Serv-U. Wir gehen durch das Einstellungsprotokoll unter "Domains -> FtpName -> Settings" auf die Registerkarte "General, Virtual Path Mapping".

Sie müssen sicherstellen, dass der Ordner mit Musik (z. B. c: \ Doc \ Music) in c: \ FTP_Root angezeigt wird, da es sich um ein Unterverzeichnis von FTP_Root handelt. Klicken Sie auf "Hinzufügen" und geben Sie Folgendes ein: "Physischer Pfad" - das Verzeichnis, zu dem Sie einen Link erstellen möchten, kritzeln Sie c: \ Doc \ Music, "Mapped to" - das Verzeichnis, in das Sie diesen Link einfügen müssen - wir haben ihn immer C: \ FTP_Root, "Vitual name" ist der Name dieses virtuellen Unterverzeichnisses in FTP_Root, z. B. Music. Fertig.
In "Virtual Path Mapping" können Sie beliebige Links platzieren, die jedoch nur von denjenigen angezeigt werden, die in "Dir Access" die entsprechenden Rechte besitzen. In unserem Fall wird dem Besucher beispielsweise der Musikkatalog nicht angezeigt.
Damit Ivanov unseren Netzwerkkanal beim Herunterladen von Musik nicht besonders cool findet, gehen wir zur Registerkarte "Allgemein" seines Kontos und geben "Maximale Download-Geschwindigkeit" an.
Übrigens werde ich Ihnen auch sagen, wie unser Benutzer Ivanov FTP beitreten soll. Durch Eingabe von ftp://mycomputer.no-ip.com wird er sich als Gast anmelden, aber nicht wie Ivanov. Mit dem Login kann das Passwort auch direkt in die Adresse ftp: // Ivanov: password@mycomputer.no-ip.com eingefügt werden - der Browser (FTP-Client) versteht dies und verwendet es auch. Oder Sie sollten die Einstellungen des FTP-Clients studieren, um herauszufinden, an welcher Stelle beim Anschließen der Name und das Kennwort für die Nicht-Gast-Anmeldung angezeigt werden.
Jetzt erstellen wir einen weiteren Benutzer, der Zugriff auf geheime Dokumente hat. Deshalb ist es auch unmöglich, das Hacken seines Kontos zu verhindern. Kopieren Sie es von Anonymous, auch Petrov genannt. Wir gehen zur Registerkarte "Allgemein" seines Kontos. Hier ein paar Punkte zu essen, die aus Sicht der Sicherheit interessant sind.

Erstens, Passworttyp. Wenn Sie "OTP S / KEY MD5" angeben, werden die Angreifer das Kennwort in keiner Weise abfangen. Wenn Sie "Normales Passwort" angeben, wird dies zum Standardverfahren für den Austausch von Passwörtern. Es kann auch abgefangen werden. Der Benutzer kann den Kennwortmodus in keiner Weise auswählen, dies muss auf dem Server erfolgen.
Zweitens erfordern Sie eine sichere Verbindung. Der Kennworttyp bietet nur Kennwortschutz, jedoch keine weitergeleiteten Daten. Das Herstellen einer verschlüsselten Verbindung bietet auch Datenschutz sowie Kennwortschutz. Wenn Sie "Sichere Verbindung erforderlich" in keiner Weise aktivieren, kann der Benutzer die verschlüsselte Zuordnung selbst auswählen, wenn er dies wünscht. Nur wenn die Dämmerung aktiviert ist, ist der Benutzer verpflichtet, die verschlüsselte Verbindung zu verwenden. Er darf sie nicht auf andere Weise verwenden. Übrigens unterstützt die Mehrheit der Clients während der Verschlüsselung keine OTP-Kennwörter. Da dies redundant ist, führt der Kennworttyp "Normales Kennwort" aus, wenn für dieses Konto verschlüsselte Verbindungen bestehen können.
Ich möchte Sie daran erinnern, dass normale Windows-FTP-Clients in keiner Weise OTP-Kennwörter oder -Verschlüsselung unterstützen. Um diese Sicherheitsmaßnahmen nutzen zu können, müssen Benutzer beispielsweise CuteFTP verwenden.
Wenn alles eingerichtet ist, werden Sie natürlich selbst sehen wollen, wie alles funktioniert. Es ist möglich, auch auf einen anderen Computer zu wechseln, was überhaupt nicht erforderlich ist (außer wirklich die Einstellungen der Firewall oder des NAT zu überprüfen). Unter Verwendung der lokalen Adresse (127.0.0.1) geben wir im Browser oder FTP-Client die Adresse ftp://127.0.0.1 (wenn der Standardport 21 ist) oder ftp://127.0.0.1:32768 (wenn der Port nicht Standard ist) ein 32768). Fertig. Auf diese Weise können Sie alle Funktionen Ihres Servers vollständig nutzen. Beachten Sie jedoch, dass im passiven Modus (PASV), wenn sich Ihr FTP-Server hinter NAT befindet, der Server die externe IP-Adresse angibt, über die der Client Daten austauschen kann, und dass eine Kombination nicht mehr möglich ist. Verwenden Sie daher zur Überprüfung den üblichen PORT-Modus in FTP-Clients.
PS Übrigens, wenn das nicht klar ist, verfügt Serv-U über ein hervorragendes kontextsensitives Hilfesystem, das durch Drücken der Taste "F1" aufgerufen wird.