GNU/Linux >> Znalost Linux >  >> Panels >> cPanel

Jak zabezpečit vsFTPd pomocí SSL/TLS

Velmi bezpečný FTP démon, nebo jednoduše vsFTPd je lehký software s velkou schopností přizpůsobení. V tomto tutoriálu se chystáme zabezpečit již existující instalaci na systému Debian pomocí našeho vlastního certifikátu SSL/TLS s vlastním podpisem. Přestože je napsán pro Debian, měl by fungovat na většině distribucí Linuxu, jako je například Ubuntu a CentOS.

Instalace vsFTPd

Na čerstvém Linuxu VPS musíte nejprve nainstalovat vsFTPd. I když základní kroky k instalaci vsFTPd najdete v tomto návodu vám doporučuji přečíst si také tyto dva podrobnější návody:Nastavení vsFTPd na Debian/Ubuntu a Instalace vsFTPd na CentOS. Všechny kroky týkající se instalace jsou zde podrobněji vysvětleny.

Instalace na Debian/Ubuntu:

apt-get install vsftpd

Instalace na CentOS:

yum install epel-release
yum install vsftpd

Konfigurace Otevřete konfigurační soubor:/etc/vsftpd.conf ve vašem oblíbeném textovém editoru, v tomto tutoriálu používáme nano .

nano /etc/vsftpd.conf

Vložte následující řádky do konfigurace:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

Dokončete restartováním démona vsFTPd:

/etc/init.d/vsftpd restart

Nyní byste měli být schopni se přihlásit jako jakýkoli místní uživatel přes FTP, nyní pojďme dál a zabezpečte tento software.

Vygenerovat certifikát s vlastním podpisem

Certifikát s vlastním podpisem se obvykle používá v protokolu smlouvy o veřejném klíči, nyní budete používat openssl pro vygenerování veřejného klíče a odpovídajícího soukromého klíče. Nejprve musíme vytvořit adresář pro uložení těchto dvou klíčových souborů, nejlépe na bezpečném místě, kam se normální uživatelé nemohou dostat.

mkdir -p /etc/vsftpd/ssl

Nyní k samotnému generování certifikátu, uložíme oba klíče do stejného souboru (/etc/vsftpd/ssl/vsftpd.pem ):

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem

Po provedení příkazu budete dotázáni na několik otázek, jako je kód země, stát, město, název organizace atd. použijte své vlastní informace nebo informace o vaší organizaci. Nyní je nejdůležitější řádek Common name který se musí shodovat s IP adresou vašeho VPS, případně s názvem domény, který na něj ukazuje.

Tento certifikát bude platný 365 dní (~1 rok), bude používat protokol RSA key agreement s délkou klíče 4096 bitů a soubor obsahující oba klíče bude uložen v novém adresáři, který jsme právě vytvořili. Další podrobnosti o délce klíče a jeho vztahu k zabezpečení naleznete v tomto:Doporučení pro šifrování II.

Instalovat nový certifikát do vsFTPd

Abychom mohli začít používat náš nový certifikát a zajistit tak šifrování, musíme znovu otevřít konfigurační soubor:

nano /etc/vsftpd.conf

Musíme přidat cesty k našemu novému certifikátu a souborům klíčů. Protože jsou uloženy ve stejném souboru, mělo by to být stejné i v konfiguraci.

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem

Abychom se ujistili, že SSL bude povoleno, musíme přidat tento řádek:

ssl_enable=YES

Volitelně můžeme blokovat anonymní uživatele v používání SSL, protože šifrování není na veřejném FTP serveru potřeba.

allow_anon_ssl=NO

Dále musíme určit, kdy použít SSL/TLS, to umožní šifrování pro přenos dat i pro přihlašovací údaje

force_local_data_ssl=YES
force_local_logins_ssl=YES

Můžeme také specifikovat, jaké verze a protokoly mají být použity. TLS je obecně bezpečnější než SSL, a proto můžeme povolit TLS a zároveň blokovat starší verze SSL.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Vyžadovat opětovné použití SSL a použití vysokých šifer také pomůže zlepšit zabezpečení. Z manuálových stránek vsFTPd:

require_ssl_reuse Pokud je nastaveno na ano, všechna datová připojení SSL musí vykazovat opětovné použití relace SSL (což dokazuje, že znají stejné hlavní tajemství jako řídicí kanál). I když se jedná o zabezpečené výchozí nastavení, může poškodit mnoho FTP klientů, takže jej možná budete chtít deaktivovat. Diskusi o důsledcích naleznete na http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Přidáno ve verzi 2.1.0).

ssl_ciphers Tuto volbu lze použít k výběru, které šifry SSL vsftpd povolí pro šifrovaná připojení SSL. Další podrobnosti najdete na manuálové stránce k šifrám. Všimněte si, že omezení šifer může být užitečným bezpečnostním opatřením, protože zabraňuje škodlivým vzdáleným stranám vynutit si šifru, se kterou našly problémy.

require_ssl_reuse=YES
ssl_ciphers=HIGH

Dokončete restartováním vsftpd démon

/etc/init.d/vsftpd restart

Potvrdit instalaci

A to je vše, nyní byste měli být schopni se připojit k vašemu serveru a potvrdit, že vše funguje. Pokud používáte FileZilla, mělo by se po připojení otevřít dialogové okno obsahující informace o vaší organizaci (nebo cokoliv, co jste zadali při generování certifikátu dříve). Výstup by pak měl vypadat takto:

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.

Chcete-li se dozvědět více o vsFTPd, podívejte se na jeho manuálové stránky:

man vsftpd

cPanel
  1. Jak nainstalovat vsftpd FTP server a zabezpečit jej pomocí TLS na Debian 11

  2. Nainstalujte Vsftpd s SSL/TLS na Ubuntu 20.04

  3. Jak nakonfigurovat VSFTPD se šifrovaným připojením SSL/TLS?

  1. Jak zabezpečit účet s podporou cPanel pomocí certifikátu Lets Encrypt SSL

  2. Jak zabezpečit účet s podporou cPanel pomocí certifikátu Sectigo SSL

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

  1. Jak zabezpečit své e-mailové služby Linux pomocí SSL/TLS

  2. Jak zabezpečit název hostitele Plesk na portu 8443 pomocí certifikátu SSL

  3. Jak zabezpečit připojení pomocí certifikátů SSL/TLS