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

Installieren Sie auch den FTP-Server. Teil 2

Nach einer kleinen Bekanntschaft mit dem FTP-Protokoll in den ersten Elementen unseres Materials, beginnen wir sofort damit, auch die Konfiguration unseres eigenen FTP-Servers zu installieren. Beachten Sie, dass es in Windows 2000 / XP einen eingebauten FTP-Server gibt (Systemsteuerung -> Installation, Deinstallation von Programmen -> Installieren von Windows-Komponenten -> Internet-Informationsdienste -> FTP-Dienst). Es ist jedoch sehr primitiv, unbequem und auch unsicher - deshalb werden wir es nicht ausdrücken.
Und wir werden den mächtigsten und vielseitigsten FTP-Server Serv-U installieren - die meisten FTP-Sites der bekanntesten Unternehmen arbeiten daran. Versuchen Sie, die alten Versionen in keiner Weise zu verwenden, da Sicherheitslücken vorhanden sind.

Serv-U besteht aus einem Paar von Elementen - Serv-U Administrator zum Konfigurieren der Verwaltung des FTP-Servers, auch der eigentliche FTP-Server. Der Serv-U-Administrator kann auch auf dem Computer eines Freundes installiert werden, über den der Serv-U-FTP-Server remote verwaltet werden kann. Um den FTP-Server-Dienst zu verwalten, wird der TCP-Port 43958 verwendet. Um Hacking zu vermeiden, legen Sie daher das Passwort für die Verwaltung fest (im Menü "Set / Change Password"), vorzugsweise lang. Mit der Option "Automatisch starten (Systemdienst)" können Sie den FTP-Server automatisch starten, und zwar unabhängig davon, wer am Computer angemeldet ist. Andernfalls wird der FTP-Server nur gestartet, wenn Sie den Serv-U-Administrator starten.
Konfigurieren Sie jetzt die Firewall. Wir müssen auch eingehende ausgehende TCP-Verbindungen für Servuadmin.exe-Prozesse sowie Servudaemon.exe zulassen.
Wir gehen weiter im Protokoll der Einstellungen von Serv-U Administrator, in "Einstellungen -> Allgemein". Hier lohnt es sich, mindestens drei wichtige Optionen einzubeziehen. "Block FTP_bounce attacks und FXP" ist der Schutz vor Datenverkehr zwischen einem FTP-Server (der Client des Angreifers kann im Auftrag eines anderen Servers eine Sitzung aufbauen, pumpen laufen auch ab, nur Sie werden verschwendet, um den Raum auf der Festplatte zu fahren und das gekaufte Trafficlimit zu verlieren). "Benutzer blockieren, die mehr als ... verbinden" - Schutz vor Versuchen, das Passwort eines FTP-Accounts zu wählen. "Anti-Time-Out-Verfahren blockieren" - Schutz vor Versuchen, die Grenzen der Poren der Sitzung zu umgehen, die dem einen oder anderen Konto gegeben werden. Ähnlich ist es hier erlaubt, die Gesamtgeschwindigkeit des Uploads (Uploads) zu begrenzen, (auch) die Anzahl der sofort bedienten Benutzer herunterzuladen (dies ist eine globale Einstellung, dann können wir solche Limits für verschiedene Accounts separat erstellen).

Erstelle nun den Server. Dazu gehen wir durch das Einstellungsprotokoll zu "Domains", drücken die rechte Maustaste und wählen im Pop-Up "Neue Domain". Im Einstellungsfenster bleibt das Feld "Domain IP Address" leer, "Domain name" - wir geben einen Namen an, zB "FtpName" (ist nur für uns notwendig), "Domain port number" ist der Port, auf dem der FTP- Server, für jetzt werden wir einen Standardwert von 21 angeben. "Domain type" gibt an, wo die Servereinstellungen gespeichert werden, besser ist es, sie in INI-Dateien zu speichern.
Jetzt wird der Server erstellt (in Englisch - "Domain"). Es ist möglich, mehrere Server zu organisieren (in diesem Zweig des Konfigurationsprotokolls), an verschiedenen Ports ist nur der Sinn für normale Benutzer nicht vorhanden.

In den Einstellungen loggen Sie sich den Abschnitt "Domains -> FtpName" ein und aktivieren die Verschlüsselungsunterstützung für "Sicherheit -> SSL / TLS und reguläre Sitzungen zulassen". Nun etwas abgelenkt vom Server selbst wird sich auch Ports mit IP befassen.
Zuerst muss der Server seine externe (Internet) IP-Adresse kennen. Wenn die Adresse statisch ist, dann ist alles einfach - wir geben es in der "Domain IP-Adresse" ein. Wenn die IP-Adresse jedoch dynamisch ist (z. B. in Stream), müssen Sie DynamicDNS-Dienste verwenden, bei denen Ihnen ein Domänenname zugewiesen wird, der auf Ihre IP-Adresse verweist, und dessen Aktualisierungen ebenfalls kontinuierlich überwachen.

Insbesondere, eine solche kostenlose Gunst zu essen auf No-IP.com , wo Sie Ihren Computer einige Dritte-Level-Domain im Internet, zum Beispiel mycomputer.no-ip.com erstellen können. Dort darf Blah Blah den Kunden No-IP dynamic update client herunterladen, der kontinuierlich No-IP.com kontaktieren wird, um auch Ihre IP-Adresse zu überprüfen / zu aktualisieren. Ich werde Sie nicht über die Einstellungen dieses Kunden informieren, aber ich kann seine Einstellungen empfehlen, sich nicht zu ändern, zusätzlich zu dem Parameter "NUR über NAT / Router / Proxy-Adresse aktualisieren" - es ist besser, ihn alle 5 Minuten einzustellen. Nachdem wir den Kunden auch auf No-IP.com registriert haben, setzen wir in den Einstellungen unseres FTP-Servers ein Häkchen bei "Enable dynamic DNS" und gehen auf die erscheinende Registerkarte "Dynamic DNS". Wir geben die in No-IP.com registrierte Adresse vor.
Zweitens ist es Zeit, sich mit den Häfen zu befassen. Viele ISPs blockieren eingehende Verbindungen am 21. Port. Um dieses Problem zu umgehen, sollten Sie einen anderen nicht verwendeten Port auswählen, z. B. 32768, und auf der Registerkarte "Domain in FTP-Portnummer" eingeben. Aber denken Sie daran, dass, wenn der Port von 21 verschieden ist, sollten Sie den Link in keiner Weise zu ftp://mycomputer.no-ip.com, nur ftp://mycomputer.no-ip.com:32768 verfremden. Wahrscheinlich ist Ihr FTP-Server hinter NAT. In diesem Fall muss bei NAT die Funktion "Port Forwarding" konfiguriert werden. Zuerst für den Hafen, auf den er die Antwort gibt. Zweitens werden, wie bereits früher beschrieben, für Clients, die im "PASV" -Modus arbeiten, einige andere Ports benötigt, zu denen sie eine Verbindung herstellen. Verwenden Sie dazu in Serv-U die entsprechende Einstellung "Lokaler Server -> Einstellungen -> Erweitert -> PASV-Port-Bereich", in der wir einige Leerlaufbereiche angeben, z. B. 32769-32784 auch an NAT weiterleiten.
Wir passen uns weiter an. Im Menü "Domains -> FtpName (unser Server) -> Einstellungen" auf der Registerkarte "Logging" aktivieren wir den Logging-Modus für Systemmeldungen, Sicherheitsmeldungen, Dateidownloads, Dateiuploads, IP-Namen, FTP-Befehle, FTP-Antworten. In keiner Weise wird es ein Protokoll erhöhen, aber es wird helfen, Probleme zu lokalisieren. Geben Sie den Namen der Protokolldatei an, und schließen Sie das Kontrollkästchen "Protokollierung in Datei aktivieren" ein. Auf anderen Tabs ist nichts zu konfigurieren nötig - standardmäßig ist alles für die meisten Benutzer geeignet.

Jetzt werden wir den Benutzer erstellen. Für die Quelle - der Gast. Zunächst müssen Sie einen Ordner auf dem Datenträger erstellen, der zum Stammverzeichnis unseres FTP-Servers wird. Erstellen Sie beispielsweise C: \ FTP_Root. Als nächstes müssen Sie einen Ordner erstellen, in dem jeder Dateien hochladen kann (wir geben ihnen [Gäste] nicht von dort), zum Beispiel werden wir C: \ FTP_Root \ Incoming machen.

In Serv-U essen Sie das System von Vorlagen (Gruppen). Dort dürfen die Zugriffsberechtigungen für die angelegten Verzeichnisse angegeben werden. Es ist einfacher, eine Gruppe mit dem Privileg zu erstellen, den Stammordner zu lesen, sowie zu schreiben. \ Incoming, nur dann verschreibe nicht allen Benutzern solche bla bla Rechte, füge einfach diese Vorlage hinzu. Wir bewegen uns also im Log der Einstellungen in "Domains -> FTPName -> Groups" und erstellen dort eine neue Gruppe (New Group), nennen Sie sie zB guest. Wir gehen zum Tab "Dir Access", wir fügen auch ein paar unserer Verzeichnisse hinzu - C: \ FTP_Root auch C: \ FTP_Root \ Incoming.

Wir geben ihnen Zugangsprivilegien. Für FTP_Root - nur Lese auch Liste, für eingehende - nur Write-Create-Inherit. Solche Rechte sind: Lesen - Lesen von Dateien, Schreiben - Schreiben von Dateien, Anhängen - Hinzufügen von Dateien, Löschen - Löschen von Dateien, Ausführen - Ausführen von ausführbaren Dateien auf dem Server-Rechner (sehr gefährliche Privilegien, geben Sie es niemandem), Liste - zeigt eine Liste von Unterverzeichnissen, Erstelle - erstelle ein Unterverzeichnis, Entferne - lösche ein Unterverzeichnis, Übernehmen - alle Unterverzeichnisse besitzen ähnliche Rechte (andernfalls wird auch kein Zugriff auf sie möglich sein, außer sie sind selbst registriert). Verzeichnisstiche dürfen sich auf- und abbewegen. Bei der Vererbung (Inherit) ist dies tatsächlich - die oberste Zeile hat die höchste Priorität der Berechtigung.
Jetzt erstellen wir einen Gastbenutzer. Gehe zu "Domains -> FTPName -> Users" und erstelle den User "Anonymous" (dies ist der Standard-Gast-Name, sonst wird er kein Gast sein). Geben Sie als Ausgangsverzeichnis (Basisverzeichnis) C: \ FTP_Root an. Auf der Aufgabe "Benutzer im Home-Verzeichnis sperren?" geben Sie die Antwort "Ja" - das wird die Arbeit des Benutzers vereinfachen.
Jetzt - ein wichtiger Punkt - in den Einstellungen dieses Benutzers (Anonymous) gehen wir zum "Dir Access" Tab und löschen auch die automatisch erstellte Zeile in FTP_Root (achten Sie darauf, dass es die Vorteile des Lesens in Incoming erbt). Fügen Sie nun auf der Registerkarte "Konto" den Gruppengast zu den Gruppen hinzu und klicken Sie auf "Übernehmen". Wir kehren zurück zu "Dir Access" schauen auch. Es erschien FTP_Root auch Eingehend, und sie können nicht bearbeitet werden - der Benutzer erhielt die gleichen Privilegien für Gäste aus der "Gast" Vorlage.

Also, wir haben einen Besucher erschaffen. Es kann alle Dateien aus dem Verzeichnis C: \ FTP_Root (mit Ausnahme von Unterverzeichnissen) herunterladen und auch eine Datei nach C: \ FTP_Root \ Incoming hochladen. Es kann jedoch nicht von dort heruntergeladen werden (daher kann Ihr Server nicht für die nicht autorisierte Übertragung verwendet werden) Dateien).
Erstellen Sie jetzt einen autoritativeren Benutzer. Um Poren zu sparen, kopieren Sie "Anonymous" auch umbenennen. Wir gehen das Protokoll der Einstellungen in den "Benutzer", wählen Sie (nicht öffnen) "Anonymous" auch das Kontextmenü "Benutzer kopieren".

Benennen Sie es um (zum Beispiel, in Ivanov), stellen Sie auch das Passwort ein. Passen Sie auf, Sie selbst können nicht sehen, was sein Passwort ist, also erinnern Sie sich oder teilen Sie sofort das Kennwort diesem Benutzer mit.
Wechseln Sie nun zur Registerkarte "Dir Access". Achten Sie darauf, dass das Root-Verzeichnis auch eingeht, da es in die Gruppe "guest" eingetragen ist und bereits registriert ist. Lassen Sie diesen Benutzer unsere Musik herunterladen. Dazu fügen wir eine Route zu den Musikdateien hinzu und geben außerdem die Vorteile von Read-List-Inherit (der Benutzer kann alle Dateien und Unterverzeichnisse herunterladen).
Wenn der Benutzer jedoch eine Verbindung herstellt, sieht er kein Verzeichnis mit Musik, sondern nur FTP_Root. Daher müssen Sie von FTP_Root, und nicht von Windows, nur über Serv-U selbst eine Verbindung herstellen. Gehen Sie in das Einstellungen-Log auf der Registerkarte "Domains -> FTP-Name -> Einstellungen" auf der Registerkarte "Allgemein, Virtuelles Pfad-Mapping".

Es ist notwendig, damit der Ordner Musik (zum Beispiel c: \ Doc \ Musik) in c: \ FTP_Root angezeigt wird, wie es ein Unterverzeichnis FTP_Root ist. Klicke auf "Hinzufügen" und fülle aus: "Physikalischer Pfad" - das Verzeichnis, zu dem du verlinken willst, c: \ Doc \ Musik, "Mapped to" - das Verzeichnis in dem dieser Link platziert werden soll - wir bekommen immer dieses C: \ FTP_Root, "Virtueller Name" ist der Name dieses virtuellen Unterverzeichnisses in FTP_Root, z. B. Musik. Fertig.
Unter "Virtual Path Mapping" können Sie beliebige Links platzieren, aber nur diejenigen, die sie in "Dir Access" sehen, besitzen die entsprechenden Rechte. In unserem Fall sieht der Besucher beispielsweise das Musikverzeichnis nicht.
Um Ivanov beim Herunterladen von Musik unseren Netzwerkkanal nicht besonders gut zu nehmen, wechseln wir auf die Registerkarte "Allgemein" seines Accounts und geben ebenfalls "Max download speed" an.
Übrigens, ich erzähle Ihnen mehr, wie unser Benutzer Ivanov FTP beitreten. Einfach per ftp://mycomputer.no-ip.com eingeben, wird es als Gast eingeben, nur nicht wie Ivanov. Login auch das Passwort darf direkt in die FTP-Adresse einfügen: // Ivanov: password@mycomputer.no-ip.com - der Browser (FTP-Client) wird verstehen, dass dies auch verwendet. Oder Sie müssen die Einstellungen des FTP-Clients untersuchen, um herauszufinden, wo sich bei der Verbindung des Namens auch ein Passwort für den Gast-Login befindet.
Jetzt werden wir einen anderen Benutzer erstellen, der Zugang zu allen geheimen Dokumenten haben wird, und deshalb ist es unmöglich, das Hacken seines Kontos zu erlauben. Wir kopieren es von Anonymous, auch genannt, zum Beispiel Petrov. Gehen Sie zur Registerkarte "Allgemein" seines Kontos. Hier können Sie ein paar interessante Punkte unter dem Gesichtspunkt der Sicherheit essen.

Zuerst den Passwort-Typ. Wenn Sie "OTP S / KEY MD5" angeben, werden die Angreifer das Passwort in keiner Weise abfangen. Wenn Sie "Reguläres Passwort" angeben, wird dies zum Standardverfahren für den Austausch von Passwörtern, und es kann auch abgefangen werden. Der Benutzer kann den Passwortmodus nicht wählen, dies sollte auf dem Server geschehen.
Zweitens, sichere Verbindung erforderlich. Passwort-Typ bietet nur Passwortschutz, aber keine Datenübertragung. Die Installation einer verschlüsselten Verbindung bietet auch Datenschutz sowie Passwortschutz. Wenn Sie darüber hinaus in keiner Weise die Option "Sichere Verbindung anfordern" aktivieren, kann der Benutzer die verschlüsselte Verbindung nur dann selbst auswählen, wenn die Jackdaw Kosten verursacht. Der Benutzer ist dann verpflichtet, die verschlüsselte Verbindung zu verwenden, andernfalls wird es auf andere Weise nicht zugelassen. Die meisten Clients unterstützen übrigens keine OTP-Passwörter beim Verschlüsseln - da dies redundant ist, da Password-Typen "Regular password" machen, wenn für dieses Konto Verschlüsselungsverbindungen bestehen.
Ich erinnere Sie daran, dass normale Windows FTP-Clients keine OTP-Passwörter oder Verschlüsselung in irgendeiner Weise unterstützen - Benutzer sollten CuteFTP verwenden, um diese Sicherheitsmaßnahmen anzuwenden.
Wenn alles eingerichtet ist, wirst du natürlich selbst sehen wollen, wie alles funktioniert. Es ist möglich, dass es nicht notwendig ist, zu einem anderen Computer zu wechseln (außer, wirklich, überprüfen Sie die Firewall-Einstellungen oder NAT). Unter Verwendung der lokalen Adresse (127.0.0.1) für diesen Zweck geben wir im Browser oder FTP-Client die Adresse ftp://127.0.0.1 ein (wenn der Standardport 21 ist), oder ftp://127.0.0.1:32768 (wenn der Port zum Beispiel nicht Standard ist) , 32768). Fertig. Sie können auf diese Weise alle Funktionen Ihres Servers vollständig testen. Aber denken Sie daran, dass im passiven Modus (PASV), wenn Ihr FTP-Server hinter NAT ist, der Server dem Kunden für den Datenaustausch die externe IP anzeigt, und auch die Zuordnung unmöglich wird. Verwenden Sie daher zum Testen in FTP-Clients den üblichen PORT-Modus.
PS Wenn das nicht klar ist, dann hat Serv-U ein exzellentes kontextsensitives Hilfesystem, das durch Drücken der "F1" -Taste aufgerufen wird.