GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat ProFTPd s podporou TLS na Ubuntu 15.04

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 15.04, jak přidat uživatele FTP a jak používat FileZilla k bezpečnému připojení s TLS.

1 předběžná poznámka

V tomto tutoriálu budu používat název hostitele server1.example.com s IP adresou 192.168.1.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:

apt-get install proftpd openssl

Bude vám položena otázka:

Spusťte proftpd:<-- standalone

Z bezpečnostních důvodů byste měli do /etc/proftpd/proftpd.conf přidat následující řádky:

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]

První možnost umožňuje chrootování uživatelů FTP do jejich domovského adresáře a druhá možnost umožňuje zprávu ServerIdent, která neobsahuje žádné informace o používaném softwaru FTP serveru, verzi nebo OS, aby se případný útočník nedostal k těmto údajům.

3 Vytvořte certifikát 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.

a zabezpečte vygenerované soubory certifikátů.

chmod 600 /etc/proftpd/ssl/proftpd.*

4 Povolit TLS v ProFTPd

Chcete-li povolit TLS v ProFTPd, otevřete /etc/proftpd/proftpd.conf...

nano /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ě:

nano /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell       no
</IfModule>

Pokud používáte TLSRequired zapnuto, 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:

systemctl restart proftpd.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 (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 Přidat uživatele FTP

Konfigurace ProFTPD použitá v tomto tutoriálu ověřuje uživatele proti databázi uživatelů systému Linux (/etc/passwd a /etc/shadow). V tomto kroku přidám uživatele „tom“, který se bude používat pouze pro přihlášení k FTP.

useradd --shell /bin/false tom

Tím se přidá uživatel "tom" s shellem /bin/false. Tento shell zajišťuje, že se může přihlásit pomocí FTP, ale ne pomocí SSH. Domovský adresář uživatele je standardně /home/[USERNAME], v našem případě /home/tom. ProFTPD je nakonfigurován tak, aby uvěznil uživatele v jeho domovském adresáři, takže nemůže přistupovat k systémovým souborům mimo /home/tom. Pokud chcete nastavit jiný domovský adresář, použijte příkaz níže:

useradd --home /srv/tomftp --create-home --shell /bin/false tom

Tento příkaz nastavuje jiný domovský adresář, v případě tohoto příkladu adresář /srv/tomftp pro uživatele.

Dalším krokem je nastavení hesla pro uživatele tom, spusťte příkaz passwd:

passwd tom

A na požádání zadejte nové heslo dvakrát.

6 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 Site Manager:

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:

  • ProFTPd:http://www.proftpd.org/
  • FileZilla:http://filezilla-project.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Jak nainstalovat ProFTPd s TLS na OpenSuse 13.2

  2. Jak nainstalovat ProFTPD na Ubuntu 14.04

  3. Jak nainstalovat ProFTPD na Ubuntu 15.04

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Proftpd s TLS na Ubuntu 15.04

  3. Jak nainstalovat ProFTPd s podporou TLS na Ubuntu 15.10

  1. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10