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-7Procediamo 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.bakPer accedere al file useremo nano ed eseguiremo:
nano /etc/proftpd.confNel 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.pemVerranno 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.pemInfine, 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.confLì incolleremo quanto segue:
[…] ### Condivisione anonima ##### Utente ftp Group ftp UserAlias ftp anonimo DirFakeUser su ftp DirFakeGroup su ftp MaxClients 10 DenyAllSalviamo le modifiche usando i tasti Ctrl + O e usciamo usando Ctrl + X.
Passaggio 5
Infine riavviamo il servizio:
systemctl riavvia proftpd.serviceAbbiamo 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.