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
- 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.