Hoe ProFTPD op CentOS 7 te installeren

Een van de veiligste en meest traditionele verbindingsmethoden in elke organisatie is FTP (File Transfer Protocol), waarmee bestanden tussen twee computers op een TCP-netwerk kunnen worden overgedragen.
Het ontwerp is gebaseerd op de client-server-architectuur, waarmee het mogelijk is om een ​​clientcomputer te gebruiken van waaruit we verbinding kunnen maken met een server om er bestanden van te downloaden of om bestanden te verzenden, ongeacht het besturingssysteem dat op elk van de computers wordt gebruikt, van daaruit de brede acceptatie van dit protocol.

Een van de hulpprogramma's die we beschikbaar hebben om nog meer beveiliging aan de FTP-verbinding toe te voegen, is ProFTPD, dat we vandaag zullen analyseren in CentOS 7.

Wat is ProFTPDProFTPD is in feite een zeer configureerbare FTP-serversoftware met GPL-licentie om aan de verbindingsverwachtingen op elke site te voldoen. ProFTPD is helemaal opnieuw ontworpen, zodat het geen andere kopie gebruikt en dit geeft ons de mogelijkheid om tal van opties in de uitvoering ervan te configureren.

ProFTPDProFTPD kan integraal op de volgende platformen draaien:

  • AIX
  • BSD / OS
  • Cygwin
  • Digitale Unix
  • DG / UX HP / UX
  • IRIX
  • Linux
  • macOS
  • SCO
  • GratisBSD
  • NetBSD
  • OpenBSD
  • Solaris
  • SunOS
  • Linux voor IBM S / 390, zSeries

ProFTPD-functiesOnder zijn kenmerken vinden we:

  • Het heeft een enkel hoofdconfiguratiebestand, met richtlijnen en groepen richtlijnen die intuïtief zijn voor elke gebruiker die Apache heeft gebruikt.
  • Het heeft een map ".ftpaccess" waarvan de configuratie vergelijkbaar is met Apache's ".htaccess"
  • Mogelijkheid om meerdere virtuele FTP-servers en anonieme FTP-services te configureren
  • Ontworpen om te draaien als een zelfstandige server of vanuit inetd / xinetd, afhankelijk van de systeembelasting
  • Anonieme FTP-hoofdmappen vereisen geen specifieke mappenstructuur, systeembinaire bestanden of andere systeembestanden voor eenvoudig beheer
  • Geen SITE EXEC-opdracht. In moderne internetomgevingen zijn deze commando's een beveiligingsnachtmerrie
  • De broncode is beschikbaar voor beheerders en ontwikkelaars om het systeem te controleren
  • Heeft verborgen bestanden en mappen, gebaseerd op Unix-stijl permissies of gebruikers-/groepseigendom
  • Het werkt als een configureerbare niet-bevoorrechte gebruiker in de stand-alone modus om de kans op aanvallen te verkleinen die de "root"-mogelijkheden zouden kunnen misbruiken. Opmerking: deze functie hangt af van de mogelijkheden van het Unix-hostsysteem
  • Register en utmp / wtmp-ondersteuning. Registratie voldoet aan de wu-ftpd-standaard, met uitgebreide registratie beschikbaar
  • Ondersteuning voor de Shadow-wachtwoordset, inclusief ondersteuning voor verlopen accounts
  • Het is gebaseerd op een modulair ontwerp, waardoor we de server eenvoudig kunnen uitbreiden met modules. De modules zijn geschreven voor SQL databases, LDAP servers, SSL/TLS encryptie, RADIUS ondersteuning, etc.
  • Ondersteunt IPv6.

1. Hoe EPEL op CentOS 7 te installeren

Stap 1
De eerste stap die u moet nemen, is het installeren van de EPEL-repository om later ProFTPD te verkrijgen, hiervoor voeren we het volgende uit:

 yum -y installeer epel-release

Stap 2
Zodra dit proces is voltooid, zien we dit:

Stap 3
Nu gaan we de EPEL GPG-sleutel importeren met behulp van de volgende regel:

 rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7
We gaan verder met het updaten van de systeempakketten:
 yum -y update

2. Hoe ProFTPD te installeren op Hoe EPEL te installeren op CentOS 7


De volgende stap die u moet nemen, is het installeren van het hulpprogramma ProFTPD en OpenSSL door het volgende uit te voeren:
 yum install -y proftpd openssl proftpd-utils

Zodra dit proces is voltooid, gaan we de volgende regels uitvoeren:

 systemctl start proftpd.service (start de ProFTPD-service) systemctl activeer proftpd.service (schakelt de ProFTPD-service naast het opstarten van CentOS in)

3. Firewall configureren


Als Firewalld is geïnstalleerd op CentOS 7, moeten we het configureren met firewall-cmd om de FTP-poort als volgt te openen:
 firewall-cmd --add-service = ftp --permanente firewall-cmd -reload

We gaan verder met het verifiëren van de geïnstalleerde versie van ProFTPD:

 proftpd -v

4. Hoe gebruikers en groepen aan te maken voor ProFTPD in CentOS 7


Zodra ProFTPD is geïnstalleerd in CentOS 7, is het om de groep en gebruiker voor toegang te maken, in dit geval gaan we een ftpgroup-groep en een solvetic1-gebruiker voor ProFTPD maken, en we gaan / ftpshare definiëren als de thuismap voor de aangemaakte gebruiker:
 groupadd ftpgroup useradd -G ftpgroup solvetic1 -s / sbin / nologin -d / ftpshare passwd solvetic1

Daar moeten we het respectieve wachtwoord voor de nieuwe gebruiker invoeren en bevestigen. Zodra dit is gebeurd, zullen we de rechten aan ftpshare verlenen door het volgende uit te voeren:

 chmod -R 1750 / ftpshare /

5. TLS inschakelen in ProFTPD


Nu zullen we de FTP-verbindingen moeten beveiligen met behulp van TLS en hiervoor moeten we het bestand /etc/proftpd/proftpd.conf openen, maar het is ideaal voordat u het bestand bewerkt, een reservekopie van het originele bestand maakt en vervolgens bewerk het bestand met nano .

Stap 1
Om de kopie te maken, voeren we uit:

 cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
Om toegang te krijgen tot het bestand zullen we nano gebruiken en uitvoeren:
 nano /etc/proftpd.conf
In het weergegeven bestand zullen we onder de regel DefaultRoot ~!Adm het volgende invoeren:
 Passieve Poorten 6000 6100

Stap 2
Daarnaast geven we commentaar op de volgende regels:

 # TLSEngine op TLSRequired op TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLS Request required vereist TLSOptions 36 NoCertRequest000 offStriatet000 vereist TLSOptions NoCertRequest time-out 300 TLSLog /var/log/proftpd/tls.log # # TLSSessionCache shm: / file = / var / run / proftpd / sesscache # #
Stap 3
We slaan de wijzigingen op met de toetsen Ctrl + O en verlaten de editor met de toetsen Ctrl + X. Zoals we kunnen zien, zijn poorten 6000 en 6100 toegevoegd om de passieve modus van ftp mogelijk te maken, om deze toegang toe te staan ​​zullen we het volgende uitvoeren :
 firewall-cmd --add-port = 6000-6100 / tcp --permanente firewall-cmd --reload

Stap 4
Als we de status van de poorten willen zien, kunnen we het volgende uitvoeren:

 firewall-cmd --list-ports

Stap 5
Nu zal het nodig zijn om SELINUX te configureren om het lezen en schrijven van de bestanden mogelijk te maken, we voeren het volgende uit:

 setsebool -P allow_ftpd_full_access = 1

Stap 6
Om TLS te gebruiken, is het nodig om een ​​SSL-certificaat aan te maken, we zullen dit als volgt aanmaken in het pad / etc / pki / tls / certs:

 openssl req -x509 -nodes -newkey rsa: 1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
De volgende vragen worden weergegeven waar we antwoorden zullen invoeren, zoals:
  • Stad
  • Land
  • Organisatie
  • Mail en meer

Stap 7
Om veiligheidsredenen zullen we de certificaten nu zo configureren dat ze alleen als volgt leesbaar zijn:

 chmod 0440 /etc/pki/tls/certs/proftpd.pem
Ten slotte herstarten we de ProFTPD-service door het volgende uit te voeren:
 systemctl herstart proftpd.service

6. Toegang krijgen tot CentOS via FTP

Stap 1
Om toegang te krijgen tot CentOS via FTP kunnen we een FTP-client gebruiken en in dit geval zullen we Filezilla gebruiken die kan worden gedownload via de volgende link:

Filezilla

Bij het openen van Filezilla gaan we naar het menu Bestand en daar selecteren we de optie Sitebeheer om de configuratie van onze toegang te maken, we zullen het volgende invoeren:

Server192.168.0.9 (CentOS 7 IP)
ProtocolFTP
EncryptieVereist expliciete FTP via TLS
Toegangsmodus:normaal
Gebruikersolvetic1 (gemaakt tijdens installatie)
havenDit kan leeg zijn als een andere poort dan 21 niet is aangepast, wat standaard is.
WachtwoordGemaakt tijdens gebruikersconfiguratie

VERGROTEN

Stap 2
Zodra dit is gedefinieerd, klikt u op Verbinden om toegang te krijgen tot onze CentOS-server en start u vanaf hier de verbinding, dit proces kan worden gedaan vanuit Windows, macOS of Linux, wanneer we daar klikken, wordt het volgende bericht weergegeven:

BerichtdetailsDaar kunnen we details zien zoals:

  • Algoritmen, geldigheidsdatum en vingerafdrukken van het certificaat
  • Certificaatgegevens zoals geconfigureerd op het moment van aanmaak
  • Sessiegegevens met IP-adres, gebruiker, wachtwoorden en type codering

Stap 3
We kunnen het vak Altijd het certificaat vertrouwen in toekomstige sessies activeren om te voorkomen dat dit bericht wordt weergegeven bij elke verbinding met CentOS 7.

Als dit correct is, klik dan op de OK-knop en op deze manier worden we verbonden met CentOS 7 met behulp van ProFTPD:

VERGROTEN

Daar kunnen we het browseproces probleemloos starten.

Stap 4
Als u de anonieme gebruiker wilt configureren voor FTP-toegang, gaan we het volgende bestand maken:

 nano /etc/proftpd.conf
Daar plakken we het volgende:
 […] ### Anoniem delen ##### Gebruiker ftp Group ftp UserAlias ​​​​anonieme ftp DirFakeUser op ftp DirFakeGroup op ftp MaxClients 10 DenyAll 
We slaan de wijzigingen op met de toetsen Ctrl + O en sluiten af ​​met Ctrl + X.

Stap 5
Eindelijk herstarten we de service:

 systemctl herstart proftpd.service
We hebben gezien hoe ProFTPD een handig hulpmiddel is om een ​​geïntegreerde verbinding met onze servers tot stand te brengen en zo een geïntegreerde en volledig flexibele communicatie van de bestanden te garanderen.

Onthoud dat ProFTPD beschikbaar is voor verschillende systemen, dus het gebruik ervan is breed.

wave wave wave wave wave