Biztonságos ProFTPD-kapcsolatok TLS/SSL protokoll használatával RHEL/CentOS 7 rendszeren
Az FTP protokollt természeténél fogva nem biztonságos protokollnak tervezték, és minden adatot és jelszót egyszerű szövegben továbbítanak, így egy harmadik fél feladata nagyon egyszerűvé válik az összes FTP kliens-szerver tranzakció lehallgatása, különösen a felhasználónevek és a hitelesítési folyamatban használt jelszavak.
Követelmények
- A ProFTPD Server telepítése RHEL/CentOS 7 rendszeren
- Engedélyezze a névtelen fiókot a Proftpd-kiszolgálóhoz az RHEL/CentOS 7 rendszerben
Ez az oktatóanyag végigvezeti Önt, hogyan biztosíthatja és titkosíthatja az FTP kommunikációt a ProFTPd szerveren a CentOS/RHEL 7 rendszerben , a TLS (Transport Layer Security) használatával, explicit FTPS-kiterjesztéssel (gondoljon az FTPS-re úgy, mint a HTTPS-re a HTTP Protocol számára).
1. lépés: Hozzon létre Proftpd TLS-modul konfigurációs fájlt
1. Amint azt az Anonymous fiókkal kapcsolatos korábbi Proftpd-oktatóanyagban tárgyaltuk, ez az útmutató is ugyanezt a megközelítést alkalmazza a Proftpd jövőbeli konfigurációs fájljainak modulként történő kezeléséhez, az enabled_mod és a < segítségével. b>disabled_mod könyvtárak, amelyek a szerver összes kiterjesztett képességét tárolják.
Tehát hozzon létre egy új fájlt kedvenc tls.conf nevű szövegszerkesztőjével a disabled_mod Proftpd elérési útjában, és adja hozzá a következő direktívákat.
nano /etc/proftpd/disabled_mod/tls.conf
Adja hozzá a következő TLS-fájl konfigurációs kivonatot.
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
#TLSCACertificateFile /etc/ssl/certs/CA.pem
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off
TLSRequired on
TLSRenegotiate required on
</IfModule>
2. Ha olyan böngészőket vagy FTP-klienseket használ, amelyek nem támogatják a TLS-kapcsolatokat, írjon megjegyzést a TLSRquired on sorba, hogy egyszerre engedélyezze a TLS- és a nem TLS-kapcsolatokat, és kerülje el az alábbi képernyőképen látható hibaüzenetet.
2. lépés: Hozzon létre SSL-tanúsítványfájlokat a TLS-hez
3. Miután létrehozta a TLS-modul konfigurációs fájlját. amely lehetővé teszi az FTP over TLS-t a Proftpd-n, SSL-tanúsítványt és -kulcsot kell generálnia a ProFTPD-kiszolgálón keresztüli biztonságos kommunikáció használatához az OpenSSL csomag segítségével.
yum install openssl
Egyetlen hosszú paranccsal is létrehozhat SSL-tanúsítvány- és kulcspárokat, de az egyszerűsítés érdekében létrehozhat egy egyszerű bash-szkriptet, amely SSL-párokat generál a kívánt névvel, és hozzárendeli a megfelelő engedélyeket a kulcsfájlhoz.
Hozzon létre egy proftpd_gen_ssl nevű bash fájlt a /usr/local/bin/ címen vagy bármely más végrehajtható rendszerútvonalon (a ` PATH változó határozza meg ).
nano /usr/local/bin/proftpd_gen_ssl
Adja hozzá a következő tartalmat.
#!/bin/bash
echo -e "\nPlease enter a name for your SSL Certificate and Key pairs:"
read name
openssl req -x509 -newkey rsa:1024 \
-keyout /etc/ssl/private/$name.key -out /etc/ssl/certs/$name.crt \
-nodes -days 365\
chmod 0600 /etc/ssl/private/$name.key
4. Miután létrehozta a fenti fájlt, rendelje hozzá végrehajtási jogosultságokkal, győződjön meg arról, hogy létezik az /etc/ssl/private könyvtár, és futtassa a szkriptet az SSL-tanúsítvány és -kulcs létrehozásához. párok.
chmod +x /usr/local/bin/proftpd_gen_ssl
mkdir -p /etc/ssl/private
proftpd_gen_ssl
Adja meg az SSL-tanúsítványt a szükséges kért információkkal, amelyek magától értetődőek, de ügyeljen a közönséges névre, hogy megfeleljen a gazdagépnek teljesen minősített tartománynévnek – FQDN b>.
3. lépés: Engedélyezze a TLS-t a ProFTPD szerveren
5. Mivel a korábban létrehozott TLS-konfigurációs fájl már a megfelelő SSL-tanúsítvány- és kulcsfájlra mutat, csak a TLS-modul aktiválása maradt hátra a szimbolikus hivatkozás létrehozásával. >tls.conf fájlt az enabled-mod könyvtárba, és indítsa újra a ProFTPD démont a változtatások alkalmazásához.
ln -s /etc/proftpd/disabled_mod/tls.conf /etc/proftpd/enabled_mod/
systemctl restart proftpd
6. A TLS-modul letiltásához egyszerűen távolítsa el a tls.conf szimbolikus hivatkozást az enabled_mod könyvtárból, és indítsa újra a ProFTPD-kiszolgálót a módosítások alkalmazásához.
rm /etc/proftpd/enabled_mod/tls.conf
systemctl restart proftpd
4. lépés: Nyissa meg a tűzfalat, hogy engedélyezze az FTP over TLS kommunikációt
7. Ahhoz, hogy az ügyfelek hozzáférhessenek a ProFTPD-hez és biztonságos átviteli fájlokhoz Passzív módban, meg kell nyitnia a teljes porttartományt 1024 és között. 65534 az RHEL/CentOS tűzfalon, a következő parancsok használatával.
firewall-cmd --add-port=1024-65534/tcp
firewall-cmd --add-port=1024-65534/tcp --permanent
firewall-cmd --list-ports
firewall-cmd --list-services
firewall-cmd --reload
Ez az. Most a rendszer készen áll a kliens oldalról TLS-en keresztüli FTP-kommunikáció fogadására.
5. lépés: A ProFTPD elérése TLS-en keresztül az ügyfelektől
8. A webböngészők általában nem támogatják az FTP over TLS protokollt, így minden tranzakció nem titkosított FTP-n keresztül történik. Az egyik legkiválóbb FTP-kliens a FileZilla, amely teljesen nyílt forráskódú, és szinte minden nagyobb operációs rendszeren fut.
Az FTP TLS-n keresztüli eléréséhez a FileZillából nyissa meg a Helykezelőt, válassza az FTP lehetőséget a Protokoll menüben, és az Explicit FTP megkövetelése TLS-en keresztül lehetőségnél Titkosítás legördülő menüből válassza ki a Bejelentkezési típust Normálként, adja meg FTP hitelesítő adatait, és nyomja meg a Csatlakozás gombot a kommunikációhoz. a szerverrel.
9. Ha először csatlakozik a ProFTPD szerverhez, egy előugró ablaknak kell megjelennie az új tanúsítvánnyal, jelölje be a jelölőnégyzetet, amely szerint A tanúsítvány mindig megbízható a jövőben munkameneteket, és nyomja meg az OK gombot a tanúsítvány elfogadásához és a ProFTPD-kiszolgáló hitelesítéséhez.
Ha a FileZillán kívül más ügyfeleket is szeretne használni az FTP-erőforrások biztonságos eléréséhez, győződjön meg arról, hogy támogatják az FTP over TLS protokollt. Néhány jó példa az FTPS-t beszélő FTP-kliensekre a WinSCP Windows platformokhoz és a gFTP vagy az LFTP (parancssor) NIX-hez.