Website-Suche

Wie man den Standardport von Apache unter Linux ändert


Die Sicherheit des Linux-Servers zu gewährleisten ist die wichtigste Aufgabe eines Systemadministrators. Obwohl es viele Möglichkeiten gibt, sicherzustellen, dass Ihr Server so sicher wie möglich ist, gibt es einige grundlegende Schritte, die Sie zuerst durchführen müssen. Einer davon ist, die Standardports der häufig verwendeten Dienste auf benutzerdefinierte Ports zu ändern. Hier werden wir sehen, wie man die Standardports von Apache, FTP und SSH auf etwas anderes ändert, das schwer zu erraten ist. Lassen Sie uns dieses Thema in drei kleine Teile gliedern. Im ersten Teil werden wir sehen, wie man den Apache-Standardport auf einem Linux-System auf einen benutzerdefinierten Port ändert.

Warum müssen wir den Standardport von Apache2 ändern?

Bevor wir zum Thema kommen, könnten Sie sich fragen, ob das Ändern des Ports die Sicherheit erhöht? Ehrlich gesagt, nein, es wird Ihr System nicht vollständig absichern. Das alleinige Ändern des Standardports bietet keinen ernsthaften Sicherheitschutz. Es gibt viele Portscanner, die letztendlich herausfinden werden, welchen Port Sie verwenden. Aber Sie können zumindest Ihre Server vor Amateurangriffen schützen und auch die Anzahl der Angriffe reduzieren. Deshalb müssen wir die Standardports ändern.

Ändern Sie den Standardport von Apache in einen benutzerdefinierten Port

1. Ändern des Apache-Ports auf Debian/Ubuntu

Bearbeiten Sie die Datei /etc/apache2/ports.conf:

$ sudo vi /etc/apache2/ports.conf

Finden Sie die folgende Zeile:

Listen 80

Und ändern Sie es in eine beliebige Zahl Ihrer Wahl, zum Beispiel 8090.

Listen 8090

Dieser Eintrag bewirkt, dass der Server Verbindungen auf Port 8090 auf allen Schnittstellen akzeptiert. Um den Server dazu zu bringen, Verbindungen auf Port 8090 für eine bestimmte Schnittstelle zu akzeptieren, fügen Sie einfach die IP-Adresse der entsprechenden Netzwerkschnittstelle wie unten gezeigt ein.

Listen 192.168.1.101:8090

Das wird hilfreich sein, wenn Ihr Server mehrere IP-Adressen oder Netzwerkschnittstellen hat.

Speichern Sie die Datei und schließen Sie sie.

Zusätzlich müssen Sie in Ubuntu und Debian auch die Portnummer in der Datei /etc/apache2/sites-enabled/000-default.conf ändern.

$ sudo vi /etc/apache2/sites-enabled/000-default.conf

Finden Sie die folgende Zeile und ändern Sie die Portnummer.

<VirtualHost *:8090>

Speichern und schließen Sie die Datei.

Starten Sie dann den Apache-Dienst neu, um die Änderungen wirksam zu machen.

$ sudo systemctl restart apache2

Lassen Sie uns nun die Port-Einstellungen überprüfen:

$ sudo netstat -tulpn | grep :8090

Beispielausgabe:

tcp6       0      0 :::8090                 :::*                    LISTEN      4066/apache2

Öffnen Sie dann Ihren Webbrowser und navigieren Sie zu der URL: http://IP-Adresse:8090.

Sie sollten den folgenden Bildschirm sehen:

Apache2-Testseite in Ubuntu

Als Nächstes werden wir sehen, wie man den Apache-Port in RHEL-basierten Systemen ändert.

2. Apache-Port auf RHEL, CentOS, AlmaLinux, Rocky Linux ändern

Stellen Sie sicher, dass Sie zuerst den Apache-Webserver installiert haben.

Bearbeiten Sie dann die Datei /etc/httpd/conf/httpd.conf,

$ sudo vi /etc/httpd/conf/httpd.conf

Finden Sie die folgende Zeile:

Listen 80

Und ändern Sie es in eine beliebige Zahl Ihrer Wahl, zum Beispiel 8090.

Listen 8090

Dieser Eintrag sorgt dafür, dass der Server Verbindungen auf Port 8090 auf allen Schnittstellen akzeptiert. Um den Server so einzustellen, dass er Verbindungen auf Port 8090 für eine bestimmte Schnittstelle akzeptiert, fügen Sie einfach die entsprechende IP-Adresse der Netzwerkschnittstelle wie unten gezeigt ein.

Listen 192.168.1.150:8090

Das wird nützlich sein, wenn Ihr Server mehrere IP-Adressen oder Netzwerkschnittstellen hat.

Speichern und schließen Sie die Datei.

Stellen Sie in RHEL/CentOS-Systemen sicher, dass die neue Portnummer 8090 nicht von SELinux und der Firewall blockiert wird.

$ sudo semanage port -a -t http_port_t -p tcp 8090

Wenn der semanage-Befehl nicht gefunden wird, installieren Sie das folgende Paket auf CentOS 7/RHEL 8:

$ sudo yum install policycoreutils-python

Auf CentOS 8/RHEL 8:

$ sudo dnf install policycoreutils-python-utils

Um Port 8090 über die Firewall zuzulassen, führen Sie die folgenden Schritte aus.

In RHEL 7/8 und CentOS 7/8:

$ sudo firewall-cmd --permanent --add-port=8090/tcp
$ sudo firewall-cmd --reload

In RHEL 6/CentOS 6:

$ sudo vi /etc/sysconfig/iptables

Und fügen Sie die neue benutzerdefinierte Portzeile hinzu:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

Speichern Sie die Datei und beenden Sie sie und starten Sie den iptables-Dienst neu.

$ sudo service iptables restart

Starten Sie schließlich den httpd-Dienst neu.

$ sudo systemctl restart httpd

Auf RHEL 6.x-Systemen starten Sie den httpd-Dienst mit folgendem Befehl neu:

$ sudo service httpd restart

Überprüfen Sie nun den hörenden Port mit dem Befehl:

Beispielausgabe:

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Mon 2020-02-10 17:08:21 IST; 1min 20s ago
     Docs: man:httpd.service(8)
 Main PID: 2126 (httpd)
   Status: "Running, listening on: port 8090"
    Tasks: 213 (limit: 11501)
   Memory: 24.3M
   CGroup: /system.slice/httpd.service
           ├─2126 /usr/sbin/httpd -DFOREGROUND
           ├─2127 /usr/sbin/httpd -DFOREGROUND
           ├─2128 /usr/sbin/httpd -DFOREGROUND
           ├─2129 /usr/sbin/httpd -DFOREGROUND
           └─2130 /usr/sbin/httpd -DFOREGROUND

Feb 10 17:08:21 centos8.ostechnix.lan systemd[1]: Starting The Apache HTTP Server...
Feb 10 17:08:21 centos8.ostechnix.lan systemd[1]: Started The Apache HTTP Server.
Feb 10 17:08:21 centos8.ostechnix.lan httpd[2126]: Server configured, listening on: port 8090

Oder Verwendung des netstat-Befehls:

$ sudo netstat -tulpn | grep :8090

Beispielausgabe:

tcp6       0      0 :::8090                 :::*                    LISTEN      17636/httpd

Wenn der netstat-Befehl nicht gefunden wird, installieren Sie das folgende Paket.

$ sudo yum install net-tools

Überprüfen Sie dann die Apache-Testseite im Browser mithilfe der URL: http://IP-Adresse:8090.

Sie sollten den folgenden Bildschirm sehen:

Ändern Sie den Standardport von Apache auf einen benutzerdefinierten Port unter Linux

Herzlichen Glückwunsch! Der Standardport von Apache wurde geändert.

Überprüfen Sie den folgenden Link, um zu erfahren, wie man den Standard-FTP-Port ändert.

  • So ändern Sie den Standard-FTP-Port in einen benutzerdefinierten Port