Úvod
Pokud chcete nainstalovat server FTP na Ubuntu, nemůžete porazit jednoduchost vsftpd.
FTP je zkratka pro File Transfer Protocol. Je podobný HTTP (HyperText Transfer Protocol) v tom, že určuje jazyk pro přenos dat po síti. FTP je ve výchozím nastavení nešifrovaný, takže sám o sobě není dobrou volbou pro bezpečný přenos dat.
Tato příručka vám pomůže nainstalovat a nakonfigurovat FTP server s vsftpd na Ubuntu.
Předpoklady
- Přístup k uživatelskému účtu pomocí sudo privilegia
- Přístup k oknu terminálu/příkazovému řádku (Ctrl-Alt-T)
- apt správce balíčků, který je standardně součástí
Krok 1:Aktualizace systémových balíčků
Začněte aktualizací svých úložišť – do okna terminálu zadejte následující:
sudo apt update
Systém pokračuje v aktualizaci úložišť.
Krok 2:Instalace serveru vsftpd na Ubuntu
Běžný open-source FTP nástroj používaný v Ubuntu je vsftpd . Doporučuje se pro snadné použití.
1. Chcete-li nainstalovat vsftpd , zadejte příkaz:
sudo apt install vsftpd
Toto je příklad výstupu v Ubuntu.
2. Chcete-li službu spustit a povolit při spuštění, spusťte příkazy:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Krok 3:Zálohování konfiguračních souborů
Před provedením jakýchkoli změn se ujistěte, že máte zálohované konfigurační soubory.
1. Vytvořte záložní kopii výchozího konfiguračního souboru zadáním následujícího:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default
Krok 4:Vytvořte uživatele FTP
Vytvořte nového uživatele FTP pomocí následujících příkazů:
sudo useradd -m testuser
sudo passwd testuser
Systém by vás měl požádat o vytvoření hesla pro nového testusera účet.
Krok 5:Nakonfigurujte bránu firewall pro povolení provozu FTP
Pokud používáte UFW, který je standardně dodáván s Ubuntu, bude ve výchozím nastavení blokovat provoz FTP. Zadáním následujících příkazů otevřete Porty 20 a 21 pro provoz FTP:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
Krok 6:Připojte se k serveru FTP Ubuntu
Připojte se k serveru FTP pomocí následujícího příkazu:
sudo ftp ubuntu-ftp
Nahraďte ubuntu-ftp s názvem vašeho systému (převzato z příkazového řádku).
Přihlaste se pomocí testovacího uživatele účet a heslo, které jste právě nastavili. Nyní byste měli být úspěšně přihlášeni k vašemu FTP serveru.
Konfigurace a zabezpečení serveru Ubuntu vsftpd
Změnit výchozí adresář
Ve výchozím nastavení používá server FTP /srv/ftp adresář jako výchozí adresář. Můžete to změnit vytvořením nového adresáře a změnou domovského adresáře uživatele FTP.
Chcete-li změnit domovský adresář FTP, zadejte následující:
sudo mkdir /srv/ftp/new_location
sudo usermod -d /srv/ftp/new_location ftp
Restartujte vsftpd služby pro použití změn:
sudo systemctl restart vsftpd.service
Nyní můžete do /srv/ftp vložit jakékoli soubory, které chcete sdílet přes FTP složku (pokud jste ji ponechali jako výchozí) nebo /srv/ftp/new_location / adresář (pokud jste jej změnili).
Ověření uživatelů FTP
Pokud chcete umožnit ověřeným uživatelům nahrávat soubory, upravte soubor vsftpd.conf soubor zadáním následujícího:
sudo nano /etc/vsftpd.conf
Najděte záznam s označením write_enable=NO a změňte hodnotu na „ANO .“
Uložte soubor, ukončete a restartujte službu FTP následujícím způsobem:
sudo systemctl restart vsftpd.service
To umožňuje uživateli provádět změny ve svém domovském adresáři.
Zabezpečení FTP
Nezabezpečené FTP servery využívají četné exploity. V reakci na to existuje několik možností konfigurace v vsftpd.conf které mohou pomoci zabezpečit váš FTP server.
Omezit přístup uživatele
Jednou z metod je omezit uživatele na jejich domovský adresář. Otevřete vsftpd.conf v editoru a odkomentujte následující příkaz:
chroot_local_user=YES
Toto je příklad souboru v nano :
Vytvořte soubor seznamu uživatelů
Chcete-li vytvořit soubor seznamu, upravte /etc/vsftpd.chroot_list a přidejte jednoho uživatele na řádek.
Dejte svému FTP serveru pokyn, aby omezil tento seznam uživatelů na jejich vlastní domovské adresáře úpravou vsftpd.conf :
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
Obrázek ilustruje provedené úpravy:
Restartujte vsftpd služba:
sudo systemctl restart vsftpd.service
Ve výchozím nastavení je seznam blokovaných uživatelů z přístupu FTP uložen v /etc/ftpusers . Chcete-li přidat blokované uživatele, upravte tento soubor a přidejte jednoho uživatele na řádek.
Šifrovat provoz pomocí FTPS
Další metodou zabezpečení vašeho FTP serveru je šifrování provozu. To se provádí pomocí FTPS – Protokol přenosu souborů přes SSL (Secure Socket Layer).
Aby to fungovalo, uživatelé musí mít na FTP serveru nastaven účet shellu. To přidá vrstvu zabezpečeného šifrování k vašemu FTP provozu.
1. Začněte vytvořením nového certifikátu pomocí openssl. Chcete-li to provést, spusťte příkaz:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
2. Po zobrazení výzvy zadejte požadované informace nebo ponechte výchozí konfiguraci stisknutím Enter .
3. Dále otevřete soubor vsftpd.conf soubor v editoru a změňte řádek ssl_enable=NO
na ssl_enable=YES
:
ssl_enable=YES
4. Poté přidejte následující řádky:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_min_port=40000
pasv_max_port=50000
5. Uložte změny a ukončete soubor.
6. Nakonec restartujte službu, aby se změny projevily:
sudo systemctl restart vsftpd.service