FTP , zkratka pro File Transfer Protocol , je protokol, který poskytuje přístup k souborům umístěným na serveru. Je to jeden z prvních protokolů, který uživatelům umožňoval stahovat soubory přes internet. S protokolem FTP mohou uživatelé snadno stahovat a nahrávat soubory na servery.
Vsftpd , zkratka pro Very Secure FTP daemon , je bezpečný FTP démon, který je upgradem protokolu FTP. Vynucuje zabezpečená připojení k FTP serverům šifrováním provozu odesílaného na server a ze serveru, a tím je přenos souborů zabezpečen a chráněn před hackery.
V tomto tématu se zaměřujeme na instalaci vsftpd na CentOS 8 / RHEL 8.
Krok 1) Nainstalujte vsftpd pomocí příkazu dnf
Hned na začátku nainstalujeme vsftpd. Abychom toho dosáhli, spustíme níže uvedený příkaz:
$ sudo dnf install vsftpd
Stiskněte tlačítko y “ a stiskněte ENTER pro zahájení instalace. Instalace trvá několik sekund a bude dokončena během okamžiku. Níže uvedený výstup potvrzuje, že vsftpd byl úspěšně nainstalován.
Výstup ukazuje, že jsme nainstalovali vsftpd verze 3.0.3-31.el8.x86_64. Chcete-li to potvrdit, proveďte následující příkaz:
[[email protected] ~]$ rpm -q vsftpd vsftpd-3.0.3-31.el8.x86_64 [[email protected] ~]$
Výstup by se měl shodovat s verzí vytištěnou na terminálu po úspěšné instalaci. Chcete-li získat podrobnější informace o Vsftpd, přidejte na konec příznak -i, jak je znázorněno:
$ rpm -qi vsftpd
Tím se na obrazovku vytisknou další informace, jako je architektura, datum instalace, licence a podpis.
S nainstalovaným vsftpd potřebujeme, aby byl spuštěn, aby se usnadnil přístup ke sdíleným souborům.
Chcete-li spustit službu vsftpd, spusťte příkaz:
$ sudo systemctl start vsftpd
Můžete také povolit automatické spouštění po restartu. Chcete-li toho dosáhnout, spusťte příkaz
$ sudo systemctl enable vsftpd --now
Chcete-li ověřit stav vsftpd ve vašem systému, spusťte:
$ sudo systemctl status vsftpd
Pokud vidíte „aktivní:(běží) ” zeleně, jak je uvedeno na terminálu, pak je služba vsftpd v provozu.
Krok 2) Vytvořte ftp uživatele a jeho adresář
Dále vytvoříme uživatele, kterého budeme používat pro přístup k FTP serveru. V tomto případě bude uživatel ftpuser, ale klidně dejte svému uživateli jméno podle svého výběru.
$ sudo adduser ftpuser $ sudo passwd ftpuser
Když je uživatel FTP na svém místě, budeme pokračovat a vytvoříme adresář FTP a přiřadíme následující oprávnění a vlastnictví adresáře.
$ sudo mkdir -p /home/ftpuser/ftp_dir $ sudo chmod -R 750 /home/ftpuser/ftp_dir $ sudo chown -R ftpuser: /home/ftpuser/ftp_dir
Také musíme přidat uživatele FTP do /etc/vsftpd/user_list soubor, který uživateli umožní přístup k serveru vsftp.
$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'
Krok 3) Nakonfigurujte vsftpd prostřednictvím jeho konfiguračního souboru
Zatím se nám podařilo nainstalovat a potvrdit, že vsftpd je funkční. Aby Vsftpd umožnil uživatelům přístup k serveru, jsou nutné další úpravy.
Výchozí konfigurační soubor pro vsftpd je soubor /etc/vsftpd/vsftpd.conf. Soubor je plný direktiv, které pomáhají posílit zabezpečení vašeho FTP serveru.
V této části provedeme několik úprav konfiguračního souboru a umožníme uživatelům přístup k serveru.
Chcete-li povolit místním uživatelům vzdálený přístup k serveru FTP a blokovat anonymní uživatele, ujistěte se, že máte uvedené direktivy:
anonymous_enable=NO local_enable=YES
Chcete-li uživatelům udělit práva ke spouštění jakéhokoli příkazu FTP a provádění změn, jako je nahrávání, stahování a mazání souborů, použijte následující řádek.
write_enable=YES
Z bezpečnostních důvodů se můžete rozhodnout omezit uživatelům přístup k souborům a adresářům mimo jejich domovské adresáře. Mějte proto zavedenou následující směrnici.
chroot_local_user=YES
Chcete-li uživatelům udělit přístup pro zápis do jejich příslušných domovských adresářů, ujistěte se, že máte tuto direktivu.
allow_writeable_chroot=YES
Dále se chystáme definovat vlastní porty pro povolení pasivních FTP připojení. V tomto případě uvedeme porty 30000 a 31000. Později je otevřeme na firewallu.
pasv_min_port=30000 pasv_max_port=31000
Dále povolíme pouze uživatele definované v /etc/vsftpd/user_list přístup na server a zablokovat zbytek. Chcete-li toho dosáhnout, použijte řádky níže.
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Nakonec soubor uložte a zavřete. Aby změny přetrvaly, restartujte službu Vsftpd.
$ sudo systemctl restart vsftpd
V tomto okamžiku můžete otestovat připojení FTP spuštěním
$ ftp ip-adresa
Zadejte uživatelské jméno uživatele ftp a později zadejte heslo. Měli byste získat výstup podle obrázku.
Přestože jsme vytvořili připojení k serveru vsftpd. Připojení není zabezpečené a odesílané informace jsou ve formátu prostého textu a nejsou zašifrovány. Proto musíme podniknout další kroky k šifrování komunikace odesílané na server.
Krok 4) Nakonfigurujte SSL / TLS pro vsftpd
Abychom zašifrovali komunikaci mezi serverem a klientským systémem, musíme vygenerovat certifikát TLS a později nakonfigurovat server, aby jej používal.
Chcete-li vygenerovat certifikát, spusťte níže uvedený příkaz:
$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Poté bude následovat řada výzev, kde budete muset uvést několik podrobností, jako je název země, stát nebo provincie a název organizace. Vyplňte všechny podrobnosti podle obrázku.
Také musíme serveru sdělit, kde jsou uloženy soubory certifikátů. Vraťte se tedy do konfiguračního souboru /etc/vsftpd/vsftpd.conf a zadejte cestu k souborům certifikátu.
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd.pem
A poté dejte serveru pokyn, aby zapnul SSL.
ssl_enable=YES
Uložte a ukončete konfigurační soubor. Chcete-li, aby se výše uvedené změny projevily, restartujte službu vsftpd
$ sudo systemctl restart vsftpd
Krok 5) Povolte porty ftp serveru (vsftpd) ve bráně firewall
Pokud používáte firewall, musíte povolit tyto hlavní porty”
- 20 – povolení provozu FTP
- 21 – Datový port FTP
- 30000-31000 – Umožňuje pasivní komunikaci se serverem FTP.
Proto spusťte níže uvedené příkazy:
$ sudo firewall-cmd --permanent --add-port=20-21/tcp $ sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Poté znovu načtěte firewall, aby se změny projevily.
$ sudo firewall-cmd --reload
Krok 6) Otestujte svůj server vsftpd nebo FTP
Po dokončení všech nastavení je čas otestovat naši konektivitu. V tomto příkladu používáme FTP klienta známého jako FileZilla, což je bezplatný FTP klient pro klientské i serverové systémy. Podporuje prostý FTP i FTP přes TLS, což je to, co budeme testovat.
Po spuštění vypadá rozhraní jako na obrázku. Zadejte IP adresu hostitele (vsftpd), uživatelské jméno a heslo uživatele ftp a poté klikněte na „Rychlé připojení “.
Krátce poté se objeví vyskakovací okno s certifikátem a podrobnostmi relace FTP serveru. Chcete-li pokračovat v připojení, klikněte na „Vždy důvěřovat tomuto certifikátu v budoucí relaci“ a poté stiskněte enter.
Pokud jsou všechny vaše konfigurace správné, měli byste získat vstup bez problémů, jak je znázorněno. V pravém dolním podokně domovský adresář vzdáleného serveru, jak je znázorněno. Nyní můžete nahrávat, stahovat a upravovat soubory, jak uznáte za vhodné.
Tímto končí naše téma o instalaci vsftpd na CentOS 8. Doufáme, že si nyní můžete pohodlně nastavit svůj vlastní vsftpd (zabezpečený ftp) server. Sdílejte to prosím mezi svými technickými přáteli a podělte se také o svou cennou zpětnou vazbu a komentáře.
Přečtěte si také :Jak otáčet a komprimovat soubory protokolu v Linuxu pomocí Logrotate
Přečtěte si také :Jak nainstalovat Memcached (server mezipaměti) na CentOS 8