GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare ProFTPD con TLS su CentOS 7.2

Questo tutorial descrive l'installazione e la configurazione di ProFTPD su un server CentOS 7.2. ProFTPD è un demone FTP per sistemi operativi Unix e Linux e distribuito sotto GNU Public License (GPL).

1 Nota preliminare

Questo tutorial è basato su un server CentOS, quindi dovresti configurare un'installazione di base del server CentOS 7.2 prima di continuare con questo tutorial. Il sistema dovrebbe avere un indirizzo IP statico. Uso 192.168.1.100 come indirizzo IP in questo tutorial e server1.example.com come nome host.

2 Installa e configura ProFTPD

2.1 Installazione:

Abbiamo bisogno del software dal repository EPEL, abilitalo come segue:

yum -y install epel-release

Quindi importa la chiave EPEL GPG:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

e aggiorna i pacchetti:

yum -y update

Installeremo ProFTPD e OpenSSL come segue:

yum install -y proftpd openssl proftpd-utils

Dobbiamo avviare il servizio e abilitarlo per l'avvio automatico all'avvio.

systemctl start proftpd.service
systemctl enable proftpd.service

Se hai installato firewalld, configura il firewall con firewall-cmd per aprire la porta FTP:

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

Possiamo controllare la versione di ProFTPD come segue:

proftpd -v
[[email protetta] ~]# proftpd -v
ProFTPD versione 1.3.5b
[[email protetta] ~]#

2.2 Creazione di utenti ProFTPD

Creerò un gruppo ftpgroup e un utente tom per ProFTPD. Imposterò /ftpshare come home directory per l'utente tom.

groupadd ftpgroup

Successivamente aggiungerò l'utente srijan in ftpgroup:

useradd  -G ftpgroup tom -s /sbin/nologin -d /ftpshare
passwd tom
[[email protected] ~]# passwd tom
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[[email protected] ~]# 

Imposta i permessi per la directory ftpshare:

chmod -R 1750 /ftpshare/

Ora siamo pronti per la connessione ProFTPD. Ma le connessioni non sono ancora crittografate, lo risolveremo nel prossimo capitolo.

3 Abilitazione di TLS in ProFTPD

Per abilitare TLS in ProFTPD, aprire /etc/proftpd/proftpd.conf. Prima di modificare il file, è meglio eseguire il backup del file originale e quindi modificare il file con nano.

cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf

Aggiungi e modifica le linee come mostrato in rosso.

[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]

#
<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]

Ho aggiunto 6000 e 6100 porte per consentire la modalità passiva di ftp, allo stesso modo consentirò la modalità passiva tramite il servizio firewalld CentOS come segue:

firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload

Possiamo controllare lo stato delle porte come segue:

firewall-cmd --list-ports
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#

Inoltre, dobbiamo dire a SELINUX di consentire la lettura/scrittura dei file.

setsebool -P allow_ftpd_full_access=1

Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creerò in /etc/pki/tls/certs, possiamo generare il certificato SSL come segue:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[[email protected] certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generazione di una chiave privata RSA a 1024 bit
....................................+++ +++
.........++++++
scrittura di una nuova chiave privata in '/etc/pki/tls/certs/proftpd.pem'
- ----
Stai per essere chiesto di inserire le informazioni che saranno incorporate
nella tua richiesta di certificato.
Quello che stai per inserire è quello che viene chiamato Distinguished Name o DN .
Ci sono alcuni campi ma puoi lasciare alcuni campi vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo verrà lasciato vuoto.
-----
Nome del paese (codice di 2 lettere) [XX]:<--DE
Nome dello stato o della provincia (nome completo) []:<-- Amburgo
Nome località (ad es. città) [Città predefinita]: <-- Luneberg
Nome dell'organizzazione (ad es. azienda) [Default Company Ltd]:<-- Howtoforge
Nome dell'unità organizzativa (ad es. sezione) []:<-- Sviluppo
Nome comune (ad es. il tuo nome o il nome host del tuo server) []:<-- server1.example.com
Indirizzo e-mail []:<-- [email protetta]
[[email protected] certs]#

Dai i valori sopra in rosso secondo la tua scelta, ho appena fornito un esempio.

Ora, per motivi di sicurezza, renderò i certificati leggibili solo come segue:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Infine riavvia il servizio ProFTPD come segue:

systemctl restart proftpd.service

Possiamo connetterci al server ProFTPD con il software Filezilla, è necessario che Filezilla sia installato sul computer client per connettersi al server. Apri Filezilla e fornisci i dettagli come segue:

I dettagli saranno:

Host =192.168.1.100
Protocollo =FTP
Utente = tom
Porta =può essere vuoto se non l'hai personalizzata con un'altra porta diversa da 21
Password =ftppassword (appena creata sopra)

Nota:poiché abbiamo crittografato la nostra connessione nel passaggio precedente, utilizzeremo la crittografia con Richiedi FTP esplicito su TLS

Se non hai configurato TLS, puoi utilizzare Usa FTP semplice



Chiederà di fidarsi del certificato, premere OK



Sarà connesso alla directory condivisa FTP con connessione TLS.


4 Accesso ftp anonimo in ProFTPD

Possiamo creare un account ftp anonimo in ProFTPD, basta aggiungere queste righe nel file di configurazione di ProFTPD:

nano /etc/proftpd.conf

E aggiungi queste righe alla fine del file.

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>

Ora dobbiamo riavviare il servizio FTP:

systemctl restart proftpd.service

Ora connettiti tramite Filezilla all'account anon come segue:

Nota:poiché abbiamo crittografato la nostra connessione nel passaggio precedente, utilizzeremo la crittografia con Richiedi FTP esplicito su TLS

Se non hai configurato TLS, puoi utilizzare Usa FTP semplice

Premi Connetti.

Siamo collegati correttamente al server con un utente anonimo.

Congratulazioni! Ora abbiamo configurato correttamente l'ambiente del server ProFTPD in CentOS 7.2 :)

  • CentOS:http://www.centos.org/
  • ProFTPD:http://www.proftpd.org/

Cent OS
  1. Come installare CentOS 8 (con screenshot)

  2. Come installare Python 3 su CentOS 7 con SCL

  3. Come installare ProFTPd con TLS su OpenSuse 13.2

  4. Come installare ProFTPD su CentOS 7

  5. Come installare un server FTP su CentOS 7

Come installare ProFTPD con TLS su Ubuntu 18.04 LTS

Come installare il server FTP vsftpd con SSL/TLS su CentOS 8

Come installare ProFTPD su CentOS 7.0

Come installare Nginx con ngx_pagespeed su CentOS

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7