Red Hat Enterprise Linux contiene due diversi server FTP:
Red Hat Content Accelerator — Un Web server basato sul Kernel che consente di avere un web server e servizi FTP con elevate prestazioni. Poich� la velocit� rappresenta la sua prima caratteristica, esso presenta una funzionalit� limitata e viene eseguito solo come server FTP anonimo. Per maggiori informazioni su come configurare e gestire Red Hat Content Accelerator, consultare la documentazione disponibile online su https://www.redhat.com/docs/manuals/tux/.
vsftpd — Un demone FTP sicuro e veloce, il quale rappresenta il server FTP preferito per Red Hat Enterprise Linux. Il remainder di questo capitolo si concentra su vsftpd.
15.2.1. vsftpd
Il Very Secure FTP Daemon (vsftpd) � stato creato per essere veloce, stabile e in modo particolare sicuro. La sua abilit� di gestire in modo efficiente e sicuro un gran numero di collegamenti, rappresenta il motivo per il quale vsftpd � il solo FTP 'stand-alone' distribuito con Red Hat Enterprise Linux.
Il modello di sicurezza usato da vsftpd presenta tre aspetti primari:
Una separazione sostanziale di processi privilegiati e non — I suddetti processi gestiscono compiti diversi, e ognuno di questi processi viene eseguito con privilegi minimi necessari per affrontare un compito.
I compiti che richiedono privilegi elevati vengono gestiti da processi che richiedono privilegi minimi — Facendo leva sullecompatibilit� presenti nella libreria libcap, i compiti che generalmente richiedono i privilegi completi di root, possono essere eseguiti in modo pi� sicuro da un processo con meno privilegi.
La maggior parte dei processi vengono eseguiti in una cella chroot — Quando possibile, variare la directory root dei processi, sulla directory condivisa; la suddetta directory viene cos� considerata una cella chroot. Per esempio, se la directory /var/ftp/ risulta essere la directory condivisa primaria, vsftpd assegna nuovamente /var/ftp/ alla nuova directory root, conosciuta come /. Questa operazione non permette alcuna azione da parte di hacker nei confronti di ogni directory non contenuta sotto la nuova directory root.
L'uso di queste pratiche di sicurezza provoca i seguenti effetti su come vsftpd affronta queste richieste:
Il processo genitore viene eseguito con il minimo dei privilegi necessari. — Il processo genitore calcola dinamicamente il livello dei privilegi necessari per minimizzare il livello di rischio. I processi figli gestiscono l'interazione diretta con i client FTP e vengono eseguiti con il numero pi� basso possibile di privilegi.
Tutte le operazioni che richiedono privilegi elevati, vengono gestite da un processo genitore piccolo. — Similmente al Server HTTP Apache, vsftpd lancia i processi figli non privilegiati, in modo da gestire i collegamenti in entrata. Ci� permette al processo genitore privilegiato, di essere il pi� piccolo possibile e di gestire un numero pi� basso di compiti.
Tutte le richieste provenienti dai processi figlio non privilegiati, vengono distribuiti dal processo genitore. — Le comunicazioni con i processi figlio vengono ricevute attraverso un socket, e la validit� di una informazione provenienti dai processi figlio, viene controllata prima di essere abilitata.
Molte interazioni con i client FTP vengono gestite in una cella chroot da processi figlio non privilegiati. — Poich� questi processi figlio non sono privilegiati e hanno accesso solo alla directory che � stata condivisa, qualsiasi processo interrotto permette all'aggressore un accesso ai file condivisi.