Weboldal keresés

Biztonságos FTP-kiszolgáló beállítása SSL/TLS használatával az Ubuntu rendszeren


Ebben az oktatóanyagban leírjuk, hogyan lehet biztonságossá tenni egy FTP szervert (a VSFTPD a „Very Secure FTP Daemon” rövidítése) SSL használatával /TLS az Ubuntu 16.04/16.10ben.

Ha biztonságos FTP-kiszolgálót szeretne beállítani CentOS-alapú disztribúciókhoz, olvassa el a következőt: FTP-kiszolgáló biztonsága SSL/TLS használatával a CentOS rendszeren

Az útmutató különböző lépéseinek követése után megtanultuk a titkosítási szolgáltatások FTP-kiszolgálón történő engedélyezésének alapjait a biztonságos adatátvitel érdekében.

Követelmények

  1. Telepítenie és konfigurálnia kell egy FTP-kiszolgálót az Ubuntuban

Mielőtt továbblépnénk, győződjön meg arról, hogy a cikkben szereplő összes parancs root vagy sudo jogosultsággal rendelkező fiókként fut.

1. lépés: SSL/TLS-tanúsítvány létrehozása FTP-hez Ubuntu rendszeren

1. Kezdjük azzal, hogy létrehozunk egy alkönyvtárat az /etc/ssl/ alatt az SSL/TLS tanúsítvány és a kulcsfájlok tárolására, ha nem nem létezik:

sudo mkdir /etc/ssl/private

2. Most állítsuk elő a tanúsítványt és a kulcsot egyetlen fájlban az alábbi parancs futtatásával.

sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048

A fenti parancs arra kéri Önt, hogy válaszoljon az alábbi kérdésekre, ne felejtse el megadni az Ön forgatókönyvére vonatkozó értékeket.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

2. lépés: A VSFTPD konfigurálása az SSL/TLS használatához Ubuntun

3. Mielőtt bármilyen VSFTPD konfigurációt végrehajtanánk, azoknak, akiknél engedélyezve van az UFW tűzfal, meg kell nyitnia a 990 és a 40000 portokat. -50000 a TLS kapcsolatok és a passzív portok porttartományának beállításához a VSFTPD konfigurációs fájlban:

sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw status

4. Most nyissa meg a VSFTPD konfigurációs fájlt, és adja meg benne az SSL részleteit:

sudo vi /etc/vsftpd/vsftpd.conf
OR
sudo nano /etc/vsftpd/vsftpd.conf

Ezután adja hozzá vagy keresse meg az ssl_enable opciót, és állítsa az értékét YES-re az SSL használatának aktiválásához. Mivel a TLS biztonságosabb, mint az SSL, a VSFTPD-t a következőre korlátozzuk. használja helyette a TLS-t az ssl_tlsv1 opció engedélyezésével:

ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

5. Ezt követően írja be megjegyzéssel az alábbi sorokat a # karakterrel az alábbiak szerint:

#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Ezután adja hozzá az alábbi sorokat az SSL-tanúsítvány és a kulcsfájl helyének meghatározásához:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

6. Mostantól azt is meg kell akadályoznunk, hogy névtelen felhasználók SSL-t használjanak, majd minden nem névtelen bejelentkezést biztonságos SSL-kapcsolat használatára kell kényszerítenünk az adatátvitelhez, és bejelentkezéskor el kell küldenünk a jelszót:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

7. Ezenkívül az alábbi lehetőségeket használhatjuk további biztonsági funkciók hozzáadásához az FTP-kiszolgálóhoz. A require_ssl_reuse=YES opcióval minden SSL-adatkapcsolatra szükség van az SSL-munkamenet újrafelhasználásának megjelenítéséhez; bizonyítva, hogy ugyanazt a főtitkot ismerik, mint a vezérlőcsatorna. Tehát le kell tiltanunk.

require_ssl_reuse=NO

Ezenkívül az ssl_ciphers opcióval beállíthatjuk, hogy a VSFTPD mely SSL titkosításokat engedélyezze a titkosított SSL kapcsolatokhoz. Ez segít meghiúsítani azon támadók minden erőfeszítését, akik megpróbálnak rákényszeríteni egy adott titkosítást, amelyen esetleg sebezhetőséget fedeztek fel:

ssl_ciphers=HIGH

8. Ezután határozza meg a passzív portok porttartományát (min. és max. port).

pasv_min_port=40000
pasv_max_port=50000

9. Az SSL hibakeresés engedélyezéséhez, ami azt jelenti, hogy az openSSL-kapcsolat diagnosztikája a VSFTPD naplófájlba kerül rögzítésre, használhatjuk a debug_ssl opciót:

debug_ssl=YES

Végül mentse a fájlt, és zárja be. Ezután indítsa újra a VSFTPD szolgáltatást:

systemctl restart vsftpd

3. lépés: Ellenőrizze az FTP-t SSL/TLS-kapcsolatokkal az Ubuntu rendszeren

10. Az összes fenti konfiguráció végrehajtása után tesztelje, hogy a VSFTPD most használ-e SSL/TLS kapcsolatokat. Ehhez próbálja meg az FTP-t a parancssorból az alábbiak szerint.

Az alábbi kimenetből egy hibaüzenet jelenik meg, amely azt mondja, hogy a VSFTPD csak (nem névtelen) felhasználók számára engedélyezheti a titkosítási szolgáltatásokat támogató biztonságos kliensekből történő bejelentkezést.

ftp 192.168.56.10
Connected to 192.168.56.10  (192.168.56.10).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:root) : ravi
530 Non-anonymous sessions must use encryption.
Login failed.
421 Service not available, remote server has closed connection
ftp>

A parancssor nem támogatja a titkosítási szolgáltatásokat, ami a fenti hibát eredményezi. Ezért ahhoz, hogy biztonságosan csatlakozhassunk egy engedélyezett titkosítási szolgáltatással rendelkező FTP-kiszolgálóhoz, olyan FTP-kliensre van szükségünk, amely alapértelmezés szerint támogatja az SSL/TLS-kapcsolatokat, például a FileZilla-t.

4. lépés: Telepítse a FileZillát az ügyfeleken az FTP biztonságos csatlakoztatásához

A FileZilla egy hatékony, széles körben használt platformfüggetlen FTP-kliens, amely támogatja az SSL/TLS-en keresztüli FTP-t és még sok mást. A FileZilla Linux kliensgépre történő telepítéséhez használja a következő parancsot.

--------- On Debian/Ubuntu ---------
sudo apt-get install filezilla   

--------- On CentOS/RHEL/Fedora --------- 
yum install epel-release filezilla

--------- On Fedora 22+ --------- 
sudo dnf install filezilla

12. Ha a telepítés befejeződött, nyissa meg, és lépjen a File=>Webhelyek kezelőjébe vagy (nyomja le a Ctrl+S billentyűt) a >Webhelykezelő felület alatt.

13. Most adja meg a gazdagép/webhely nevét, adja hozzá az IP-címet, határozza meg a használandó protokollt, a titkosítást és a bejelentkezés típusát az alábbi képernyőképen látható módon (az Ön forgatókönyvére érvényes értékeket használjon):

Kattintson az Új webhely gombra egy új webhely/gazdakapcsolat konfigurálásához.

Host:  192.168.56.10
Protocol:  FTP – File Transfer Protocol
Encryption:  Require explicit FTP over   #recommended 
Logon Type: Ask for password	        #recommended 
User: username

14. Ezután kattintson a Csatlakozás lehetőségre a fenti felületen a jelszó megadásához, majd ellenőrizze az SSL/TLS kapcsolathoz használt tanúsítványt, és kattintson még egyszer az OK gombra az FTP-szerverhez való csatlakozáshoz:

15. Most már sikeresen be kellett jelentkeznie az FTP-kiszolgálóra TLS-kapcsolaton keresztül. További információkért tekintse meg a kapcsolat állapota szakaszt az alábbi felületen.

16. Végül vigyük át a fájlokat a helyi gépről az FTP-szerverre a Fájlok mappában, vessünk egy pillantást a FileZilla felület alsó végére, ahol megtekinthetjük a fájlátvitelről szóló jelentéseket.

Ez minden! Mindig ne feledje, hogy egy FTP-kiszolgáló telepítése a titkosítási szolgáltatások engedélyezése nélkül bizonyos biztonsági következményekkel jár. Amint azt ebben az oktatóanyagban elmagyaráztuk, beállíthat egy FTP-kiszolgálót SSL/TLS-kapcsolatok használatára az Ubuntu 16.04/16.10 biztonságának megvalósításához.

Ha bármilyen problémába ütközik az SSL/TLS FTP-kiszolgálón történő beállítása során, használja az alábbi megjegyzés űrlapot, és ossza meg problémáit vagy gondolatait ezzel az oktatóanyaggal/témával kapcsolatban.