GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte Vsftpd s SSL/TLS na Ubuntu 20.04

Vsftpd (tj. velmi bezpečný FTP démon) je software FTP serveru pro Linux a další systémy podobné Unixu. Software FTP serveru usnadňuje přenos souborů z klientského počítače na server a naopak.

V tomto tutoriálu se dozvíte, jak instalovat Vsftpd na Ubuntu 20.04 a povolit bezpečný přenos souborů (FTPS) přes SSL/TLS.

Předpoklady

  • Systém Linux Ubuntu 20.04
  • Uživatel s funkcí sudo
  • Klient FTP s povoleným SSL, jako je FileZilla

Nainstalujte Vsftpd na Ubuntu

Vsftpd je k dispozici ve výchozím úložišti balíčků Ubuntu. Můžete začít aktualizací dostupných balíčků pomocí příkazu níže.

Aktualizace $ sudo apt

Dále spusťte následující příkaz k instalaci Vsftpd.

$ sudo apt install vsftpd

Zadejte y pokud budete vyzváni k pokračování v instalaci.

Jakmile je Vsftpd úspěšně nainstalován, můžete zkontrolovat verzi pomocí příkazu níže.

$ vsftpd -v

Také ověřte stav serveru Vsftpd následovně.

$ sudo systemctl status vsftpd

vsftpd služba by již měla být aktivní. Stiskněte q pro návrat do příkazového řádku.

Pokud služba vsftpd ještě není aktivní, můžete ji spustit dalším příkazem.

$ sudo systemctl start vsftpd

Nakonfigurujte Vsftpd

Existuje mnoho možností, které můžete nakonfigurovat pro vsftpd, ale v tomto tutoriálu prozkoumáme pouze základy. Otevřete konfigurační soubor vsftpd pomocí následujícího příkazu.

$ sudo nano /etc/vsftpd.conf

Uvidíte, že různé možnosti vsftpd jsou dobře vysvětleny v konfiguračním souboru. Stačí si přečíst pokyny, abyste pochopili, co chcete povolit nebo zakázat. Níže je uvedeno několik příkladů.

Nakonfigurujte anonymní FTP přístup

Ve výchozím nastavení je anonymní FTP zakázáno. Doporučujeme ponechat toto výchozí nastavení tak, jak je. Pokud však z nějakého důvodu chcete povolit anonymní přístup FTP pro účely testování, změňte hodnotu parametru anonymous_enable možnost od NE do ANO.

Prozatím to nechte tak, jak je.

Povolit místním uživatelům přihlášení

Ve výchozím nastavení se místní uživatelé mohou přihlásit. Pokud chcete místním uživatelům zabránit v přihlášení k serveru Vsftpd, změňte hodnotu local_enable z ANO na NE.

Můžete také povolit pouze určitým místním uživatelům přihlášení k serveru Vsftpd. Chcete-li to provést, ujistěte se, že local_enable je nastavte na ANO.

Poté přidejte následující řádky.

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO 

Uložte a zavřete soubor vsftpd.conf.

Dále vytvořte soubor se seznamem uživatelů pomocí dalšího příkazu a zadejte povoleného uživatele po jednom na řádek.

$ sudo nano /etc/vsftpd.userlist

Uložte a zavřete soubor seznamu uživatelů.

Restartujte vsftpd pomocí:

$ sudo systemctl restart vsftpd

Povolit příkaz FTP zápisu

Chcete-li uživatelům FTP umožnit vytvářet, mazat, přejmenovávat a ukládat soubory, zrušte označení write_enable a ujistěte se, že je nastavena na ANO.

Než půjdeme dále, přihlaste se k serveru Vsftpd a ověřte, že funguje. Prozatím uložte všechny změny a zavřete konfigurační soubor vsftpd.

Přihlaste se k serveru Vsftpd

Za tímto účelem vytvořte testovacího uživatele a přiřaďte mu heslo následovně.

$ sudo useradd -m myftpuser
$ sudo passwd myftpuser

Poznámka: Pokud jste povolili seznam uživatelů vsftpd dříve, nezapomeňte odpovídajícím způsobem přidat uživatele ftp do /etc/vsftpd.userlist. Ve výchozím nastavení mají uživatelé přístup ssh, doporučuje se zakázat uživatelům FTP přístup k shellu.

Nyní spusťte FTP klienta s povoleným SSL, jako je FileZilla, a poté se přihlaste pomocí nově vytvořeného testovacího uživatele.

V mém případě mě FileZilla upozornila, že server je nezabezpečený, protože nepodporuje FTP přes TLS.

Zrušte připojení. Pojďme to opravit v další sekci.

Povolte SSL/TLS pro bezpečný přenos souborů

Chcete-li povolit bezpečný přenos souborů prostřednictvím TLS, postupujte následovně.

Nejprve otevřete konfigurační soubor vsftpd pomocí příkazu níže.

$ sudo nano /etc/vsftpd.conf

Dále vyhledejte rsa_cert_file a rsa_private_key_file možnosti a aktualizujte hodnoty, jak je uvedeno níže.

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

Hledejte také ssl_enable a změňte hodnotu na YES.

ssl_enable=YES 

Uložte a zavřete konfigurační soubor vsftpd.

Vygenerujte soukromý klíč a certifikát

Nyní byste museli vytvořit soukromý klíč a vygenerovat certifikát TLS/SSL pomocí openssl. Pokud máte doménu směřující na FTP server, můžete použít bezplatný certifikát SSL Let's Encrypt.

Chcete-li vygenerovat soukromý klíč, spusťte:

$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key

Dále vygenerujte žádost o podpis certifikátu pomocí příkazu níže. Budete vyzváni k zadání některých informací, jako je vaše země, město, e-mailová adresa atd. Přečtěte si prosím pozorně pokyny.

$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr

Nyní vygenerujte a podepište certifikát, který bude platný po dobu 365 dní, a to následovně.

$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem 

Restartujte vsftpd pomocí:

$ sudo systemctl restart vsftpd

Zkuste se znovu připojit k serveru Vsftpd.

FileZilla se tentokrát jistě dokázala bezpečně připojit přes TLS. Můžete si bezpečně vybrat možnost vždy tomuto certifikátu důvěřovat v budoucích relacích. Poté klikněte na OK pokračovat v připojení.

Pokud se pokusíte připojit k FTP serveru přes příkazový řádek, který nepodporuje FTP přes TLS, zobrazí se chyba. Například:

$ ftp 192.168.100.168

Toto je další důkaz, že váš server Vsftpd je skutečně povolen pro bezpečný přenos souborů přes TLS.

Závěr

V tomto tutoriálu jsme vám ukázali, jak nainstalovat server Vsftpd na Ubuntu 20.04. Popsali jsme také, jak povolit bezpečný přenos souborů přes protokol TLS. V tomto článku jsme se zabývali pouze základními možnostmi Vsftpd, ale další možnosti můžete prozkoumat na manuálové stránce možností konfigurace vsftpd.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat FTP server (vsftpd) s SSL/TLS na Ubuntu 20.04

  2. Nainstalovat Vsftpd s SSL / TLS na Ubuntu 20.04 - Nejlepší postup?

  3. Nainstalujte VSFTPD na Ubuntu 16.04

  1. Jak nainstalovat FTP server na CentOS 7 s VSFTPD

  2. Jak nainstalovat FTP server na Ubuntu s vsftpd

  3. Nainstalujte Vsftpd s SSL/TLS na Ubuntu 20.04

  1. Jak nastavit FTP server s VSFTPD na Ubuntu 20.04

  2. Jak nastavit FTP server s VSFTPD na Ubuntu 18.04

  3. Jak nainstalovat Proftpd s TLS na Ubuntu 15.04