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

Wir haben auch einen FTP-Server eingerichtet. Chat 2

Nach einer kurzen Einführung in das FTP-Protokoll in den ersten Elementen unseres Materials fahren wir sofort mit der Installation und Einrichtung Ihres eigenen FTP-Servers fort. Ab sofort stellen wir fest, dass in Windows 2000 / XP ein FTP-Server eingebaut ist (Systemsteuerung -> Installation und Deinstallation von Programmen -> Installation von Windows-Komponenten -> Internetinformationsdienste -> FTP-Dienst). Es ist jedoch sehr primitiv, unpraktisch und auch unsicher - daher werden wir es überhaupt nicht installieren.
Und wir werden den leistungsstärksten und multifunktionalsten FTP-Server Serv-U installieren - die meisten FTP-Sites berühmter Unternehmen arbeiten daran. Versuchen Sie nicht, die alten Versionen zu verwenden, da diese Sicherheitslücken aufweisen.

Serv-U besteht aus zwei Elementen - dem Serv-U-Administrator, der auch die Verwaltung des FTP-Servers sowie des FTP-Servers selbst konfiguriert. 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-Serverdienst zu verwalten, wird der TCP-Port 43958 verwendet. Um Hacking zu vermeiden, legen Sie daher ein Kennwort für die Verwaltung fest (im Menü "Kennwort festlegen / ändern"), vorzugsweise ein langes. Mit der Option "Automatisch starten (Systemdienst)" können Sie einen FTP-Server automatisch starten und dies funktioniert unabhängig davon, wer am Computer angemeldet ist. Andernfalls wird der FTP-Server erst gestartet, wenn Sie den Serv-U-Administrator starten.
Jetzt richten wir die Firewall ein. Wir müssen eingehende ausgehende Verbindungen unter Verwendung des TCP-Protokolls für die Servuadmin.exe-Prozesse und auch für Servudaemon.exe zulassen.
Wir folgen dem Protokoll der Serv-U Administrator-Einstellungen unter "Einstellungen -> Allgemein". Es gibt einen Grund, mindestens drei wichtige Optionen anzugeben. "Blockieren von FTP_bounce-Angriffen und FXP" ist ein Schutz vor der Übertragung von Datenverkehr zwischen zwei FTP-Servern (ein Client eines Angreifers kann eine Sitzung für einen anderen Server einrichten, den Download starten und auch verlassen, nur Sie verschwenden Speicherplatz auf der Festplatte und verlieren das erworbene Datenverkehrslimit). "Benutzer blockieren, die mehr als ... verbinden" - Schutz vor Versuchen, das Kennwort eines FTP-Kontos zu erraten. "Anti-Timeout-Schemata blockieren" - Schutz vor dem Versuch, die für das eine oder andere Konto festgelegten Sitzungszeitlimits zu umgehen. Ebenso ist es erlaubt, die Gesamtgeschwindigkeit des Empfangs (Upload), der Rückgabe (Download) und die Anzahl der sofort bedienten Benutzer zu begrenzen (dies ist eine globale Einstellung, dann können wir solche Begrenzungen für verschiedene Konten separat erstellen).

Erstellen Sie jetzt einen Server. Dazu gehen wir das Einstellungsprotokoll in "Domains" durch, drücken die rechte Maustaste und wählen im Popup "New Domain" aus. Lassen Sie im Einstellungsfenster das Feld "Domain IP Address" leer, "Domain name" - geben Sie einen Namen an, zum Beispiel "FtpName" (nur für uns erforderlich), "Domain port number" ist der Port, auf den der FTP antwortet Server, in der Zwischenzeit geben wir den Standardwert an - 21. "Domänentyp" gibt an, wo die Servereinstellungen gespeichert werden. Es ist besser, sie in INI-Dateien zu speichern.
Jetzt wird der Server erstellt (auf Englisch - "Domain"). Sie können mehrere Server (in diesem Zweig des Einstellungsprotokolls) an verschiedenen Ports organisieren. Für normale Benutzer hat dies keinen Sinn.

Im Einstellungsprotokoll im Bereich "Domains -> FtpName" aktivieren wir die Unterstützung für die Verschlüsselung "Security -> Allow SSL / TLS ans regular sessions". Jetzt schweifen wir ein wenig vom Server selbst ab und beschäftigen uns auch mit den Ports von IP.
Zunächst muss der Server seine externe (Internet-) IP-Adresse kennen. Wenn die Adresse statisch ist, ist alles einfach - geben Sie sie in die "Domain-IP-Adresse" ein. Wenn die IP-Adresse jedoch dynamisch ist (z. B. in "Stream"), müssen Sie die Dienste von DynamicDNS verwenden. Dort wird Ihnen ein Domänenname zugewiesen, der auf Ihre IP verweist, und Sie müssen auf dem neuesten Stand sein, um die Änderungen zu verfolgen.

Insbesondere eine solche unentgeltliche Bevorzugung auf No-IP.com zu essen, dort können Sie Ihren Computer auf jeder Domain-3-Ebene im Internet erstellen, zum Beispiel mycomputer.no-ip.com. Dort können Sie den No-IP-Client für dynamische Updates herunterladen, der die ununterbrochene Kontaktaufnahme mit No-IP.com und die Überprüfung / Aktualisierung Ihrer IP-Adresse ermöglicht. Ich werde nicht über die Einstellungen dieses Kunden sprechen, aber ich kann Ihnen raten, die Einstellungen nicht zu ändern, zusätzlich zum Parameter "Beim Update über NAT / Router / Proxy-Adresse NUR" - es ist besser, ihn auf "alle 5 Minuten" zu setzen. Nachdem wir den Kunden ebenfalls auf No-IP.com registriert haben, haben wir in den Einstellungen unseres FTP ein Kontrollkästchen auf "Dynamisches DNS aktivieren" gesetzt und wechseln ebenfalls zum erscheinenden Reiter "Dynamisches DNS". Dort registrieren wir die in No-IP.com registrierte Adresse.
Zweitens ist es Zeit, sich mit den Häfen 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 diesen ebenfalls auf der Registerkarte "Domain to FTP port number" eingeben. Aber denken Sie daran, dass, wenn der Port von 21 abweicht, die Clients, die Sie den Link entfremden sollten, nicht ftp://mycomputer.no-ip.com, sondern nur ftp://mycomputer.no-ip.com:32768. Ihr FTP-Server befindet sich wahrscheinlich hinter NAT. In diesem Fall muss NAT die Funktion "Port Forwarding" konfigurieren. Erstens für den Port, auf den es die Antwort gibt. Zweitens werden, wie bereits zuvor beschrieben, für Clients, die im "PASV" -Modus arbeiten, einige weitere Ports benötigt, über die sie eine Verbindung herstellen. Zu diesem Zweck leiten wir in Serv-U die entsprechende Einstellung "Lokaler Server -> Einstellungen -> Erweitert -> PASV-Portbereich", in der wir einen bestimmten nicht belegten Bereich angeben, beispielsweise 32769-32784, ebenfalls an NAT weiter.
Wir konfigurieren weiter. Im Menü "Domains -> FtpName (unser Server) -> Einstellungen" auf der Registerkarte "Protokollierung" aktivieren wir den Protokollierungsmodus für Systemmeldungen, Sicherheitsmeldungen, Dateidownloads, Dateiuploads, IP-Namen, FTP-Befehle, FTP-Antworten - all dies Es ist nicht gut, das Protokoll zu vergrößern, aber es hilft, Probleme zu lokalisieren. Geben Sie den Namen der Protokolldatei an und aktivieren Sie das Kontrollkästchen "Protokollierung in Datei aktivieren". Auf den anderen Registerkarten muss nichts eingerichtet werden - standardmäßig ist alles für die meisten Benutzer geeignet.

Nun legen wir einen Benutzer an. Für die Quelle - den Gast. Zuerst müssen wir einen Ordner auf der Festplatte erstellen, der das 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 (von dort werden sie nicht an die [Gäste] weitergeleitet). Beispielsweise führen Sie C: \ FTP_Root \ Incoming aus.

In Serv-U esse das Template-System (Groups). Dort können Zugriffsrechte für die erstellten Verzeichnisse festgelegt werden. Es ist einfacher, eine Gruppe mit dem Vorteil des Lesens des Stammordners sowie der Einträge in. \ Incoming zu erstellen, nur dann nicht allen Benutzern solche blah-Rechte vorzuschreiben, sondern ihnen nur diese Vorlage hinzuzufügen. Wenn wir also über das Einstellungsprotokoll in "Domains -> FtpName -> Groups" gehen, erstellen wir dort auch eine neue Gruppe (New Group), die wir zum Beispiel Gast nennen. Gehen Sie zum Reiter "Dir Access", wir fügen dort auch einige unserer Kataloge hinzu - C: \ FTP_Root und C: \ FTP_Root \ Incoming.

Wir geben ihnen die Vorteile des Zugangs. Für FTP_Root - nur Lesen und Auflisten, für Eingehende - nur Schreiben - Erstellen - Erben. Zu diesen Berechtigungen gehören: Lesen - Lesen von Dateien, Schreiben - Schreiben von Dateien, Anhängen - Hinzufügen von Dateien, Löschen - Löschen von Dateien, Ausführen von ausführbaren Dateien auf dem Servercomputer (ein sehr gefährliches Privileg, das niemandem gewährt wird), Auflisten - 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 Zugriffsrechte, wenn sie nicht unabhängig voneinander registriert sind). Verzeichniszeilen dürfen auf und ab gehen. Bei Verwendung der Vererbung (Inherit) ist dies relevant - die oberste Zeile hat die höchste Priorität.
Nun legen wir den Gastbenutzer an. Gehen Sie zu "Domains -> FtpName -> Users" und erstellen Sie den Benutzer "Anonymous" (dies ist der Standardname des Gastes, sonst wird er nicht der Gast sein). Wir geben C: \ FTP_Root als Ausgangsverzeichnis (Home Directory) an. Auf der Aufgabe "Benutzer im Home-Verzeichnis sperren?" Geben Sie die Antwort "Ja" - dies vereinfacht die Arbeit des Benutzers.
Nun - ein wichtiger Punkt - gehen wir in den Einstellungen dieses Benutzers (anonym) auf die Registerkarte "Dir Access" und löschen die automatisch erstellte Zeile in FTP_Root (achten Sie darauf, dass sie die Vorteile des Einlesens von Incoming übernimmt). Fügen Sie nun auf der Registerkarte "Konto" die Gastgruppe zu Gruppe (n) hinzu und klicken Sie auf "Übernehmen". Zurück zu "Dir Access" schauen Sie auch. Hier wurden auch FTP_Root und Incoming angezeigt. Sie können nicht bearbeitet werden. Der Benutzer hat dieselben Gastvorteile aus der Gastvorlage erhalten.

Also haben wir einen Besucher erstellt. Es kann beliebige Dateien aus dem Verzeichnis C: \ FTP_Root (mit Ausnahme von Unterverzeichnissen) herunterladen und auch einige Dateien in das Verzeichnis C: \ FTP_Root \ Incoming hochladen, jedoch nicht von dort herunterladen (daher kann Ihr Server nicht für nicht autorisierten Versand verwendet werden). Dateien).
Jetzt legen wir einen weiteren berechtigten Benutzer an. Kopieren Sie "Anonym" und benennen Sie es um, um Poren zu speichern. Gehen Sie im Einstellungsprotokoll zurück auf "Benutzer", wählen Sie (nicht öffnen) "Anonym" und dann im Kontextmenü "Benutzer kopieren".

Benennen Sie es um (z. B. in Ivanov), und legen Sie das Kennwort fest. Achten Sie darauf, dass Sie selbst nicht sehen können, wie hoch sein Passwort ist. Erinnern Sie sich also daran oder teilen Sie es diesem Benutzer auf einmal mit.
Nun gehen wir zum Reiter "Dir Access". Beachten Sie, dass seit dem Eintritt in die "Gast" -Gruppe auch das Root-Verzeichnis ankommt und bereits registriert ist. Lassen Sie diesen Benutzer in der Lage sein, unsere Musik zum Beispiel herunterzuladen. Fügen Sie dazu die Route zu den Musikdateien hinzu und geben Sie die Vorteile von Read-List-Inherit an (der Benutzer kann alle Dateien und Unterverzeichnisse herunterladen).
Wenn der Benutzer jetzt eine Verbindung herstellt, wird kein Verzeichnis mit Musik angezeigt, sondern nur FTP_Root. Daher müssen Sie einen Link von FTP_Root aus erstellen und nicht mit Windows-Tools, sondern nur mit Hilfe von Serv-U selbst. Gehen Sie zum Einstellungsprotokoll in "Domains -> FtpName -> Settings" auf der Registerkarte "General, Virtual Path Mapping".

Sie müssen dies tun, damit der Musikordner (z. B. c: \ Doc \ Music) in c: \ FTP_Root wie im FTP_Root-Unterverzeichnis angezeigt wird. Klicken Sie auf "Hinzufügen" und geben Sie ein: "Physischer Pfad" - das Verzeichnis, zu dem Sie einen Link erstellen möchten, wir schreiben c: \ Doc \ Music, "Zugeordnet zu" - das Verzeichnis, in das dieser Link eingefügt werden soll - wir haben immer C: \ FTP_Root, "Vitual name" ist der Name dieses virtuellen Unterverzeichnisses in FTP_Root, z. B. Music. Ist fertig
In der "Virtuellen Pfadzuordnung" können Sie beliebige Links platzieren, die jedoch nur diejenigen sehen, die die entsprechenden Rechte in "Dir Access" sehen. In unserem Fall sieht der Besucher beispielsweise das Musikverzeichnis nicht.
Damit Ivanov den Kanal unseres Netzwerks nicht besonders beim Herunterladen von Musik verwendet, gehen Sie in seinem Konto zur Registerkarte "Allgemein" und geben Sie "Maximale Download-Geschwindigkeit" an.
Übrigens, ich werde unserem Benutzer Ivanov auch mitteilen, dass er sich bei FTP anmelden soll. Wenn Sie nur ftp://mycomputer.no-ip.com eingeben, wird er als Gast angemeldet, genau wie Ivanov. Der Login darf das Passwort auch direkt in die Adresse ftp: // Ivanov: password@mycomputer.no-ip.com einfügen - das wird auch der Browser (FTP-Client) verstehen. Oder Sie sollten die Einstellungen des FTP-Clients studieren, um herauszufinden, wo beim Herstellen der Verbindung der Name und das Kennwort für Nicht-Gast-Eingaben angezeigt werden.
Jetzt erstellen wir einen weiteren Benutzer, der Zugriff auf geheime Dokumente hat. Daher ist es unmöglich zu verhindern, dass sein Konto gehackt wird. Wir kopieren es von Anonym, wir nennen es auch zum Beispiel Petrov. Gehen Sie zu der Registerkarte "Allgemein" seines Kontos. Unter dem Gesichtspunkt der Sicherheit gibt es einige interessante Punkte.

Zunächst den Kennworttyp. Wenn Sie "OTP S / KEY MD5" angeben, werden die Angreifer das Passwort nicht abfangen. Wenn Sie "Reguläres Passwort" angeben, wird dies zur Standardprozedur für die Freigabe von Passwörtern und kann auch abgefangen werden. Der Benutzer kann den Passwortmodus nicht auswählen, er muss auf dem Server durchgeführt werden.
Zweitens sichere Verbindung erforderlich. Der Kennworttyp bietet nur einen Kennwortschutz, jedoch keine gesendeten Daten. Das Einrichten einer verschlüsselten Verbindung bietet auch Datensicherheit sowie Kennwortsicherheit. Wenn das Kontrollkästchen "Sichere Verbindung erforderlich" nicht aktiviert ist, kann der Benutzer die verschlüsselte Verbindung nur dann persönlich auswählen, wenn es sich um eine Dohle handelt. Der Benutzer ist verpflichtet, die verschlüsselte Verbindung zu verwenden, und lässt sie auf keine andere Weise zu. Übrigens unterstützen die meisten Clients die Verschlüsselung von OTP-Passwörtern nicht - da dies redundant ist, da der Passworttyp "Normales Passwort" ergibt, wenn für dieses Konto verschlüsselte Verbindungen bestehen.
Ich möchte Sie daran erinnern, dass normale Windows-FTP-Clients weder OTP-Kennwörter noch Verschlüsselung unterstützen. Benutzer müssen beispielsweise CuteFTP verwenden, um diese Sicherheitsmaßnahmen anzuwenden.
Wenn alles eingerichtet ist, werden Sie natürlich selbst sehen wollen, wie alles funktioniert. Es ist auch möglich, auf einen anderen Computer zu wechseln, es ist überhaupt nicht erforderlich (außer wirklich, die Firewall- oder NAT-Einstellungen 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 beispielsweise nicht dem Standard entspricht) ein 32768). Ist fertig Auf diese Weise können Sie alle Funktionen Ihres Servers voll ausnutzen. Beachten Sie jedoch, dass im passiven Modus (PASV), wenn sich Ihr FTP-Server hinter NAT befindet, der Server dem Kunden die externe IP für den Datenaustausch anzeigt und die Verbindung unmöglich wird. Verwenden Sie daher zur Überprüfung den üblichen PORT-Modus in FTP-Clients.
PS Übrigens, wenn das nicht klar ist, hat Serv-U ein exzellentes kontextsensitives Hilfesystem, das durch Drücken der Taste "F1" aufgerufen wird.