Contrôles d'accès avancés
Gestion complète des utilisateurs
Stratification de l'accès des utilisateurs
graph TD
A[User Access Control] --> B[Authentication Levels]
B --> C[Read-Only Users]
B --> D[Write-Enabled Users]
B --> E[Administrative Users]
Création de comptes d'utilisateurs restreints
## Create FTP-specific user
sudo adduser ftpuser --shell /sbin/nologin
## Configure user limitations
sudo nano /etc/vsftpd.conf
user_sub_token=$USER
local_root=/home/$USER/ftp
Gestion des autorisations granulaire
Matrice de configuration des autorisations
Niveau d'autorisation |
Lecture |
Écriture |
Exécution |
Cas d'utilisation |
Restreint |
Oui |
Non |
Non |
Audits |
Partiel |
Oui |
Oui |
Non |
Gestion de contenu |
Complet |
Oui |
Oui |
Oui |
Administration système |
Mécanismes d'authentification avancés
Mise en œuvre de PAM (Pluggable Authentication Modules - Modules d'authentification extensibles)
## Install PAM modules
sudo apt install libpam-modules
## Configure PAM for FTP
sudo nano /etc/pam.d/vsftpd
## Add advanced authentication rules
auth required pam_listfile.so \
item=user sense=deny file=/etc/vsftpd.banned
Contrôle d'accès basé sur l'IP
Configuration de la liste blanche/noire des IP
## Create IP access control list
sudo nano /etc/hosts.allow
vsftpd: 192.168.1.100, 10.0.0.0/24
## Block specific IP ranges
sudo nano /etc/hosts.deny
vsftpd: ALL
Restriction d'accès dynamique
Intégration de Fail2Ban
## Install Fail2Ban
sudo apt install fail2ban
## Configure FTP protection
sudo nano /etc/fail2ban/jail.local
[vsftpd]
enabled = true
port = ftp
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 3
bantime = 3600
Contrôle d'accès basé sur les rôles (Role-Based Access Control - RBAC)
Mise en œuvre d'un accès hiérarchique
## Create user groups
sudo groupadd ftpreadonly
sudo groupadd ftpreadwrite
## Assign group permissions
sudo usermod -aG ftpreadonly audituser
sudo usermod -aG ftpreadwrite contentmanager
Surveillance et audit de la sécurité
Stratégie de journalisation complète
## Enhanced logging configuration
xferlog_enable=YES
xferlog_std_format=YES
log_ftp_protocol=YES
syslog_enable=YES
Techniques de sécurité avancées
Mise en œuvre d'un chroot jail
## Restrict user to home directory
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=NO
Meilleures pratiques recommandées
- Mettre en œuvre une authentification multi-facteur
- Faire régulièrement tourner les informations d'identification
- Utiliser une authentification basée sur des clés
- Minimiser les privilèges des utilisateurs
- Surveiller en permanence la sécurité
Conclusion
Les contrôles d'accès avancés nécessitent une approche stratégique et en couches. LabEx recommande d'apprendre en continu et de mettre en pratique ces techniques pour maintenir une infrastructure de sécurité FTP robuste.