Come installare ProFTPD su CentOS 7

Uno dei metodi di connessione più sicuri e tradizionali in qualsiasi organizzazione è FTP (File Transfer Protocol) che consente il trasferimento di file tra due computer su una rete TCP.
Il suo design si basa sull'architettura client-server, con la quale è possibile utilizzare un computer client da cui connettersi a un server per scaricare file da esso o inviare file indipendentemente dal sistema operativo utilizzato in ciascuno dei computer, da lì l'ampia accettazione di questo protocollo.

Una delle utility che abbiamo a disposizione per aggiungere ancora più sicurezza alla connessione FTP è ProFTPD che analizzeremo oggi in CentOS 7.

Cos'è ProFTPDProFTPD è fondamentalmente un software server FTP con licenza GPL altamente configurabile per soddisfare le aspettative di connessione su qualsiasi sito. ProFTPD è progettato da zero quindi non utilizza un'altra copia e questo ci dà la possibilità di configurare numerose opzioni nella sua esecuzione.

ProFTPDProFTPD può essere eseguito in modo integrale sulle seguenti piattaforme:

  • AIX
  • BSD/OS
  • Cygwin
  • Unix digitale
  • DG / UX HP / UX
  • IRIX
  • Linux
  • Mac OS
  • SCO
  • FreeBSD
  • NetBSD
  • OpenBSD
  • Solaris
  • SunOS
  • Linux per IBM S/390, zSeries

Funzionalità ProFTPDTra le sue caratteristiche troviamo:

  • Ha un unico file di configurazione principale, con direttive e gruppi di direttive intuitivi per qualsiasi utente che abbia utilizzato Apache.
  • Ha una directory ".ftpaccess" la cui configurazione è simile a quella di Apache ".htaccess"
  • Possibilità di configurare più server FTP virtuali e servizi FTP anonimi
  • Progettato per funzionare come server autonomo o da inetd / xinetd, a seconda del carico del sistema
  • Le directory root FTP anonime non richiedono alcuna struttura di directory specifica, binari di sistema o altri file di sistema per una facile amministrazione
  • Nessun comando SITE EXEC. Negli ambienti Internet moderni, questi comandi sono un incubo per la sicurezza
  • Il codice sorgente è disponibile per gli amministratori e gli sviluppatori per controllare il sistema
  • Ha file e directory nascosti, basati su permessi in stile Unix o proprietà di utenti/gruppi
  • Funziona come un utente non privilegiato configurabile in modalità standalone per ridurre le possibilità di attacchi che potrebbero sfruttare le capacità "root". Nota: questa funzione dipende dalle capacità del sistema host Unix
  • Registro e supporto utmp/wtmp. La registrazione è conforme allo standard wu-ftpd, con registrazione estesa disponibile
  • Supporto per il set di password Shadow, incluso il supporto per gli account scaduti
  • Si basa su un design modulare, che ci consente di espandere facilmente il server con moduli. I moduli sono stati scritti per database SQL, server LDAP, crittografia SSL/TLS, supporto RADIUS, ecc.
  • Supporta IPv6.

1. Come installare EPEL su CentOS 7

Passo 1
Il primo passo da compiere è installare il repository EPEL per ottenere successivamente ProFTPD, per questo eseguiamo quanto segue:

 yum -y install epel-release

Passo 2
Una volta terminato questo processo, vedremo questo:

Passaggio 3
Ora importeremo la chiave EPEL GPG usando la seguente riga:

 rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7
Procediamo con l'aggiornamento dei pacchetti di sistema:
 yum -y aggiornamento

2. Come installare ProFTPD su Come installare EPEL su CentOS 7


Il prossimo passo da compiere sarà installare l'utilità ProFTPD e OpenSSL eseguendo quanto segue:
 yum install -y proftpd openssl proftpd-utils

Una volta terminato questo processo, eseguiremo le seguenti righe:

 systemctl start proftpd.service (avvia il servizio ProFTPD) systemctl enable proftpd.service (abilita il servizio ProFTPD insieme all'avvio di CentOS)

3. Come configurare il firewall


Se Firewalld è installato su CentOS 7, dobbiamo configurarlo con firewall-cmd per aprire la porta FTP come segue:
 firewall-cmd --add-service = ftp --permanent firewall-cmd -reload

Procediamo con la verifica della versione installata di ProFTPD:

 proftpd -v

4. Come creare utenti e gruppi per ProFTPD in CentOS 7


Una volta installato ProFTPD in CentOS 7, è necessario creare il gruppo e l'utente per l'accesso, in questo caso creeremo un gruppo ftpgroup e un utente solvetic1 per ProFTPD e definiremo / ftpshare come directory principale per l'utente creato:
 groupadd ftpgroup useradd -G ftpgroup solvetic1 -s / sbin / nologin -d / ftpshare passwd solvetic1

Lì dobbiamo inserire e confermare la rispettiva password per il nuovo utente. Fatto ciò, concederemo i permessi a ftpshare eseguendo:

 chmod -R 1750 / ftpshare /

5. Come abilitare TLS in ProFTPD


Ora sarà necessario per noi proteggere le connessioni FTP usando TLS e per questo, dobbiamo aprire il file /etc/proftpd/proftpd.conf ma è l'ideale prima di modificare il file, creare una copia di backup del file originale e poi modifica il file con nano .

Passo 1
Per creare la copia eseguiamo:

 cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
Per accedere al file useremo nano ed eseguiremo:
 nano /etc/proftpd.conf
Nel file visualizzato inseriremo quanto segue sotto la riga DefaultRoot ~! Adm:
 PassivePorts 6000 6100

Passo 2
Oltre a questo, commenteremo le seguenti righe:

 # TLSEngine su TLSRobbligatorio su TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:! ADH:! DES TLSOptions TLVS000TSVLSOptions TLSOptions 512 TLSRequestRequest offVrichiesto TLSOptions richiesto 36 NoCertRequest000 offStriatet000 TLSOptions obbligatorio NoCertRequest timeout 300 TLSLog /var/log/proftpd/tls.log # # TLSSessionCache shm: / file = / var / run / proftpd / sesscache # #
Passaggio 3
Salviamo le modifiche utilizzando i tasti Ctrl + O ed usciamo dall'editor utilizzando i tasti Ctrl + X. Come possiamo vedere, le porte 6000 e 6100 sono state aggiunte per consentire la modalità passiva di ftp, per consentire questo accesso eseguiremo quanto segue :
 firewall-cmd --add-port = 6000-6100 / tcp --permanent firewall-cmd --reload

Passaggio 4
Se vogliamo vedere lo stato delle porte possiamo eseguire quanto segue:

 firewall-cmd --list-ports

Passaggio 5
Ora sarà necessario configurare SELINUX per consentire la lettura e la scrittura dei file, eseguiamo quanto segue:

 setsebool -P allow_ftpd_full_access = 1

Passaggio 6
Per utilizzare TLS sarà necessario creare un certificato SSL, lo creeremo nel percorso /etc/pki/tls/certs, come segue:

 openssl req -x509 -nodes -newkey rsa: 1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Verranno visualizzate le seguenti domande in cui inseriremo risposte come:
  • Città
  • Nazione
  • Organizzazione
  • Posta e altro

Passaggio 7
Ora, per motivi di sicurezza, configureremo i certificati in modo che siano leggibili solo in questo modo:

 chmod 0440 /etc/pki/tls/certs/proftpd.pem
Infine, riavviamo il servizio ProFTPD eseguendo quanto segue:
 systemctl riavvia proftpd.service

6. Come accedere a CentOS tramite FTP

Passo 1
Per accedere a CentOS tramite FTP possiamo utilizzare un client FTP e per questo caso utilizzeremo Filezilla che può essere scaricato al seguente link:

Filezilla

Quando accediamo a Filezilla andiamo al menu File e lì selezioniamo l'opzione Gestore sito per creare la configurazione del nostro accesso, inseriremo quanto segue:

server192.168.0.9 (CentOS 7 IP)
ProtocolloFTP
CrittografiaRichiede FTP esplicito su TLS
Modalità di accessoNormale
Utentesolvetic1 (creato durante l'installazione)
portaQuesto può essere vuoto se non è stata personalizzata una porta diversa dalla 21, che è l'impostazione predefinita.
Parola d'ordineCreato durante la configurazione dell'utente

INGRANDIRE

Passo 2
Una volta definito questo, fare clic su Connetti per accedere al nostro server CentOS e da qui avviare la connessione, questo processo può essere eseguito da Windows, macOS o Linux, quando clicchiamo lì, verrà visualizzato il seguente messaggio:

Dettagli del messaggioLì possiamo vedere dettagli come:

  • Algoritmi, data di validità e impronte digitali del certificato
  • Dati del certificato come configurati al momento della creazione
  • Dati di sessione con indirizzo IP, utente, password e tipo di crittografia

Passaggio 3
Possiamo attivare la casella Attendi sempre il certificato nelle sessioni future per evitare che questo messaggio venga visualizzato su ogni connessione con CentOS 7.

Se questo è corretto, fare clic sul pulsante OK e in questo modo ci collegheremo a CentOS 7 utilizzando ProFTPD:

INGRANDIRE

Lì possiamo avviare il processo di navigazione senza problemi.

Passaggio 4
Nel caso in cui desideri configurare l'utente anonimo per l'accesso FTP, creeremo il seguente file:

 nano /etc/proftpd.conf
Lì incolleremo quanto segue:
 […] ### Condivisione anonima ##### Utente ftp Group ftp UserAlias ​​ftp anonimo DirFakeUser su ftp DirFakeGroup su ftp MaxClients 10 DenyAll 
Salviamo le modifiche usando i tasti Ctrl + O e usciamo usando Ctrl + X.

Passaggio 5
Infine riavviamo il servizio:

 systemctl riavvia proftpd.service
Abbiamo visto come ProFTPD sia uno strumento utile per stabilire una connessione integrata ai nostri server, garantendo così una comunicazione integrata e completamente agile dei file.

Ricorda che ProFTPD è disponibile per vari sistemi quindi il suo utilizzo è ampio.

wave wave wave wave wave