Linux E X P R E S

Facebook

Za bezpečnější FTP

Aneb ProFTPd s podporou TLS


V tomto zápisku bych se chtěl podívat na to jak se nastavuje FTP server v podobě ProFTPd tak, aby fungoval přes zabezpečené spojení TLS - nástupce SSL.

Instalace

Zřejmě bude stačit něco jako

aptitude install proftpd openssl

Vytvoření certifikátu

Nemáte-li žádné zábrany jako já, pak si v adresáři /etc/proftpd/ vytvořte adresář cert a vstupte do něj

mkdir /etc/proftpd/cert
cd /etc/proftpd/cert

a vygenerujte si vlastní cetifikát

openssl req $@ -new -x509 -days 5000 -nodes -out proftpd.pem -keyout proftpd.pem

Parametr -days 5000 určuje dobu platnosti certifikátu ve dnech. Zřejmě by bylo lepší volit menší hodnotu, ale komu by se chtěl certifikát obnovovat... Po zadání příkazu budete dotázáni na několik údajů a po jejich vyplnění se vytvoří certifikát.

Nastavení ProFTPd

Nyní se pusťte do úpravy souboru /etc/proftpd/proftpd.conf.  V podstatě by mělo stačit např. nakonec přidat tyto řádky:

<IfModule mod_tls.c>
TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv3
TLSOptions                 NoCertRequest
TLSRSACertificateFile                /etc/proftpd/cert/proftpd.pem
TLSRSACertificateKeyFile           /etc/proftpd/cert/proftpd.pem
TLSRequired                           on
TLSVerifyClient                        off
</IfModule>

Pokud chcete nastavení trochu vylepšit, pak doporučuji změnit port na kterém bude ProFTPd běžet, např. na 23 (už ani nevím co se mi na něm tolik líbí..)

Port   23

Odkomentovat řádek

DefaultRoot ~

pro omezení uživatele pouze na domovský adresář. Podobně byste nastavili např. adresář public_html pro web

DefaultRoot ~/public_html

a pokud chcete omezit přístup pouze pro určité uživatele, pak také přidejte tuto volbu

<Limit LOGIN>
AllowUser martin
AllowUser pepa
AllowGroup ftpuser
DenyAll
</Limit>

Nyní ProFTPd restartujte.

/etc/init.d/proftpd restart

A pokud je vše v pořádku, můžete se bez obav přihlásit.

Bezpečné přihlášení

Tak k tomu se dá použít např. univerzální FileZilla. Nejdřív musíte nastavit server, ke kterému se připojujete -  v nabídce Soubor - Správce míst. Jak by nastavení mohlo (mělo) vypadat se můžete inspirovat na dalším obrázku.1_1.png

No a pak už stačí kliknout na tlačítko Spojit - dole v okně Správce míst a potvrdit nabízený certifkát.

2p.png

Odkazy

Jak nastavit Apache s podporou SSL v Debianu

Jak nastavit ProFTPd s podporou TLS v Debianu

Diskuze (1) Nahoru