Recherche de site Web

Comment changer le port par défaut d'Apache sous Linux


Maintenir le serveur Linux sécurisé est le devoir vital d'un administrateur système. Bien qu'il existe de nombreuses façons de s'assurer que votre serveur est aussi sécurisé que possible, il y a quelques étapes de base que vous devez faire en premier. L'une d'elles est de changer les ports par défaut des services fréquemment utilisés pour des ports personnalisés. Ici, nous allons voir comment changer les ports par défaut d'Apache, FTP et SSH pour quelque chose de différent et difficile à deviner. Décomposons ce sujet en trois petites parties. Dans la première partie, nous allons voir comment changer le port par défaut d'Apache pour un port personnalisé sur Linux.

Pourquoi devons-nous changer le port par défaut d'Apache2 ?

Avant d'aborder le sujet, vous pourriez vous demander si changer le port augmente la sécurité ? Honnêtement, non, cela ne sécurisera pas complètement votre système. Changer simplement le port par défaut ne fournit aucune défense sérieuse en matière de sécurité. Il existe de nombreux scanners de ports qui finiront par découvrir le port que vous utilisez. Mais vous pouvez, au moins, protéger vos serveurs contre des attaques amateurs, et vous pouvez également réduire le nombre d'attaques. C'est pourquoi nous devons changer les ports par défaut.

Changer le port par défaut d'Apache en un port personnalisé

1. Changer le port Apache sur Debian/Ubuntu

Éditez le fichier /etc/apache2/ports.conf :

$ sudo vi /etc/apache2/ports.conf

Trouvez la ligne suivante :

Listen 80

Et changez-le pour un nombre aléatoire de votre choix, par exemple 8090.

Listen 8090

Cette entrée permet au serveur d'accepter les connexions sur le port 8090 sur toutes les interfaces. Pour que le serveur accepte les connexions sur le port 8090 pour une interface spécifique, il suffit d'inclure l'adresse IP de l'interface réseau correspondante comme indiqué ci-dessous.

Listen 192.168.1.101:8090

Cela sera utile si votre serveur possède plusieurs adresses IP ou interfaces réseau.

Enregistrez et fermez le fichier.

De plus, sous Ubuntu et Debian, vous devez également changer le numéro de port dans le fichier /etc/apache2/sites-enabled/000-default.conf.

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

Trouvez la ligne suivante et changez le numéro de port.

<VirtualHost *:8090>

Enregistrez et fermez le fichier.

Ensuite, redémarrez le service Apache pour que les modifications prennent effet.

$ sudo systemctl restart apache2

Vérifions maintenant les paramètres du port :

$ sudo netstat -tulpn | grep :8090

Exemple de sortie :

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

Ensuite, ouvrez votre navigateur web et accédez à l'URL : http://IP-address:8090.

Vous devriez voir l'écran suivant :

Page de test Apache2 sur Ubuntu

Ensuite, nous verrons comment changer le port d'Apache sur les systèmes basés sur RHEL.

2. Changer le port Apache sur RHEL, CentOS, AlmaLinux, Rocky Linux

Assurez-vous d'avoir installé d'abord le serveur web Apache.

Ensuite, modifiez le fichier /etc/httpd/conf/httpd.conf,

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

Trouvez la ligne suivante :

Listen 80

Et changez-le pour un nombre aléatoire de votre choix, par exemple 8090.

Listen 8090

Cette entrée permet au serveur d'accepter les connexions sur le port 8090 sur toutes les interfaces. Pour que le serveur accepte les connexions sur le port 8090 pour une interface spécifique, il suffit d'inclure l'adresse IP de l'interface réseau correspondante comme indiqué ci-dessous.

Listen 192.168.1.150:8090

Cela sera utile si votre serveur possède plusieurs adresses IP ou interfaces réseau.

Enregistrez et fermez le fichier.

Dans les systèmes RHEL/CentOS, assurez-vous que le nouveau numéro de port 8090 n'est pas bloqué par SELinux et le pare-feu.

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

Si la commande semanage est introuvable, installez le paquet suivant sur CentOS 7/RHEL 8 :

$ sudo yum install policycoreutils-python

Sur CentOS 8/RHEL 8 :

$ sudo dnf install policycoreutils-python-utils

Pour autoriser le port 8090 via le pare-feu, effectuez les étapes suivantes.

Dans RHEL 7/8 et CentOS 7/8 :

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

Dans RHEL 6/CentOS 6 :

$ sudo vi /etc/sysconfig/iptables

Et ajoutez la nouvelle ligne de port personnalisé :

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

Enregistrez et quittez le fichier et redémarrez le service iptables.

$ sudo service iptables restart

Enfin, redémarrez le service httpd.

$ sudo systemctl restart httpd

Sur les systèmes RHEL 6.x, redémarrez le service httpd en utilisant la commande suivante :

$ sudo service httpd restart

Vérifiez maintenant le port d'écoute en utilisant la commande :

Exemple de sortie :

● 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

Ou en utilisant la commande netstat :

$ sudo netstat -tulpn | grep :8090

Exemple de sortie :

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

Si la commande netstat n'est pas trouvée, installez le paquet suivant.

$ sudo yum install net-tools

Ensuite, vérifiez la page de test Apache depuis le navigateur en utilisant l'URL : http://IP-address:8090.

Vous devriez voir l'écran suivant :

Changer le port par défaut d'Apache pour un port personnalisé sous Linux

Félicitations ! Le port par défaut d'Apache a été modifié.

Vérifiez le lien suivant pour savoir comment changer le port par défaut du FTP.

  • Comment changer le port FTP par défaut pour un port personnalisé