Eine der sichersten und traditionellsten Verbindungsmethoden in einer Organisation ist FTP (File Transfer Protocol) , mit dem Dateien zwischen zwei Computern in einem TCP-Netzwerk übertragen werden können.
Sein Design basiert auf der Client-Server- Architektur , mit der es möglich ist, einen Client-Computer zu verwenden, von dem aus eine Verbindung zu einem Server hergestellt werden kann, um Dateien von diesem Computer herunterzuladen oder zu senden, unabhängig von dem auf jedem Computer verwendeten Betriebssystem. Da ist der weite Empfang dieses Protokolls.
Eines der Hilfsprogramme, die wir zur Verfügung haben, um die FTP-Verbindung noch sicherer zu machen, ist ProFTPD, das wir heute in CentOS 7 analysieren werden.
- AIX
- BSD / OS
- Cygwin
- Digitales Unix
- DG / UX HP / UX
- IRIX
- Linux
- macOS
- SCO
- FreeBSD
- NetBSD
- OpenBSD
- Solaris
- SunOS
- Linux für IBM S / 390, zSeries
- Es verfügt über eine einzige Hauptkonfigurationsdatei mit Anweisungen und Richtliniengruppen, die für alle Benutzer, die Apache verwendet haben, intuitiv sind.
- Es hat ein “.ftpaccess” -Verzeichnis, dessen Konfiguration Apaches “.htaccess” ähnelt.
- Möglichkeit zum Konfigurieren mehrerer virtueller FTP-Server und anonymer FTP-Dienste
- Entwarf, als allein stehender Bediener oder von inetd / xinetd abhängig von Systemlast zu laufen
- Die anonymen FTP-Stammverzeichnisse erfordern keine bestimmte Verzeichnisstruktur, Systembinärdateien oder andere Systemdateien, die ihre Verwaltung erleichtern
- Ohne SITE EXEC-Befehl. In modernen Internetumgebungen sind diese Befehle ein Sicherheitsalptraum
- Der Quellcode steht Administratoren und Entwicklern zur Überprüfung des Systems zur Verfügung
- Es verfügt über versteckte Verzeichnisse und Dateien, basierend auf Unix-Berechtigungen oder Benutzer- / Gruppeneigenschaften
- Es wird als Benutzer ausgeführt, der im unabhängigen Modus ohne Berechtigungen konfiguriert werden kann, um die Möglichkeiten von Angriffen zu verringern, die die Fähigkeiten von “root” ausnutzen könnten. Hinweis: Diese Funktion hängt von den Funktionen des Unix-Hostsystems ab
- Registrierungsunterstützung und utmp / wtmp. Die Registrierung ist mit dem wu-ftpd-Standard kompatibel, ein erweiterter Datensatz ist verfügbar
- Kompatibilität mit dem festgelegten Shadow-Kennwort, einschließlich Unterstützung für abgelaufene Konten
- Es basiert auf einem modularen Aufbau, der eine einfache Erweiterung des Servers um Module ermöglicht. Die Module wurden für SQL-Datenbanken, LDAP-Server, SSL / TLS-Verschlüsselung, RADIUS-Unterstützung usw. geschrieben.
- Unterstützt IPv6.
1. So installieren Sie EPEL unter CentOS 7
Der erste Schritt besteht darin, das EPEL-Repository zu installieren, damit es später von ProFTPD bezogen werden kann. Dazu führen wir Folgendes aus:
yum -y installiere das Epel-Release
Sobald dieser Vorgang abgeschlossen ist, sehen wir Folgendes:
Importieren wir nun den GPG-Schlüssel von EPEL über die folgende Zeile:
rpm - Importieren Sie / etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7
Wir aktualisieren die Systempakete:
yum -y update
2. So installieren Sie ProFTPD unter So installieren Sie EPEL unter CentOS 7
Der nächste Schritt besteht darin, das Dienstprogramm ProFTPD und OpenSSL zu installieren, indem Sie Folgendes ausführen:
yum install -y proftpd openssl proftpd-utils
Sobald dieser Prozess abgeschlossen ist, werden wir die folgenden Zeilen ausführen:
systemctl start proftpd.service (Starten Sie den ProFTPD-Dienst) systemctl enable proftpd.service (Aktiviert den ProFTPD-Dienst neben dem CentOS-Start)
3. So konfigurieren Sie die Firewall
Wenn Firewalld in CentOS 7 installiert ist, müssen wir es mit firewall-cmd konfigurieren, um den FTP-Port wie folgt zu öffnen:
firewall-cmd --add-service = ftp --permanent firewall-cmd-reload
Wir überprüfen nun die installierte Version von ProFTPD:
proftpd -v
4. Erstellen von Benutzern und Gruppen für ProFTPD in CentOS 7
Nach der Installation von ProFTPD in CentOS 7 müssen Sie die Gruppe und den Benutzer für den Zugriff erstellen. In diesem Fall erstellen Sie eine Gruppe ftpgroup und einen Benutzer solvetic1 für ProFTPD und definieren / ftpshare als Ausgangsverzeichnis für den erstellten Benutzer:
groupadd ftpgroup useradd -G ftpgroup solvetic1 -s / sbin / nologin -d / ftpshare passwd solvetic1
Dort müssen wir das entsprechende Passwort für den neuen Benutzer eingeben und bestätigen. Sobald dies erledigt ist, erteilen wir die Berechtigungen für ftpshare, indem wir Folgendes ausführen:
chmod -R 1750 / ftpshare /
5. Aktivieren von TLS in ProFTPD
Jetzt müssen die FTP-Verbindungen mit TLS gesichert werden. Dazu müssen wir die Datei /etc/proftpd/proftpd.conf öffnen. Dies ist jedoch ideal, bevor Sie die Datei bearbeiten, eine Sicherungskopie der Originaldatei erstellen und dann die Datei mit nano bearbeiten .
Um die Kopie zu erstellen, führen wir Folgendes aus:
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
Um auf die Datei zuzugreifen, werden wir nano verwenden und ausführen:
nano /etc/proftpd.conf
In der angezeigten Datei geben wir unter der Zeile DefaultRoot ~! Adm Folgendes ein:
PassivePorts 6000 6100
Darüber hinaus werden wir die folgenden Zeilen kommentieren:
# <IfDefine TLS> TLSEngine ein TLSErforderlich am TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:! ADH:! DES TLSOptions NoCertRequest TLSVerifyClient aus TLSRenegotiate ctrl 3600 data 512000 benötigt eine Zeitüberschreitung von 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm: / file = / var / run / proftpd / sesscache # </ IfModule> # </ IfDefine>
Speichern Sie die Änderungen mit den Tasten Strg + O und beenden Sie den Editor mit den Tasten Strg + X. Wie wir sehen, wurden die Ports 6000 und 6100 hinzugefügt, um den passiven FTP-Modus zu ermöglichen.
firewall-cmd --add-port = 6000-6100 / tcp --permanent firewall-cmd --reload
Wenn wir den Status der Ports sehen möchten, können wir Folgendes ausführen:
firewall-cmd --list-ports
Nun muss SELINUX konfiguriert werden, damit die Dateien gelesen und geschrieben werden können. Wir führen Folgendes aus:
setsebool -P allow_ftpd_full_access = 1
Um TLS zu verwenden, muss ein SSL-Zertifikat erstellt werden. Dieses wird im Pfad / etc / pki / tls / certs wie folgt erstellt:
openssl req -x509 -nodes -newkey rsa: 1024 -keyout /etc/pki/tls/certs/proftpd.pem -out / etc / pki / tls / certs / proftpd.pem
Die folgenden Fragen werden angezeigt, in die wir Antworten eingeben, z.
- Stadt
- Land
- Organisation
- Mail und mehr
Aus Sicherheitsgründen konfigurieren wir die Zertifikate jetzt so, dass sie nur so lesbar sind:
chmod 0440 /etc/pki/tls/certs/proftpd.pem
Schließlich starten wir den ProFTPD-Dienst neu, indem wir Folgendes ausführen:
systemctl proftpd.service neu starten
6. So greifen Sie über FTP auf CentOS zu
Für den Zugriff auf CentOS über FTP können wir einen FTP-Client verwenden. In diesem Fall verwenden wir Filezilla, das unter folgendem Link heruntergeladen werden kann:
Filezilla
Wenn Sie auf Filezilla zugreifen, rufen Sie das Menü Datei auf und wählen Sie dort die Option Site Manager, um die Konfiguration unseres Zugriffs zu erstellen. Wir geben Folgendes ein:
Klicken Sie nach der Definition auf Verbinden, um auf unseren CentOS-Server zuzugreifen. Starten Sie von hier aus die Verbindung. Dieser Vorgang kann unter Windows, MacOS oder Linux ausgeführt werden. Wenn Sie auf diese Schaltfläche klicken, wird die folgende Meldung angezeigt:
- Algorithmen, Gültigkeitsdatum und Spuren des Zertifikats
- Zertifikatdaten, wie sie zum Zeitpunkt der Erstellung konfiguriert wurden
- Daten der Sitzung mit IP-Adresse, Benutzer, Schlüsseln und Verschlüsselungsart
Wir können das Kontrollkästchen In zukünftigen Sitzungen immer dem Zertifikat vertrauen aktivieren, um zu verhindern, dass diese Meldung weiterhin in jeder Verbindung mit CentOS 7 angezeigt wird.
Wenn dies korrekt ist, klicken Sie auf OK und auf diese Weise werden wir über ProFTPD mit CentOS 7 verbunden:
Dort können wir den Navigationsvorgang problemlos starten.
Wenn Sie den anonymen Benutzer für den FTP-Zugriff konfigurieren möchten, erstellen wir die folgende Datei:
nano /etc/proftpd.conf
Dort werden wir folgendes festhalten:
[...] ### Anonymous share ##### <Anonymous ~ ftp> Benutzer ftp Group ftp UserAlias anonymes ftp DirFakeUser auf ftp DirFakeGroup auf ftp MaxClients 10 <Verzeichnis *> <Limit WRITE> DenyAll </ Limit> </ Directory> </ Anonymous>
Speichern Sie die Änderungen mit den Tastenkombinationen Strg + O und beenden Sie den Vorgang mit Strg + X.
Schließlich starten wir den Dienst neu:
systemctl proftpd.service neu starten
Wir haben gesehen, wie nützlich ProFTPD ist, um eine integrierte Verbindung zu unseren Servern herzustellen und so eine integrierte und vollständig flexible Kommunikation der Dateien zu gewährleisten.
Wir möchten Sie daran erinnern, dass ProFTPD für verschiedene Systeme verfügbar ist und daher eine breite Anwendung findet.