Tento článek vysvětluje, jak nakonfigurovat PureFTPd, aby přijímal relace TLS na serveru CentOS 7.2. Obyčejný FTP je nezabezpečený protokol, protože všechna hesla a data jsou přenášena jako prostý text. Pomocí TLS lze celou komunikaci šifrovat, čímž je FTP mnohem bezpečnější.
1 předběžná poznámka
Na svém serveru CentOS 7.2 byste měli mít funkční nastavení PureFTPd, např. jak je uvedeno v tomto tutoriálu: FTP server s PureFTPd, MariaDB a virtuálními uživateli (včetně správy kvót a šířky pásma) na CentOS 7.2
2 Instalace OpenSSL
OpenSSL vyžaduje TLS; k instalaci OpenSSL jednoduše spustíme:
yum -y install openssl
3 Konfigurace PureFTPd
Otevřete /etc/pure-ftpd/pure-ftpd.conf...
nano /etc/pure-ftpd/pure-ftpd.conf
Pokud chcete povolit FTP a Relace TLS, nastavte TLS na 1:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...]
Pokud chcete přijímat pouze relace TLS (bez FTP), nastavte TLS na 2:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 2 [...]
Chcete-li TLS nepovolit vůbec (pouze FTP), nastavte TLS na 0:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 0 [...]
Poté odstraňte znak # před následujícími 2 řádky:
TLSCipherSuite HIGH
CertFile /etc/ssl/private/pure-ftpd.pem
a uložte změněný konfigurační soubor.
4 Vytvoření certifikátu SSL pro TLS
Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/ssl/private/, proto nejprve vytvořím tento adresář:
mkdir -p /etc/ssl/private/
Poté můžeme vygenerovat certifikát SSL následovně:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Název země (2 písmenný kód) [XX]:<-- Zadejte název své země (např. „DE“).
Název státu nebo provincie (celé jméno) []:<-- Zadejte název svého státu nebo provincie .
Název lokality (např. město) [Výchozí město]:<-- Zadejte své město.
Název organizace (např. společnost) [Výchozí společnost Ltd]:<-- Zadejte název své organizace (např. , název vaší společnosti).
Název organizační jednotky (např. sekce) []:<-- Zadejte název své organizační jednotky (např. „IT oddělení“).
Běžný název (např. vaše jméno nebo název hostitele vašeho serveru) []:<-- Zadejte plně kvalifikovaný název domény systému (např. "server1.example.com").
E-mailová adresa []:<-- Zadejte svou e-mailovou adresu.
Změňte oprávnění certifikátu SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Nakonec restartujte PureFTPd:
systemctl restart pure-ftpd.service
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 – viz další kapitola, jak to provést s FileZilla.
5 Konfigurace FileZilla pro TLS
Abyste mohli používat FTP s TLS, potřebujete FTP klienta, který TLS podporuje, jako je FileZilla nebo Firefox FireFTP plugin.
V FileZilla otevřete Site Manager:
Vyberte server, který používá PureFTPd s TLS; v rozevírací nabídce Typ serveru vyberte Vyžadovat explicitní FTP přes TLS 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, protože zde používáme certifikát SSL s vlastním podpisem:
Pokud vše půjde dobře, měli byste být nyní přihlášeni na serveru:
6 odkazů
- PureFTPd:http://www.pureftpd.org/
- FileZilla:http://filezilla-project.org/
- CentOS:http://www.centos.org/