RHCSA -Serie Installation, Konfiguration und Sicherung eines Web- und FTP -Servers - Teil 9

RHCSA -Serie Installation, Konfiguration und Sicherung eines Web- und FTP -Servers - Teil 9

Ein Webserver (auch als als bekannt Http Server) ist ein Dienst, der Inhalte (am häufigsten auf Webseiten, aber auch andere Dokumente) übernimmt.

Ein FTP -Server ist eines der ältesten und am häufigsten verwendeten Ressourcen (sogar bis heute), um Dateien für Clients in einem Netzwerk in Fällen zur Verfügung zu stellen, in denen keine Authentifizierung erforderlich ist, da FTP verwendet wird Nutzername Und Passwort ohne Verschlüsselung.

Der Webserver verfügbar in Rhel 7 ist Version 2.4 des Apache HTTP -Servers. Was den FTP -Server betrifft, verwenden wir den sehr sicheren FTP -Daemon (auch bekannt als auch bekannt als vsftpd) Verbindungen herzustellen, die von TLS gesichert sind.

RHCSA: Installieren, Konfigurieren und Sicherung von Apache und FTP - Teil 9

In diesem Artikel erläutern wir, wie Sie einen Webserver und einen FTP -Server in RHEL 7 installieren, konfigurieren und sichern und sichern und sichern.

Installieren von Apache und FTP Server

In diesem Handbuch verwenden wir einen RHEL 7 -Server mit einer statischen IP -Adresse von 192.168.0.18/24. Führen Sie den folgenden Befehl aus, um Apache und VSFTPD zu installieren:

# yum update && yum install httpd vsftpd 

Nach Abschluss der Installation werden beide Dienste zunächst deaktiviert. Daher müssen wir sie vorerst manuell starten und sie ermöglichen, mit dem nächsten Start automatisch zu beginnen:

# SystemCTL START HTTPD # SYSTEMCTL AUFTRAG HTTPD # SYSTEMCTL START VSFTPD # SystemCTL aktivieren 

Außerdem müssen wir Ports öffnen 80 Und 21, Wo die Web- und FTP -Daemons zuhören, um den Zugriff auf diese Dienste von außen zu ermöglichen:

# Firewall-cmd --zone = public --add-port = 80/tcp --permanent # Firewall-cmd --zone = public --add-service = ftp --permanent # firewall-cmd-Reload 

Um zu bestätigen, dass der Webserver ordnungsgemäß funktioniert, starten Sie Ihren Browser und geben Sie die IP des Servers ein. Sie sollten die Testseite sehen:

Bestätigen Sie den Apache -Webserver

Was den FTP -Server betrifft, müssen wir ihn weiter konfigurieren, was wir in einer Minute tun werden, bevor wir bestätigen, dass es wie erwartet funktioniert.

Konfigurieren und Sicherung von Apache -Webserver

Die Hauptkonfigurationsdatei für Apache befindet sich in /etc/httpd/conf/httpd.Conf, Aber es kann auf andere vorhandene Dateien, die im Inneren vorhanden sind /etc/httpd/conf.D.

Obwohl die Standardkonfiguration für die meisten Fälle ausreichen sollte, ist es eine gute Idee, mit allen verfügbaren Optionen vertraut zu sein, wie in der offiziellen Dokumentation beschrieben.

Erstellen Sie wie immer eine Sicherungskopie der Hauptkonfigurationsdatei, bevor Sie sie bearbeiten:

# CP/etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.Conf.$ (Datum +%y%M%d) 

Öffnen Sie es dann mit Ihrem bevorzugten Texteditor und suchen Sie nach den folgenden Variablen:

  1. Serverroot: Das Verzeichnis, in dem die Konfiguration, der Fehler und die Protokolldateien des Servers aufbewahrt werden.
  2. Hören: Weisen Sie Apache an, bestimmte IP -Adresse und / oder Ports anzuhören.
  3. Enthalten: Ermöglicht die Aufnahme anderer Konfigurationsdateien, die vorhanden sind. Andernfalls schlägt der Server im Gegensatz zur inciplesoptionalen Anweisung fehl. Dies wird stillschweigend ignoriert, wenn die angegebenen Konfigurationsdateien nicht vorhanden sind.
  4. Benutzer und Gruppe: Der Name des Benutzers/der Gruppe, um den HTTPD -Dienst als auszuführen.
  5. Dokument Root: Das Verzeichnis, aus dem Apache Ihren Dokumenten dient. Standardmäßig werden alle Anfragen aus diesem Verzeichnis gestellt, aber symbolische Links und Aliase können verwendet werden, um auf andere Standorte zu verweisen.
  6. Servername: Diese Anweisung legt den Hostnamen (oder die IP -Adresse) und den Port fest, den der Server verwendet, um sich selbst zu identifizieren.

Die erste Sicherheitsmaßnahme besteht aus der Erstellung eines dedizierten Benutzer und einer Gruppe (i.e. Tecmint/Tecmint) Um den Webserver als auszuführen und den Standardport auf einen höheren zu ändern (9000 in diesem Fall):

Serverroot "/etc/httpd" Hören 192.168.0.18: 9000 Benutzer Tecmint -Gruppe Tecmint DocumentRoot "/var/www/html" ServerName 192.168.0.18: 9000 

Sie können die Konfigurationsdatei mit testen.

# apachectl configtest 

Und wenn alles ist OK, Starten Sie dann den Webserver neu.

# Systemctl Neustart HTTPD neu starten 

Und vergessen Sie nicht, den neuen Port zu aktivieren (und den alten zu deaktivieren) in der Firewall:

# Firewall-cmd --zone = public-remove-port = 80/tcp --permanent # Firewall-cmd --zone = public --add-port = 9000/tcp --permanent # Firewall-CMD-Reload 

Beachten Sie, dass aufgrund von Selinux Richtlinien können Sie nur die von der zurückgegebenen Ports verwenden

# Semanage Port -l | grep -w '^http_port_t' 

Für den Webserver.

Wenn Sie einen anderen Port verwenden möchten (ich.e. TCP -Port 8100), Sie müssen es hinzufügen Selinux Portkontext für die httpd Service:

# Semanage Port -a -t http_port_t -p tcp 8100 
Fügen Sie den Selinux -Richtlinien Apache -Port hinzu

Befolgen Sie die folgenden Schritte, um Ihre Apache -Installation weiter zu sichern:

1. Der Benutzer Apache wird ausgeführt, da es keinen Zugriff auf eine Shell haben sollte:

# Usermod -s /sbin /nologin tecmint 

2. Deaktivieren Sie die Verzeichnisauflistung, um zu verhindern, dass der Browser den Inhalt eines Verzeichnisses angezeigt wird Index.html in diesem Verzeichnis vorhanden.

Bearbeiten /etc/httpd/conf/httpd.Conf (und die Konfigurationsdateien für virtuelle Hosts, falls vorhanden) und stellen Sie sicher, dass die Optionen Die Richtlinie sowohl oben als auch auf Verzeichnisblockeben Keiner:

Optionen keine 

3. Verstecken Sie Informationen über den Webserver und das Betriebssystem in HTTP -Antworten. Bearbeiten /etc/httpd/conf/httpd.Conf folgendermaßen:

Serververtokens produzieren Serverssignatur aus 

Jetzt sind Sie bereit, Inhalte von Ihrem zu bedienen /var/www/html Verzeichnis.

FTP -Server konfigurieren und sichern

Wie im Fall von Apache die Hauptkonfigurationsdatei für Vsftpd (/etc/vsftpd/vsftpd.conf) ist gut kommentiert und während die Standardkonfiguration für die meisten Anwendungen ausreichen sollte, sollten Sie sich mit der Dokumentation und der Mannseite vertraut machen (Mann vsftpd.conf) Um den FTP -Server effizienter zu betreiben (ich kann das nicht ausreichend betonen!).

In unserem Fall sind dies die verwendeten Richtlinien:

anonymous_enable = no local_enable = yes write_enable = yes local_umask = 022 DIRMessage_Enable = yes xferlog_enable = yes Connect_From_Port_20 = yes xferlog_std_format = yes yeshöte = yeshörig = j y yesh lous = vSdlylwry = vsftd 

Durch die Nutzung chroot_local_user = ja, Lokale Benutzer werden (standardmäßig) gleich nach dem Anmeldung in einem chrootierten Gefängnis in ihrem Heimverzeichnis platziert. Dies bedeutet, dass lokale Benutzer nicht in der Lage sind, auf Dateien außerhalb der entsprechenden Heimverzeichnisse zugreifen zu können.

Um FTP zuzulassen, um Dateien im Home -Verzeichnis des Benutzers zu lesen, stellen Sie Folgendes fest Selinux boolean:

# setsbool -p ftp_home_dir auf 

Sie können nun mit einem Client wie mit einem Client eine Verbindung zum FTP -Server herstellen Dateizilla:

Überprüfen Sie die FTP -Verbindung

Notiere dass der /var/log/xferlog Protokolldownloads und Uploads, die mit der oben genannten Verzeichnisliste übereinstimmen:

Überwachen Sie den FTP -Download und hochladen

Lesen Sie auch: Begrenzen Sie die FTP -Netzwerkbandbreite, die von Anwendungen in einem Linux -System mit Trickle verwendet wird

Zusammenfassung

In diesem Tutorial haben wir erklärt, wie ein Web und ein FTP -Server eingerichtet werden können. Aufgrund der Weite des Subjekts ist es nicht möglich, alle Aspekte dieser Themen abzudecken (i.e. Virtuelle Webhosts). Daher empfehle ich Ihnen, auch andere hervorragende Artikel auf dieser Website über Apache zu überprüfen.