FTP yra labai nesaugus protokolas, kuris visus slaptažodžius bei visą informaciją siunčia neužšifruotą. Naudojant TLS (Transport Layer Security) visa informacija gali būti šifruojama, taip FTP tampa daug saugesnis. Šis straipsnis, manau, paaiškins kaip reikia sukonfigūruoti ProFTPd su TLS Ubuntu 8.10 serveryje.

1. Pati pradžia

Šiame tutorial’e aš naudosiu “hostname” server1.example.com, kurio IP adresas - 192.168.0.100. Šie nustatymai turėtų skirtis nuo jūsų, tad pakeiskite į reikiamus.

Kadangi, mes turime visus žingsnius daryti su root teisėmis, todėl, manau, geriausia būtų iškarto “pasiversti į root”.

$ sudo su

2. Instaliuojame ProFTPd ir OpenSSL

OpenSSL yra reikalingas TLS palaikymui, todėl instaliuokime jį naudodami apt-get, rašom:

$ apt-get install proftpd openssl

Jūsų paklaus kelių klausimų, renkamės serverį - standalone. Saugumo atžvilgiu, jūs galite kelias eilutes įrašyti į /etc/proftpd/proftpd.conf (ačiū Reinaldo Carvalho, daugiau informacijos galite rasti čia).

$ vi /etc/proftpd/proftpd.conf

[...]
DefaultRoot ~
IdentLookups off
ServerIdent on “FTP Server ready.”
[...]

3. Kuriame SSL sertifikatą TLS’ui

Norėdami naudoti TLS, mes privalome sukūrti SSL sertifikatą. Aš kūrsiu jį į /etc/proftpd/ssl direktoriją:

$ mkdir /etc/proftpd/ssl

Dabar galime sugeneruoti SSL sertifikatą, naudojant šią komandą:

$ openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Country Name (2 letter code) [AU]: <-- Įrašome savo šalį (pvz: "LT").
State or Province Name (full name) [Some-State]: <-- Įrašome valstiją, privinciją arba tiesiog paliekame taip kaip yra.
Locality Name (eg, city) []: <-- Įrašome miestą.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Įrašome savo komanijos vardą.
Organizational Unit Name (eg, section) []: <-- Įrašome savo departamento pavadinimą (pvz: "IT departmentas").
Common Name (eg, YOUR name) []: <-- Įrašome savo domeno pavadinimą (pvz: "server1.example.com").
Email Address []: <-- Įrašome el.pašto adresą.

4. Įjungiame TLS palaikymą ProFTPd

Norėdami įjungti TLS, atidarome /etc/proftpd/proftpd.conf

$ vi /etc/proftpd/proftpd.conf

Nuimame komentarą “Include /etc/proftpd/tls.conf” eilutėje.

[...]
#

# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

Tada atsidarome /etc/proftpd/tls.conf ir padarome viską taip, kaip yra pavyzdyje:


TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on

jei jūs naudosite “TLSRequired on”, tada prie FTP galės pasijungti tik su TLS sesijomis (kitaip sakant, niekas kitas, tik FTP klientai, kurie palaiko TLS, negalės pasijungti prie jūsų FTP serverio). Jei uždėsite komentarą arba naudosite “TLSRequired off”, preie jūsų FTP serverio galės pasijungti ir su TLS ir be TLS palaikymų FTP klientai.

Perkrauname ProFTPd:

$ /etc/init.d/proftpd restart

Štai ir viskas. Dabar jau galite jungtis prie savo nuosavo FTP serverio, tačiau, jeigu jūs nustatėte “TLSrequired on” jums būtinai reikia susikonfigūruoti FTP klientą, kad jis palaikytų TLS, kaip tai padaryti - žiūrėkite toliau.
Jeigu iškilo bėdų su TLS, pažiūrėkite log faile, jį galite surasti: /var/log/proftpd/tls.log.