FTP je velmi nezabezpečený protokol, protože všechna hesla a všechna data jsou přenášena jako prostý text. Pomocí TLS lze celou komunikaci šifrovat, čímž je FTP mnohem bezpečnější. Tento článek vysvětluje, jak nastavit ProFTPd s TLS na serveru Ubuntu 10.04.
Neposkytuji žádnou záruku, že to pro vás bude fungovat!
1 předběžná poznámka
V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.0.100. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.
Protože musíme všechny kroky z tohoto tutoriálu spustit s právy root, můžeme buď před všechny příkazy v tomto tutoriálu přidat řetězec sudo, nebo se staneme rootem hned teď zadáním
sudo su
2 Instalace ProFTPd a OpenSSL
OpenSSL vyžaduje TLS; pro instalaci ProFTPd a OpenSSL jednoduše spustíme:
aptitude install proftpd openssl
Bude vám položena otázka:
Spusťte proftpd:<-- standalone
Z bezpečnostních důvodů můžete do /etc/proftpd/proftpd.conf přidat následující řádky (díky Reinaldo Carvalho; více informací naleznete zde:http://proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd/proftpd.conf
[...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
3 Vytvoření certifikátu SSL pro TLS
Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/proftpd/ssl, proto nejprve vytvořím tento adresář:
mkdir /etc/proftpd/ssl
Poté můžeme vygenerovat certifikát SSL následovně:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Název země (2 písmenný kód) [AU]:<-- Zadejte název země (např. „DE“).
Název státu nebo provincie (celý název) [Některý stát]:<-- Zadejte svůj stát nebo název provincie.
Název lokality (např. město) []:<-- Zadejte své město.
Název organizace (např. společnost) [Internet Widgits Pty Ltd]:<-- Zadejte název organizace (např. název vaší společnosti).
Název organizační jednotky (např. sekce) []:<-- Zadejte název organizační jednotky (např. „IT oddělení“).
Běžný název (např. VAŠE jméno) []:<-- Zadejte plně kvalifikovaný název domény systému (např. "server1.example.com").
E-mailová adresa []:<-- Zadejte svou e-mailovou adresu.
4 Povolení TLS v ProFTPd
Chcete-li povolit TLS v ProFTPd, otevřete /etc/proftpd/proftpd.conf...
vi /etc/proftpd/proftpd.conf
... a odkomentujte řádek Include /etc/proftpd/tls.conf:
[...] # # This is used for FTPS connections # Include /etc/proftpd/tls.conf [...] |
Poté otevřete /etc/proftpd/tls.conf a nastavte jej následovně:
vi /etc/proftpd/tls.conf
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest AllowClientRenegotiations TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule> |
Pokud používáte TLSRequired on, pak jsou povolena pouze připojení TLS (toto uzamkne všechny uživatele se starými FTP klienty, kteří nemají podporu TLS); zakomentováním tohoto řádku nebo použitím TLSRequired off jsou povolena připojení TLS i non-TLS v závislosti na tom, co FTP klient podporuje.
Poté restartujte ProFTPd:
/etc/init.d/proftpd restart
A je to. Nyní se můžete pokusit připojit pomocí svého FTP klienta; měli byste však nakonfigurovat svého FTP klienta tak, aby používal TLS (to je nutnost, pokud používáte TLSRequired on) – viz další kapitola, jak to provést s FileZilla.
Pokud máte problémy s TLS, můžete se podívat do souboru protokolu TLS /var/log/proftpd/tls.log.
5 Konfigurace FileZilla pro TLS
Abyste mohli používat FTP s TLS, potřebujete FTP klienta, který podporuje TLS, jako je FileZilla.
V FileZilla otevřete Správce serveru:
Vyberte server, který používá ProFTPd s TLS; v rozevírací nabídce Typ serveru vyberte FTPES místo normálního FTP:
Nyní se můžete připojit k serveru. Pokud to děláte poprvé, musíte přijmout nový certifikát SSL serveru:
Pokud vše půjde dobře, měli byste být nyní přihlášeni na serveru:
6 odkazů
- ProFTPd:http://www.proftpd.org/
- FileZilla:http://filezilla-project.org/
- Ubuntu:http://www.ubuntu.com/