Dans cet article, je vais vous montrer comment ouvrir le port 80 et bloquer tous les autres ports sur CentOS 7 avec firewalld. Commençons.
Installation d'un serveur Web
Dans cette section, je vais vous montrer comment installer un serveur Web sur CentOS 7. J'ai inclus cette section afin que vous puissiez avoir une expérience réelle de ce dont je parle.
Le logiciel de serveur Web le plus utilisé est Apache. Apache est disponible sur le référentiel de packages officiel de CentOS 7.
Pour installer le serveur Web Apache, exécutez la commande suivante :
$sudo miam installerhttpd
Appuyez sur « y », puis appuyez sur pour continuer.
Le serveur Web Apache doit être installé.
Exécutez maintenant la commande suivante pour vérifier si le serveur HTTP Apache est en cours d'exécution ou non :
$sudoétat systemctl httpdComme vous pouvez le voir sur la capture d'écran ci-dessous, le serveur HTTP Apache n'est pas en cours d'exécution.
Vous pouvez démarrer le serveur HTTP Apache avec la commande suivante :
$sudosystemctl démarrer httpdVous voudrez que le serveur HTTP Apache démarre automatiquement au démarrage du système. Vous pouvez ajouter le serveur HTTP Apache au démarrage avec la commande suivante :
$sudosystemctlpermettrehttpdLe serveur HTTP Apache est ajouté au démarrage.
Ouvrez maintenant un navigateur Web et accédez à http://localhost
Vous devriez voir la page suivante comme indiqué dans la capture d'écran ci-dessous.
Vérification des ports ouverts avec nmap
Vérifiez d'abord l'adresse IP de votre serveur CentOS 7 avec la commande suivante :
$ipàComme vous pouvez le voir sur la capture d'écran ci-dessous, l'adresse IP de mon serveur CentOS 7 est 192.168.10.97
Vous pouvez vérifier tous les ports ouverts avec nmap l'utilitaire à partir d'un autre ordinateur comme suit :
$nmap -sT192.168.10.97Comme vous pouvez le voir, pour le moment, seul le port 22 est ouvert. Ce qui nous intéresse, c'est d'ouvrir uniquement le port 80 et d'en fermer d'autres.
Ouverture du port 80 et fermeture des autres
Vérifiez d'abord tous les services autorisés avec la commande suivante :
$sudopare-feu-cmd--tout listerComme vous pouvez le voir, les services dhcpv6-client et ssh sont autorisés de l'extérieur. Vous pouvez avoir plus ou moins de services autorisés.
Maintenant, vous devez les désactiver un par un.
Vous pouvez supprimer le service ssh avec la commande suivante :
$sudopare-feu-cmd--remove-service=ssh --permanentVous pouvez supprimer le service dhcpv6-client avec la commande suivante :
$sudopare-feu-cmd--remove-service=dhcpv6-client--permanentAjoutez maintenant le service HTTP ou le port 80 avec la commande suivante :
$sudopare-feu-cmd--add-service= http--permanentUne fois que vous avez terminé, redémarrez firewalld avec la commande suivante :
$sudopare-feu-cmd--rechargerMaintenant, si vous vérifiez à nouveau les services firewalld :
$sudopare-feu-cmd--tout listerVous ne devriez voir que http service autorisé comme indiqué dans la capture d'écran ci-dessous.
Vous pouvez maintenant effectuer un scan de port avec nmap depuis un autre ordinateur :
$sudo nmap -sT192.168.10.97Vous devriez pouvoir voir uniquement le port 80 ouvert, comme indiqué dans la capture d'écran ci-dessous.
Vous pouvez également tester si vous pouvez accéder au serveur Web si vous ouvrez un navigateur et saisissez l'adresse IP du serveur Web.
Je peux accéder au serveur Web à partir d'un navigateur comme vous pouvez le voir sur la capture d'écran ci-dessous.
C'est ainsi que vous ouvrez le port 80 et bloquez tous les autres ports sur CentOS 7. Merci d'avoir lu cet article.