Nastavte zabezpečený FTP přenos souborů pomocí SSL/TLS v RHEL 8
V našem posledním článku jsme podrobně popsali, jak nainstalovat a nakonfigurovat FTP server v RHEL 8 Linuxu. V tomto článku vysvětlíme, jak zabezpečit FTP server pomocí SSL/TLS, aby bylo možné povolit služby šifrování dat pro bezpečný přenos souborů mezi systémy.
Doufáme, že již máte FTP server nainstalován a správně běží. Pokud ne, použijte k instalaci do vašeho systému následující průvodce.
- Jak nainstalovat, nakonfigurovat a zabezpečit FTP server v RHEL 8
Krok 1. Vygenerování certifikátu SSL/TLS a soukromého klíče
1. Vytvořte následující adresář pro uložení souborů certifikátu SSL/TLS a klíčů.
mkdir -p /etc/ssl/vsftpd
2. Dále pomocí následujícího příkazu vygenerujte certifikát SSL/TLS a soukromý klíč podepsaný svým držitelem.
openssl req -x509 -nodes -keyout /etc/ssl/vsftpd/vsftpd.pem -out /etc/ssl/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048
Následuje vysvětlení každého příznaku použitého ve výše uvedeném příkazu.
- req – je příkaz pro správu žádosti o podpis certifikátu X.509 (CSR).
- x509 – znamená správu dat certifikátu X.509.
- dny – definuje počet dní platnosti certifikátu.
- nový klíč – určuje procesor klíče certifikátu.
- rsa:2048 – procesor klíče RSA, vygeneruje 2048bitový soukromý klíč.
- keyout – nastavuje soubor úložiště klíčů.
- out – nastavuje soubor úložiště certifikátu, všimněte si, že certifikát i klíč jsou uloženy ve stejném souboru: /etc/ssl/vsftpd/vsftpd.pem.
Výše uvedený příkaz vás vyzve k zodpovězení následujících otázek, nezapomeňte použít hodnoty, které platí pro váš scénář.
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
Krok 2. Konfigurace VSFTPD pro použití SSL/TLS
3. Otevřete konfigurační soubor VSFTPD pro úpravy pomocí oblíbeného editoru příkazového řádku.
vi /etc/vsftpd/vsftpd.conf
Chcete-li povolit SSL, přidejte následující konfigurační parametry a na konci souboru vyberte verzi SSL a TLS, kterou chcete použít.
ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO
4. Dále přidejte možnosti rsa_cert_file a rsa_private_key_file, abyste určili umístění certifikátu SSL a souboru klíče.
rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem
5. Nyní přidejte tyto parametry, abyste zakázali anonymním připojením používat SSL a vynutili všechna neanonymní připojení přes SSL.
allow_anon_ssl=NO # disable anonymous users from using SSL
force_local_data_ssl=YES # force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES # force all non-anonymous logins to send the password over SSL
6. Poté přidejte tyto možnosti, chcete-li zakázat veškeré opětovné použití datových připojení SSL a nastavit šifry SSL na hodnotu HIGH, aby povolily šifrovaná připojení SSL.
require_ssl_reuse=NO
ssl_ciphers=HIGH
7. Musíte také určit rozsah portů (minimální a maximální port) pasivních portů, které má vsftpd používat pro zabezpečená připojení, pomocí pasv_min_port a pasv_max_port parametry. Kromě toho můžete volitelně povolit ladění SSL pro účely odstraňování problémů pomocí možnosti debug_ssl.
pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES
8. Nakonec uložte soubor a restartujte službu vsftpd, aby se výše uvedené změny projevily.
systemctl restart vsftpd
9. Ještě jeden důležitý úkol, který je třeba provést, než budete moci bezpečně přistupovat k serveru FTP, je otevřít porty 990 a 40000-50000 v systému. firewall. To umožní připojení TLS ke službě vsftpd a otevře rozsah portů pasivních portů definovaných v konfiguračním souboru VSFTPD následovně.
firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload
Krok 3: Nainstalujte FileZilla pro bezpečné připojení k FTP serveru
10. Chcete-li se bezpečně připojit k serveru FTP, potřebujete klienta FTP, který podporuje připojení SSL/TLS, jako je FileZilla – je open source , široce používaný klient FTP, SFTP a FTPS pro více platforem, který ve výchozím nastavení podporuje připojení SSL/TLS.
Nainstalujte FileZilla v systému Linux pomocí výchozího správce balíčků takto:
sudo apt-get install filezilla #Debian/Ubuntu
yum install epel-release filezilla #On CentOS/RHEL
dnf install filezilla #Fedora 22+
sudo zypper install filezilla #openSUSE
11. Po instalaci balíčku Filezilla jej vyhledejte v systémové nabídce a otevřete jej. Pro rychlé připojení ke vzdálenému FTP serveru z hlavního rozhraní zadejte IP adresu hostitele, uživatelské jméno a heslo uživatele. Poté klikněte na QuickConnect.
12. Poté vás aplikace požádá o povolení zabezpečeného připojení pomocí neznámého certifikátu s vlastním podpisem. Pokračujte kliknutím na OK.
Pokud je konfigurace na serveru v pořádku, mělo by být připojení úspěšné, jak ukazuje následující snímek obrazovky.
13. Nakonec otestujte stav zabezpečeného připojení FTP pokusem o nahrání souborů z vašeho počítače na server, jak je znázorněno na dalším snímku obrazovky.
To je vše! V tomto článku jsme si ukázali, jak zabezpečit FTP server pomocí SSL/TLS pro bezpečný přenos souborů v RHEL 8. Toto je druhá část našeho komplexního průvodce instalací, konfigurací a zabezpečením serveru FTP v RHEL 8. Chcete-li se podělit o jakékoli dotazy nebo myšlenky, použijte formulář zpětné vazby níže.