Kako instalirati VSFTPD na CentOS 8?

Instalacija vsftpd i podešavanje TLS konekcije.

Ovde ćemo da pokažemo instalaciju i podešavanje vsftpd za pritup FTP preko TLS enkripcije na CentOS 8 serveru. Dodaćemo i usere koji mogu da pristupe preko ftp na portu 21 koji budemo otvorili.

Instalacija vsftpd

dnf install vsftpd
y

Pocetak instalacije vsftpd

Sada ćemo da kopiramo originalni fajl da ga imamo za svaki slučaj kao rezervu.

mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig

Vsftpd rezervna kopija fajla

Sada treba da napravimo konfiguracioni fajl koji će da ima podešavanja koje je nosio fajl koji nam je sada kao rezerva.

grep -v ^# /etc/vsftpd/vsftpd.conf_orig > /etc/vsftpd/vsftpd.conf

vsfpd konfiguracioni fajl

Sada otkucamo komadnu da pogledamo sta imamo u tom fajlu I uporedimo sa podacima ispod

cat /etc/vsftpd/vsftpd.conf

Ovako treba da izgleda fajl kad ga pogledamo sada.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES

Sledeći korak pošto smo ga instalirali treba da ga pokrenemo I da omogućimo da se pokrene I posle reboot mašine.

systemctl start vsftpd
systemctl enable vsftpd

vsftpd pokretanje servisa

Firewall otvaranje portova

Sledeći korak da otvorimo na firewall port 21 I 20, I otvoricemo pasivne portove koji ce nam kasnije trebati 30000-31000/tcp.

firewall-cmd ‐‐permanent ‐‐add-port=20-21/tcp
firewall-cmd ‐‐permanent ‐‐add-port=30000-31000/tcp
firewall-cmd ‐‐reload

firewall za vsftpd

Konfiguracioni fajl od vsftpd

Dodaćem i pasivne portove u fajl /etc/vsftpd/vsftpd.conf. Slobodno na kraj dokumenta dodajte. I dodaćemo podatak za deny listu.

nano /etc/vsftpd/vsftpd.conf

userlist_deny=NO

pasv_min_port=30000
pasv_max_port=31000

Snimimo promene

Generisanje SSL sertifikata OpenSSL

Sada ćemo da uradimo bezbednost VSFTPD sa TLS konekcijom

Treba da instaliramo OpenSSL ako ga već nemamo na našem server komandom (Ja imam pa će zato da napiše nothing to do.)

dnf install openssl

Instalacija openSSL

Sledeći korak treba da generišemo sertifikat. Mi ćemo da izgenerišemo privatni ključ vsftpd.key sertifikat koji će biti vsftpd.crt. U toku genirasanja sertifikata bićemo nam postavljena neka pitanje i slobodno možemo da ih ostavimo sve prazno tj svuda idite samo enter.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/vsftpd.key -x509 -days 3650 -out /etc/pki/tls/certs/vsftpd.crt

Generisanje OpenSSL za vsftpd

Sva pitanja idemo na enter

Konfiguracija openSSL za vsftpd

Kada imamo napravljen sertifikat treba da ga ubacimo u konfiguracioni fajl /etc/vsftpd/vsftpd.conf

nano /etc/vsftpd/vsftpd.conf

Ubacimo ove linje na kraj ovog fajla

rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

dodavanje OpenSSL u konf fajl od vsftpd

Snimimo promene na fajlu I onda restarujemo vsftpd.

systemctl restart vsftpd

Na kraju kada ste sve ubacili u konfiguracioni fajl /etc/vsftpd/vsftpd.conf on treba ovako da izgleda.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES

userlist_deny=NO
pasv_min_port=30000
pasv_max_port=31000

rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Sada ako pravite nekog usera treba da ga ubacite u listu /etc/vsftpd/user_list kako bi imao prava da se konektuje preko ftp.

nano /etc/vsftpd/user_list

vsftpd lista za korsinike

Ja ću dodati usera piincloud pošto se onne nalazi sada u listi i ne bi mogao da se konektuje preko ftp, vi možete da dodate vašeg usera kojeg ste napravili.

Ubacujemo usera konf fajl lista

Ako zelite da zabranite konekciju preko ftp za nekog usera ubacite ga u ovu listu.

/etc/vsftpd/ftpusers

Posle samo uradimo restart servisa

systemctl restart vsftpd

Testiranje FTP konekcije.

Probajte preko FileZIle da se konektujete sada ili preko nekog clienta koji podrzava TLS konekciju.

Otkucajte vaše podatke ip adrese, usera, šifre  i porta 21. Kada pritisnite enter trebad a vam se pokaze na ekranu da prihvatite sertifikat I onda ce da vam izlista foldere.

Testiranje FTP preko filezille

Kada kliknete Quickconnect trea da vam iskoši obaveštenje da prihavtite sertifikat.

ftp sertifika da se prihvati

Kada kliknete  na OK treba da vam se izlistaju folderi sa desne strane FileZille.

U sledećem videu ćemo da postavmo SAMBA share kako bi mogli da imamo neki share folder i da pristupamo njemu.