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.confTrouvez la ligne suivante :
Listen 80Et changez-le pour un nombre aléatoire de votre choix, par exemple 8090.
Listen 8090Cette 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:8090Cela 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.confTrouvez 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 apache2Vérifions maintenant les paramètres du port :
$ sudo netstat -tulpn | grep :8090Exemple de sortie :
tcp6 0 0 :::8090 :::* LISTEN 4066/apache2Ensuite, ouvrez votre navigateur web et accédez à l'URL : http://IP-address:8090.
Vous devriez voir l'écran suivant :
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.confTrouvez la ligne suivante :
Listen 80Et changez-le pour un nombre aléatoire de votre choix, par exemple 8090.
Listen 8090Cette 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:8090Cela 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 8090Si la commande semanage est introuvable, installez le paquet suivant sur CentOS 7/RHEL 8 :
$ sudo yum install policycoreutils-pythonSur CentOS 8/RHEL 8 :
$ sudo dnf install policycoreutils-python-utilsPour 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 --reloadDans RHEL 6/CentOS 6 :
$ sudo vi /etc/sysconfig/iptablesEt ajoutez la nouvelle ligne de port personnalisé :
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPTEnregistrez et quittez le fichier et redémarrez le service iptables.
$ sudo service iptables restartEnfin, redémarrez le service httpd.
$ sudo systemctl restart httpdSur les systèmes RHEL 6.x, redémarrez le service httpd en utilisant la commande suivante :
$ sudo service httpd restartVé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 8090Ou en utilisant la commande netstat :
$ sudo netstat -tulpn | grep :8090Exemple de sortie :
tcp6 0 0 :::8090 :::* LISTEN 17636/httpdSi la commande netstat n'est pas trouvée, installez le paquet suivant.
$ sudo yum install net-toolsEnsuite, vérifiez la page de test Apache depuis le navigateur en utilisant l'URL : http://IP-address:8090.
Vous devriez voir l'écran suivant :
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é

