| Red Hat Enterprise Linux 4: Referenzhandbuch | ||
|---|---|---|
| Zurück | Kapitel 15. FTP | Nach vorne |
Red Hat Enterprise Linux wird mit zwei verschiedenen FTP-Servern ausgeliefert:
Red Hat Content Accelerator — ein Kernel-basierter Web-Server, der Hochleistungs-Web- und -FTP-Services bereitstellt. Da Geschwindigkeit hier Hauptentwicklungsziel war, besitzt dieser beschränkte Funktionalität und läuft lediglich als anonymer FTP-Server. Für weitere Informationen zur Konfiguration und Administration des Red Hat Content Accelerator, siehe die Dokumentation, die online unter http://www.redhat.com/docs/manuals/tux/ verfügbar ist.
vsftpd — ein schneller, sicherer FTP-Daemon, der der bevorzugte FTP-Server für Red Hat Enterprise Linux ist. Der Rest dieses Kapitels betrifft hauptsächlicherweise vsftpd.
Der vsftpd oder Very-Secure-FTP-Daemon wurde vom Grund auf dazu entwickelt, um schnell, robust und was am allerwichtigsten ist, sicher zu sein. Seine Fähigkeit eine große Anzahl von Verbindugen effizient und sicher zu handhaben, ist der Grund, dass vsftpd der einzige mit Red Hat Enterprise Linux ausgelieferte Stand-Alone-FTP-Server ist.
Das von vsftpd verwendete Sicherheitsmodell hat drei primäre Aspekte:
Strenge Trennung von privilegierten und nicht-privilegierten Prozessen — Separate Prozesse handhaben unterschiedliche Tasks, und jeder dieser Prozesse läuft mit den minimalen für diesen Task benötigten Privilegien.
Tasks, die erhöhte Privilegien benötigen, werden von Prozessen mit den minimal benötigten Privilegien gehandhabt — Durch den wirksamen Einsatz von Kompatibilitäten, die sich in der libcap-Bibliothek befinden, können Tasks, die normalerweise vollständige Root-Privilegien benötigen, sicherer von einem weniger privilegierten Prozess ausgeführt werden.
Die meisten Prozesse werden in einem chroot-Gefängnis ausgeführt — Wann immer möglich werden Prozesse in das gemeinsam benutzte Verzeichnis umgerootet; dieses Verzeichnis wird dann als chroot-Gefängnis angesehen. Wenn zum Beispiel das Verzeichnis /var/ftp/ das primäre Shared-Directory darstellt, wird /var/ftp/ durch vsftpd dem neuen Root-Verzeichnis, als / bekannt, neu zugeordnet. Dies schützt jegliche Verzeichnisse, die sich nunmehr nicht unter dem neuen Root-Verzeichnis befinden, vor potentiellen, mutwilligen Hacker-Attacken.
Die Verwendung dieser Sicherheitspraktiken hat den folgenden Effekt auf die Art in der vsftpd Anfragen handhabt:
Der Elternprozess läuft mit den am wenigsten benötigten Privilegien ab. — Der Elternprozess bestimmt den Level an benötigten Privilegien dynamisch, um das Sicherheitsrisiko zu minimieren. Kindprozesse sind für ein direktes Zusammenspiel mit den FTP-Clients zuständig und laufen mit so wenig wie möglich bis hin zu fast gar keinen Privilegien ab.
Alle Operationen, die erhöhte Privilegien benötigen, werden von einem kleinen Elternprozess gehandhabt. — Ganz wie Apache HTTP Server, startet vsftpd unprivilegierte Kindprozesse, um eingehende Verbindungen zu handhaben. Dies erlaubt es dem privilegierten Elternprozess so klein wie möglich zu sein und nur relativ wenige Aufgaben zu handhaben.
Keinen der Anforderungen von unprivilegierten Kindprozessen wird vom Elternprozess vertraut. — Kommunikation mit Kindprozessen geschieht über Sockets und die Gültigkeit jeglicher Information eines Kindprozesses wird überprüft, bevor darauf reagiert wird.
Die meiste Interaktion mit FTP-Clients wird von unprivilegierten Kindprozessen in einem chroot-Gefängnis gehandhabt. — Da diese Kindprozesse unprivilegiert sind und lediglich auf das gemeinsame Verzeichnis Zugriff haben, erlaubt ein abgestürzter Prozess einem Angreifer lediglich Zugriff auf die gemeinsamen Dateien.
| Zurück | Zum Anfang | Nach vorne |
| FTP | Nach oben | Mit vsftpd installierte Dateien |