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 https://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.
15.2.1. 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.