Vyhledávání na webu

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.

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

  1. req – je příkaz pro správu žádosti o podpis certifikátu X.509 (CSR).
  2. x509 – znamená správu dat certifikátu X.509.
  3. dny – definuje počet dní platnosti certifikátu.
  4. nový klíč – určuje procesor klíče certifikátu.
  5. rsa:2048 – procesor klíče RSA, vygeneruje 2048bitový soukromý klíč.
  6. keyout – nastavuje soubor úložiště klíčů.
  7. 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.