Přenos souborů přes FTP (File Transfer Protocol) je pravděpodobně stále jedním z nejoblíbenějších způsobů nahrávání souborů na server. ProFTPD je oblíbený a všestranný FTP server, který je dostupný jako software s otevřeným zdrojovým kódem a podporuje TLS (SSL) pro zabezpečené připojení.
Ve výchozím nastavení je FTP nezabezpečeným protokolem, protože hesla a data jsou přenášena jako prostý text. Pomocí protokolu TLS, jak to děláme v této příručce, lze veškerou komunikaci šifrovat, čímž je FTP bezpečnější.
Tento článek popisuje jak nakonfigurovat proftpd s TLS na serveru Ubuntu 20.04 LTS .
Předpoklady
- Ubuntu Server 20.04 64bit
- práva sudo/root
Co budeme dělat v tomto tutoriálu
- Nainstalujte ProFTPD a TLS.
- Nakonfigurujte ProFTPD.
- Přidejte uživatele FTP.
- Nakonfigurujte TLS v ProFTPD.
- Testování.
Nainstalujte Proftpd a OpenSSL
Proftpd a OpenSSL jsou k dispozici v úložišti Ubuntu, takže je můžeme nainstalovat pomocí příkazu apt:
sudo apt-get install -y proftpd openssl
ProFTPD se nainstaluje, jak je znázorněno níže. Instalační proces nebude vyžadovat žádný vstup.
Nyní ověříme, že proFTPD byl nainstalován a spuštěn. Spusťte tento příkaz:
sudo proftpd --version
pro kontrolu nainstalované verze ProFTPD. Dále zkontrolujeme stav služby, zeptáme se jej příkazem systemctl:
sudo systemctl status proftpd
Konfigurace ProFTPD
Jakmile je ProFTPD nainstalován, budete muset upravit konfiguraci tak, aby byl plně funkční a bezpečný server. Konfigurační soubor ProFTPD se nachází v adresáři /etc/proftpd/ – upravte soubor proftpd.conf.
sudo nano /etc/proftpd/proftpd.conf
V řádku Servername nahraďte hodnotu svým názvem hostitele nebo doménou :
Název serveru "Můj FTP server"
Odkomentováním řádku DefaultRoot povolíte vězení pro všechny uživatele:
DefaultRoot ~
a restartujte ProFTPD pomocí příkazu systemctl následujícím způsobem.
sudo systemctl restart proftpd
Přidat uživatele FTP
K dispozici jsou dva typy uživatelů FTP, anonymní uživatel FTP a „normální“ uživatelé FTP:
- Anonymní FTP : FTP server poskytuje přístup komukoli, aniž by musel mít uživatelský účet a heslo. Toto by nemělo být používáno na veřejně dostupném serveru, ale může to být volba pro domácí server nebo firemní LAN.
- Uživatel FTP :K FTP serveru mají přístup pouze uživatelé, kteří mají uživatelský účet a heslo.
Než vytvoříte uživatele pro FTP server, přidejte /bin/false do svého souboru /etc/shells.
sudo echo "/bin/false">> /etc/shells
A nyní vytvořte uživatele s konkrétním domovským adresářem, zakažte přístup k shellu a poté jej udělte FTP serveru.
sudo useradd -m -s /bin/false tomsudo passwd tom
Výše uvedený příkaz vytvoří nového uživatele s názvem tom s domovským adresářem /home/tom/ a bez přístupu k shellu /bin/false.
Nyní nakonfigurujte ProFTPD tak, aby umožňoval uživateli tom přístup k serveru FTP.
sudo nano /etc/proftpd/conf.d/tom.conf
Přidejte tento konfigurační soubor, aby se uživatel tom mohl přihlásit a nahrát/stáhnout soubor na/ze serveru:
Umask 022 022 AllowOverwrite off AllowUser tom DenyALL Order Allow,Deny AllowUser tom Deny ALL AllowUser tom Deny ALL
Soubor bude vypadat takto:
Uložte soubor a ukončete nano. Poté restartujte ProFTPD.
sudo systemctl restart proftpd
V této fázi již můžete používat FTP, ale v dalším kroku jej zajistíme bezpečnějším použitím TLS.
Nakonfigurujte TLS pomocí proftpd
Chcete-li používat TLS, musíte vytvořit certifikát SSL. Vygenerujte certifikát SSL pomocí příkazu OpenSSL :
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Výše uvedený příkaz vygeneruje soubor certifikátu proftpd.crt v adresáři /etc/ssl/certs/ a soubor klíče certifikátu proftpd.key v adresáři /etc/ssl/private/.
Dále změňte oprávnění souboru certifikátu na 600:
sudo chmod 600 /etc/ssl/certs/proftpd.crtsudo chmod 600 /etc/ssl/private/proftpd.key
Nyní se vraťte do adresáře /etc/proftpd a nakonfigurujte ProFTPD tak, aby používal SSL certifikát, který jste vygenerovali.
nano /etc/proftpd/proftpd.conf
Odkomentujte řádek TLS:
Zahrňte /etc/proftpd/tls.conf
Uložte soubor tls.conf a ukončete jej.
Dále upravte konfigurační soubor TLS, abyste povolili zabezpečené ověřování:
nano /etc/proftpd/tls.conf
Odkomentujte všechny tyto řádky:
TLSEengine onTLSLog /var/log/proftpd/tls.logTLSProtocol SSLv23TLSRSACertificateFile /etc/ssl/certs/proftpd.crtTLSRSACertificateKeyFile /etc/ssl/private/proftpd.keyRTifyClIARequestableDSRRequiresNoptionsUložit a odejít. Posledním krokem je restartování serveru ProFTPD:
sudo systemctl restart proftpdTestování ProFTPD
Chcete-li otestovat konfiguraci, zkuste se připojit k serveru FTP pomocí softwaru, jako je FileZilla (používám FileZilla zde) a vyplňte IP adresu serveru, uživatelské jméno, heslo a port:
IP serveru:192.168.0.100uživatelské jméno:tomPassword ******Port:21A pak klikněte na Quickconnect.
Kliknutím na „OK“ potvrďte náš certifikát SSL s vlastním podpisem.
Uvidíte, že jste byli přihlášeni k serveru FTP pomocí certifikátu TLS/SSL.
Odkazy
- Softwarový projekt ProFTPD. Odkaz