Protokol přenosu souborů (FTP) je standardní síťový protokol používaný ke kopírování souboru z jednoho hostitele na druhého přes síť založenou na TCP, jako je Internet. FTP je postaven na architektuře klient-server a využívá oddělené řízení a datová spojení mezi klientem a serverem. Uživatelé FTP se mohou autentizovat pomocí přihlašovacího protokolu s prostým textem, ale mohou se připojit anonymně, pokud je server nakonfigurován tak, aby to umožňoval.
První klientské aplikace FTP byly interaktivní nástroje příkazového řádku, implementující standardní příkazy a syntaxi. Klienti s grafickým uživatelským rozhraním byli od té doby vyvinuti pro mnoho populárních desktopových operačních systémů, které se dnes používají.
Instalovat FTP server
Před instalací vsftpd se ujistěte, že má server přístup k internetu. Pokud tomu tak není, nakonfigurujte místní úložiště YUM pro instalaci vsftpd.
nainstalujte server vsftpd pomocí následujícího příkazu.
# yum -y install vsftpd
Konfigurace serveru FTP
Konfigurační soubor bude ve složce /etc/vsftp. Vsftpd.conf je konfigurační soubor FTP serveru.
# vi /etc/vsftpd/vsftpd.conf
Tento soubor obsahuje mnoho direktiv, které pomáhají posílit zabezpečení FTP serveru; následující jsou důležité direktivy, které již byly umístěny v souboru.
Směrnice
| Na Vsftpd.conf | Použití |
anonymní_povolit | ANO | Řídí, zda jsou povolena anonymní přihlášení či nikoli. Pokud je povoleno, uživatelská jména ftp i anonymní jsou rozpoznána jako anonymní přihlášení. |
local_enable | ANO | Řídí, zda jsou povolena místní přihlášení či nikoli. Pokud je povoleno, lze k přihlášení použít běžné uživatelské účty v /etc/passwd (nebo kdekoli, kde se odkazuje na vaši konfiguraci PAM). To musí umožnit fungování jakéhokoli neanonymního přihlášení, včetně virtuálních uživatelů. |
write_enable | ANO | To řídí, zda jsou povoleny nějaké příkazy FTP, které mění systém souborů, či nikoli. Tyto příkazy jsou: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE a SITE. |
local_umask | 022 | Hodnota , na kterou je umask pro vytvoření souboru nastaveno pro místní Uživatelé. |
anon_upload_enable | ANO
Ale okomentovalo to soubor, je třeba zrušit komentář. | Pokud je nastaveno na ANO, anonymním uživatelům bude za určitých podmínek povoleno nahrávat soubory. Aby to fungovalo, musí být aktivována možnost write_enable a anonymní uživatel ftp musí mít oprávnění k zápisu na požadovaná místa nahrávání. Toto nastavení je také povinné, aby ho virtuální uživatelé nahráli; ve výchozím nastavení jsou virtuální uživatelé anonymní (tj. maximálně omezená) oprávnění. |
anon_mkdir_write_enable | ANO
Ale okomentovalo to soubor, je třeba zrušit komentář. | Pokud je nastaveno na ANO, anonymní uživatelé budou moci za určitých podmínek vytvářet nové adresáře. Aby to fungovalo, musí být aktivována volba write_enable a anonymní ftp uživatel musí mít oprávnění k zápisu do nadřazeného adresáře. |
poslouchejte | ANO
| Pokud je povoleno, vsftpd poběží v samostatném režimu. To znamená, že Vsftpd nesmí být spuštěn z nějakého druhu inetd. Místo toho Spustitelný soubor Vsftpd se spustí jednou přímo. Samotný Vsftpd se pak postará o naslouchání a obsluhu příchozích spojení. |
Níže jsou uvedeny některé další možnosti, které můžete přidat do souboru pro větší bezpečnost.
Směrnice | možnosti | Popis |
userlist_enable | ANO/NE | Pokud je povoleno, vsftpd načte seznam uživatelských jmen z názvu souboru daného userlist_file. Pokud se uživatel pokusí přihlásit pomocí jména v tomto souboru, bude mu odepřeno, než bude požádán o heslo. To může být užitečné při zabránění přenosu hesel s čistým textem. Viz také userlist_deny. |
chroot_local_user | ANO/NE | Je-li nastaveno na ANO, místní uživatelé budou (ve výchozím nastavení) umístěni do vězení chroot() ve svém domovském adresáři po přihlášení. Upozornění:Tato možnost má bezpečnostní důsledky, zejména pokud mají uživatelé oprávnění k nahrávání nebo přístup do prostředí. Povolte, pouze pokud víte, co děláte. Všimněte si, že tyto bezpečnostní důsledky nejsou specifické pro vsftpd. Vztahují se na všechny FTP démony, které nabízejí umístění místních uživatelů do vězení chroot(). |
local_max_rate | V kb Příklad: local_max_rate=1000 | Maximální povolená rychlost přenosu dat v bajtech za sekundu pro místní ověřené uživatele. Výchozí:0 (neomezeno) |
anon_max_rate | v kb Příklad: anon_max_rate=1000 | Maximální povolená rychlost přenosu dat v bajtech za sekundu pro anonymní klienty. Výchozí:0 (neomezeno) |
no_anon_password | ANO/NE | Když je povoleno, zabrání to vsftpd požádat o anonymní heslo – anonymní uživatel se rovnou přihlásí. |
Zde se podíváme pouze na naše požadavky. Zakažme anonymní přihlášení úpravou následující položky v konfiguračním souboru.
anonymous_enable=NO
Povolit místním uživatelům přihlášení do vsftpd.
local_enable=YES
Povolit přístup pro zápis místním uživatelům.
write_enable=YES
Umístěte místní uživatele do „chroot uvězněných“, aby jim byl odepřen přístup k jakékoli části systémových souborů
chroot_local_user=YES
Povolit uživateli chroot zápis.
allow_writeable_chroot=YES
Restartujte službu vsftpd.
# systemctl restart vsftpd.service
Nastavte vsftpd tak, aby se spouštěl při spouštění systému.
# systemctl enable vsftpd.service
Firewall
Povolte port 21 ve bráně firewall, aby bylo možné vsftp přistupovat přes síť.
# firewall-cmd --permanent --zone=public --add-port=21/tcp # firewall-cmd --reload
SELinux
Chcete-li povolit oprávnění k zápisu do domovských adresářů, zadejte následující příkaz.
# setsebool -P ftp_home_dir 1
To je vše. Chcete-li používat FileZilla nebo WinSCP, musíte povolit pasivní režim ve vsftp .