En av de säkraste och traditionella anslutningsmetoderna i någon organisation är FTP (File Transfer Protocol) som tillåter överföring av filer mellan två datorer i ett TCP -nätverk.
Dess design är baserad på klient-server-arkitekturen, med vilken det är möjligt att använda en klientdator där vi kan ansluta till en server för att ladda ner filer från den eller för att skicka filer oavsett operativsystemet som används i var och en av datorerna, därifrån den stora acceptansen av detta protokoll.
Ett av verktygen som vi har tillgängliga för att lägga till ännu mer säkerhet för FTP -anslutningen är ProFTPD som vi kommer att analysera idag i CentOS 7.
Vad är ProFTPDProFTPD är i grunden en mycket konfigurerbar GPL -licensierad FTP -serverprogramvara för att uppfylla anslutningens förväntningar på vilken webbplats som helst. ProFTPD är designat från grunden så att den inte använder en annan kopia och detta ger oss möjlighet att konfigurera många alternativ i dess utförande.
ProFTPDProFTPD kan köras på följande plattformar på ett integrerat sätt:
- AIX
- BSD / OS
- Cygwin
- Digital Unix
- DG / UX HP / UX
- IRIX
- Linux
- Mac OS
- SCO
- FreeBSD
- NetBSD
- OpenBSD
- Solaris
- SunOS
- Linux för IBM S / 390, zSeries
ProFTPD -funktionerBland dess egenskaper hittar vi:
- Den har en enda huvudkonfigurationsfil med direktiv och grupper av direktiv som är intuitiva för alla användare som har använt Apache.
- Den har en ".ftpaccess" -katalog vars konfiguration liknar Apaches ".htaccess"
- Möjlighet att konfigurera flera virtuella FTP -servrar och anonyma FTP -tjänster
- Utformad för att köra som en fristående server eller från inetd / xinetd, beroende på systembelastning
- Anonyma FTP -rotkataloger kräver ingen specifik katalogstruktur, systemfiler eller andra systemfiler för enkel administration
- Inget SITE EXEC -kommando. I moderna internetmiljöer är dessa kommandon en säkerhetsmardröm
- Källkoden är tillgänglig för administratörer och utvecklare för att granska systemet
- Har dolda filer och kataloger, baserat på behörigheter i Unix-stil eller ägare av användare / grupp
- Den körs som en konfigurerbar icke-privilegierad användare i fristående läge för att minska risken för attacker som kan utnyttja "root" -funktioner. Obs! Den här funktionen beror på Unix -värdsystemets funktioner
- Stöd för register och utmp / wtmp. Registreringen följer wu-ftpd-standarden, med utökad registrering tillgänglig
- Stöd för Shadow -lösenordsuppsättningen, inklusive support för utgångna konton
- Den är baserad på en modulär design, som gör att vi enkelt kan utöka servern med moduler. Modulerna har skrivits för SQL -databaser, LDAP -servrar, SSL / TLS -kryptering, RADIUS -stöd, etc.
- Stöder IPv6.
1. Så här installerar du EPEL på CentOS 7
Steg 1
Det första steget att ta är att installera EPEL -förvaret för att senare få ProFTPD, för detta utför vi följande:
yum -y installera epel -release
Steg 2
När denna process är klar ser vi detta:
Steg 3
Nu ska vi importera EPEL GPG -nyckeln med följande rad:
rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7Vi fortsätter att uppdatera systempaketen:
yum -y uppdatering
2. Hur man installerar ProFTPD på Hur man installerar EPEL på CentOS 7
Nästa steg att ta är att installera verktyget ProFTPD och OpenSSL genom att köra följande:
yum installera -y proftpd openssl proftpd -utils
När denna process är klar kommer vi att utföra följande rader:
systemctl start proftpd.service (startar ProFTPD -tjänsten) systemctl enable proftpd.service (aktiverar ProFTPD -tjänsten vid sidan av CentOS -start)
3. Så här konfigurerar du brandväggen
Om Firewalld är installerat på CentOS 7 måste vi konfigurera det med brandvägg-cmd för att öppna FTP-porten enligt följande:
brandvägg-cmd --add-service = ftp --permanent brandvägg-cmd -reload
Vi fortsätter att verifiera den installerade versionen av ProFTPD:
proftpd -v
4. Hur man skapar användare och grupp för ProFTPD i CentOS 7
När ProFTPD är installerat i CentOS 7 är det att skapa gruppen och användaren för åtkomst, i det här fallet kommer vi att skapa en ftpgroup -grupp och en solvetic1 -användare för ProFTPD, och vi kommer att definiera / ftpshare som hemkatalogen för den skapade användaren:
groupadd ftpgroup useradd -G ftpgroup solvetic1 -s / sbin / nologin -d / ftpshare passwd solvetic1
Där måste vi ange och bekräfta respektive lösenord för den nya användaren. När detta är gjort ger vi tillstånd för ftpshare genom att köra:
chmod -R 1750 / ftpshare /
5. Så här aktiverar du TLS i ProFTPD
Nu kommer det att bli nödvändigt för oss att säkra FTP -anslutningarna med TLS och för detta måste vi öppna filen /etc/proftpd/proftpd.conf men det är idealiskt innan du redigerar filen, skapa en säkerhetskopia av originalfilen och sedan redigera filen med nano.
Steg 1
För att skapa kopian kör vi:
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bakFör att komma åt filen använder vi nano och kör:
nano /etc/proftpd.confI den visade filen kommer vi att ange följande under raden DefaultRoot ~! Adm:
PassivePorts 6000 6100
Steg 2
Utöver detta kommer vi att kommentera följande rader:
# TLSEngine på TLSRequired på TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL :! ADH :! DES TLSOptions 512RequestRequest offStriate krävs TLSV000 offSV000 krävs TLSOptions NoCertRequest00 TLSV000 offStrify krävs TLSOptions 36 NoCertRequest000 offStriatet000 krävs TLSOptions NoCertRequest timeout 300 TLSLog /var/log/proftpd/tls.log # # TLSSessionCache shm: / file = / var / run / proftpd / sesscache # #Steg 3
Vi sparar ändringarna med Ctrl + O -tangenterna och avslutar redigeraren med Ctrl + X -tangenterna. Som vi kan se har portar 6000 och 6100 lagts till för att tillåta passivt läge för ftp, för att tillåta denna åtkomst kommer vi att utföra följande :
brandvägg-cmd --add-port = 6000-6100 / tcp-permanent brandvägg-cmd-ladda om
Steg 4
Om vi vill se status för portarna kan vi utföra följande:
brandvägg-cmd --list-portar
Steg 5
Nu kommer det att vara nödvändigt att konfigurera SELINUX för att tillåta läsning och skrivning av filerna, vi utför följande:
setsebool -P allow_ftpd_full_access = 1
Steg 6
För att använda TLS kommer det att vara nödvändigt att skapa ett SSL -certifikat, vi skapar detta i sökvägen / etc / pki / tls / certs enligt följande:
openssl req -x509 -noder -nykey rsa: 1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pemFöljande frågor kommer att visas där vi skriver in svar som:
- Stad
- Land
- Organisation
- Mail och mer
Steg 7
Av säkerhetsskäl kommer vi nu att konfigurera certifikaten så att de bara kan läsas så här:
chmod 0440 /etc/pki/tls/certs/proftpd.pemSlutligen startar vi om ProFTPD -tjänsten genom att köra följande:
systemctl startar om proftpd.service
6. Så här får du åtkomst till CentOS med FTP
Steg 1
För att komma åt CentOS med FTP kan vi använda en FTP -klient och i det här fallet kommer vi att använda Filezilla som kan laddas ner på följande länk:
Filezilla
När vi öppnar Filezilla går vi till Arkiv -menyn och där väljer vi alternativet Platshanterare för att skapa konfigurationen för vår åtkomst, vi kommer att ange följande:
Server192.168.0.9 (CentOS 7 IP)
ProtokollFTP
KrypteringKräver tydlig FTP över TLS
ÅtkomstlägeVanligt
Användaresolvetic1 (Skapad under installationen)
hamnDetta kan vara tomt om en annan port än 21 inte har anpassats, vilket är standard.
LösenordSkapades under användarinställningen
FÖRSTORA
Steg 2
När detta är definierat klickar du på Anslut för att komma åt vår CentOS -server och härifrån startar du anslutningen, denna process kan göras från Windows, macOS eller Linux, när vi klickar där visas följande meddelande:
MeddelandeinformationDär kan vi se detaljer som:
- Algoritmer, giltighetsdatum och certifikatets fingeravtryck
- Certifikatdata som konfigurerad vid skapandet
- Sessionsdata med IP -adress, användare, lösenord och typ av kryptering
Steg 3
Vi kan aktivera rutan Alltid lita på certifikatet i framtida sessioner för att förhindra att detta meddelande visas på varje anslutning till CentOS 7.
Om detta är korrekt, klicka på OK -knappen och på så sätt kommer vi att anslutas till CentOS 7 med ProFTPD:
FÖRSTORA
Där kan vi starta surfprocessen utan problem.
Steg 4
Om du vill konfigurera den anonyma användaren för FTP -åtkomst kommer vi att skapa följande fil:
nano /etc/proftpd.confDär klistrar vi in följande:
[…] ### Anonym delning ##### Användare ftp Group ftp UserAlias anonym ftp DirFakeUser på ftp DirFakeGroup på ftp MaxClients 10 DenyAllVi sparar ändringarna med Ctrl + O -tangenterna och avslutar med Ctrl + X.
Steg 5
Slutligen startar vi om tjänsten:
systemctl startar om proftpd.serviceVi har sett hur ProFTPD är ett användbart verktyg för att upprätta en integrerad anslutning till våra servrar, vilket garanterar en integrerad och helt smidig kommunikation av filerna.
Kom ihåg att ProFTPD är tillgängligt för olika system så dess användning är bred.