Cum să configurezi un server FTP securizat pe Linux: Ghid pas cu pas
Configurarea unui server FTP (File Transfer Protocol) pe Linux poate fi esențială pentru transferul securizat de fișiere și partajarea datelor între utilizatori sau dispozitive. Totuși, FTP-ul tradițional este adesea considerat nesigur, deoarece transmite date în text simplu. Acest ghid îți va arăta cum să instalezi și să configurezi un server FTP securizat pe Linux folosind VSFTPD (Very Secure FTP Daemon), permițând transferuri de fișiere criptate, permisiuni pentru utilizatori și controale de acces securizate.
Ce vei avea nevoie
- Un server Linux cu un cont de utilizator și privilegii sudo
- Abilități de bază în linia de comandă
- Acces la internet pentru a instala pachetele software necesare
Pasul 1: Instalează VSFTPD
- Actualizează indexul pachetelor pentru a te asigura că ai cea mai recentă listă de repozitorii:
- Instalează pachetul VSFTPD (pentru sistemele Debian/Ubuntu):
- Verifică instalarea verificând versiunea VSFTPD:
sudo apt update
sudo apt install vsftpd -y
Pentru sistemele CentOS/RHEL, folosește:
sudo yum install vsftpd -y
vsftpd -version
Pasul 2: Configurează setările de bază pentru VSFTPD
- Fă backup fișierului de configurare implicit:
- Deschide fișierul de configurare într-un editor de text:
- Modifică setările după cum urmează pentru a permite acces securizat și restricționat:
- Dezactivează accesul FTP anonim:
- Permite accesul utilizatorilor locali:
- Activează încărcarea fișierelor pentru utilizatorii locali:
- Restricționează fiecare utilizator la directorul lor de acasă:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Pasul 3: Securizează FTP-ul cu SSL/TLS
- Generează un certificat SSL folosind OpenSSL:
- Configurează VSFTPD pentru a folosi SSL editând din nou fișierul de configurare:
- Salvează și închide fișierul, apoi repornește VSFTPD pentru a aplica modificările:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Completează câmpurile solicitate, deoarece acestea vor apărea pe certificat.
sudo nano /etc/vsftpd.conf
Adaugă sau modifică următoarele linii pentru a permite SSL:
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
sudo systemctl restart vsftpd
Pasul 4: Creează utilizatori FTP și configurează permisiunile
- Creează un utilizator FTP dedicat și atribuie o parolă:
- Restricționează utilizatorul la directorul său de acasă pentru securitate:
- Setează permisiunile pentru director astfel încât doar utilizatorul FTP să poată citi și scrie fișiere:
sudo adduser ftpuser
sudo passwd ftpuser
sudo usermod -d /home/ftpuser ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
Pasul 5: Configurează firewall-ul pentru a permite traficul FTP
Dacă serverul tău are un firewall activat, va trebui să permiți traficul FTP.
Pentru UFW (Ubuntu):
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw reload
Pentru Firewalld (CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=990/tcp
sudo firewall-cmd --reload
Pasul 6: Testează serverul FTP
- Conectează-te la serverul FTP folosind un client FTP din linia de comandă sau un client FTP precum FileZilla.
- Introdu adresa IP a serverului, numele de utilizator și parola pentru a te autentifica în siguranță.
- Verifică conexiunea SSL:
- În FileZilla, setează opțiunea “Encryption” la Require explicit FTP over TLS.
- Confirmă conexiunea securizată verificând simbolul de lacăt sau notificarea de securitate.
Pasul 7: Activează modul pasiv (Opțional)
Pentru utilizatorii din spatele unui firewall sau NAT, modul pasiv poate facilita conexiuni mai fluide.
- Adaugă setările pentru modul pasiv în fișierul de configurare VSFTPD:
- Salvează și închide fișierul, apoi repornește VSFTPD:
sudo nano /etc/vsftpd.conf
Adaugă următoarele linii:
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100
sudo systemctl restart vsftpd
Concluzie
Configurarea unui server FTP securizat pe Linux folosind VSFTPD asigură transferul securizat al fișierelor, menținând permisiuni pentru utilizatori și criptare. Urmând acest ghid, ai stabilit o configurație solidă pentru serverul FTP cu criptare SSL/TLS, reguli de firewall și acces restricționat pentru utilizatori, oferind un mediu de transfer de fișiere securizat și eficient.
Aplică acești pași pentru a furniza o soluție FTP sigură și de încredere pentru echipa ta sau pentru clienți.