NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Linuxtopia - CentOS Enterprise Linux Reference Guide - Sever FTP
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.