Suojatun FTP-palvelimen määrittäminen SSL/TLS:n avulla Ubuntussa


Tässä opetusohjelmassa kuvataan, kuinka FTP-palvelin (VSFTPD tarkoittaa "Very Secure FTP Daemon") suojataan SSL:n avulla. /TLS Ubuntu 16.04/16.10.

Jos aiot asentaa suojatun FTP-palvelimen CentOS-pohjaisille jakeluille, voit lukea - FTP-palvelimen suojaaminen SSL/TLS:n avulla CentOS:ssä

Tämän oppaan eri vaiheiden jälkeen olemme oppineet perusasiat salauspalvelujen sallimisesta FTP-palvelimessa suojattua tiedonsiirtoa varten.

Vaatimukset

  1. Sinun on asennettava ja määritettävä FTP-palvelin Ubuntuun

Ennen kuin siirrymme pidemmälle, varmista, että kaikki tämän artikkelin komennot suoritetaan pääkäyttäjän tai sudo-oikeuksin suojatuina tileinä.

Vaihe 1: Luo SSL/TLS-sertifikaatti FTP:lle Ubuntussa

1. Aloitamme luomalla alihakemiston alle: /etc/ssl/ SSL/TLS-varmenteen ja avaintiedostojen tallentamiseen, jos se ei ei ole olemassa:

sudo mkdir /etc/ssl/private

2. Luodaan nyt varmenne ja näppäile yksi tiedosto suorittamalla alla oleva komento.

sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048

Yllä oleva komento kehottaa sinua vastaamaan alla oleviin kysymyksiin. Älä unohda syöttää skenaarioosi soveltuvia arvoja.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Vaihe 2: VSFTPD:n määrittäminen käyttämään SSL/TLS:ää Ubuntussa

3. Ennen kuin suoritamme VSFTPD-määrityksiä, sinun on avattava portit 990 ja 40000 niille, joilla on käytössä UFW-palomuuri. -50000 salliaksesi TLS-yhteyksien ja passiivisten porttien porttialueen asettamisen VSFTPD-määritystiedostossa:

sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw status

4. Avaa nyt VSFTPD-määritystiedosto ja määritä siihen SSL-tiedot:

sudo vi /etc/vsftpd/vsftpd.conf
OR
sudo nano /etc/vsftpd/vsftpd.conf

Lisää tai etsi sitten vaihtoehto ssl_enable ja aseta sen arvoksi YES aktivoidaksesi SSL:n käytön. Koska TLS on turvallisempi kuin SSL, rajoitamme VSFTPD:n käytä sen sijaan TLS:ää ottamalla käyttöön ssl_tlsv1-vaihtoehto:

ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

5. Kommentoi seuraavaksi alla olevat rivit käyttämällä #-merkkiä seuraavasti:

#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Lisää sen jälkeen alla olevat rivit määrittääksesi SSL-varmenteen ja avaintiedoston sijainnin:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

6. Nyt meidän on myös estettävä anonyymejä käyttäjiä käyttämästä SSL:ää, sitten pakotettava kaikki ei-anonyymit kirjautumiset käyttämään suojattua SSL-yhteyttä tiedonsiirrossa ja lähettämään salasana sisäänkirjautumisen yhteydessä:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

7. Lisäksi voimme käyttää alla olevia vaihtoehtoja lisätäksemme suojausominaisuuksia FTP-palvelimeen. Vaihtoehdolla require_ssl_reuse=YES kaikki SSL-datayhteydet vaaditaan SSL-istunnon uudelleenkäytön näyttämiseksi. todistaa, että he tietävät saman pääsalaisuuden kuin ohjauskanava. Joten meidän pitäisi poistaa se käytöstä.

require_ssl_reuse=NO

Lisäksi voimme määrittää, mitkä SSL-salaukset VSFTPD sallii salatuille SSL-yhteyksille ssl_ciphers-vaihtoehdolla. Tämä auttaa estämään hyökkääjien yritykset, jotka yrittävät pakottaa tiettyyn salaukseen, jonka haavoittuvuuksia he mahdollisesti ovat löytäneet:

ssl_ciphers=HIGH

8. Määritetään sitten passiivisten porttien porttialue (minimi- ja enimmäisportti).

pasv_min_port=40000
pasv_max_port=50000

9. Voit ottaa käyttöön SSL-virheenkorjauksen eli openSSL-yhteyden diagnostiikkatiedot tallennetaan VSFTPD-lokitiedostoon käyttämällä debug_ssl-vaihtoehtoa:

debug_ssl=YES

Tallenna lopuksi tiedosto ja sulje se. Käynnistä sitten VSFTPD-palvelu uudelleen:

systemctl restart vsftpd

Vaihe 3: Tarkista FTP SSL/TLS-yhteyksillä Ubuntussa

10. Kun olet suorittanut kaikki yllä olevat määritykset, testaa, käyttääkö VSFTPD nyt SSL/TLS-yhteyksiä yrittämällä käyttää FTP:tä komentoriviltä alla kuvatulla tavalla.

Alla olevasta lähdöstä tulee virheilmoitus, joka kertoo meille, että VSFTPD voi sallia vain käyttäjien (ei-anonyymien) kirjautumisen suojatuista asiakkaista, jotka tukevat salauspalveluita.

ftp 192.168.56.10
Connected to 192.168.56.10  (192.168.56.10).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:root) : ravi
530 Non-anonymous sessions must use encryption.
Login failed.
421 Service not available, remote server has closed connection
ftp>

Komentorivi ei tue salauspalveluita, mikä johtaa yllä olevaan virheeseen. Jotta voimme muodostaa turvallisen yhteyden FTP-palvelimeen, jossa salauspalvelut ovat käytössä, tarvitsemme FTP-asiakkaan, joka tukee oletuksena SSL/TLS-yhteyksiä, kuten FileZilla.

Vaihe 4: Asenna FileZilla on Clients yhdistääksesi FTP turvallisesti

FileZilla on tehokas, laajalti käytetty cross-platform FTP-asiakas, joka tukee FTP:tä SSL/TLS:n yli ja paljon muuta. Asenna FileZilla Linux-asiakaskoneeseen käyttämällä seuraavaa komentoa.

--------- On Debian/Ubuntu ---------
sudo apt-get install filezilla   

--------- On CentOS/RHEL/Fedora --------- 
yum install epel-release filezilla

--------- On Fedora 22+ --------- 
sudo dnf install filezilla

12. Kun asennus on valmis, avaa se ja siirry File=>Sites Manageriin tai (paina Ctrl+S) saadaksesi >Sivuston hallinta käyttöliittymä alla.

13. Määritä nyt isäntä/sivuston nimi, lisää IP-osoite, määritä käytettävä protokolla, salaus ja kirjautumistyyppi alla olevan kuvakaappauksen mukaisesti (käytä skenaariaasi soveltuvia arvoja):

Napsauta Uusi sivusto -painiketta määrittääksesi uuden sivuston/isäntäyhteyden.

Host:  192.168.56.10
Protocol:  FTP – File Transfer Protocol
Encryption:  Require explicit FTP over   #recommended 
Logon Type: Ask for password	        #recommended 
User: username

14. Napsauta sitten yllä olevasta käyttöliittymästä Yhdistä syöttääksesi salasanan ja vahvista sitten SSL/TLS-yhteydessä käytettävä varmenne. ja muodosta yhteys FTP-palvelimeen napsauttamalla OK vielä kerran:

15. Sinun pitäisi nyt kirjautua FTP-palvelimeen onnistuneesti TLS-yhteyden kautta. Tarkista yhteyden tila -osiosta lisätietoja alla olevasta käyttöliittymästä.

16. Lopuksi siirretään tiedostot paikalliselta koneelta FTP-palvelimelle tiedostokansiossa, katso FileZilla-käyttöliittymän alaosa nähdäksesi tiedostojen siirtoja koskevat raportit.

Siinä kaikki! Muista aina, että FTP-palvelimen asentamisella ilman salauspalveluita on tiettyjä turvallisuusvaikutuksia. Kuten tässä opetusohjelmassa selitimme, voit määrittää FTP-palvelimen käyttämään SSL/TLS-yhteyksiä turvallisuuden toteuttamiseksi Ubuntu 16.04/16.10:ssä.

Jos kohtaat ongelmia SSL/TLS:n määrittämisessä FTP-palvelimelle, käytä alla olevaa kommenttilomaketta jakaaksesi ongelmasi tai ajatuksesi tästä opetusohjelmasta/aiheesta.