Comment masquer la version Apache et PHP des en-têtes HTTP

Comment masquer la version Apache et PHP des en-têtes HTTP

Lorsque vous exécutez un site Web ou une application Web, il est essentiel de maintenir la sécurité et l'intégrité de votre serveur. L'une des étapes les plus simples et les plus importantes est de masquer vos informations de version Apache et PHP des en-têtes HTTP. Par défaut, ces informations sont exposées dans les en-têtes de réponse HTTP, ce qui rend potentiellement votre serveur plus vulnérable aux attaques.

Dans cet article, nous vous montrerons comment masquer les informations sur la version Apache et PHP des en-têtes HTTP pour améliorer la sécurité de votre serveur.

Étape 1: Comprendre les risques des versions exposées

Exposer les informations sur la version d'Apache et de PHP peut ne pas sembler être un risque de sécurité important. Cependant, il peut permettre aux pirates d'identifier plus facilement les vulnérabilités connues spécifiques à ces versions. En cachant ces informations, vous réduisez la possibilité d'attaques ciblées et ralentit potentiellement les progrès d'un attaquant.

Étape 2: Vérifiez les détails de l'en-tête

Vous pouvez utiliser la commande curl ou wget pour récupérer les détails de l'en-tête de n'importe quel site Web via la ligne de commande.

wget - server-réponse - http: // votre domaine.com / index.php  

Notez les détails ci-dessus et gardez-les pour la comparaison plus tard. Suivons les étapes pour masquer les détails.

Étape 3: Cachez les informations de la version Apache

Pour masquer les informations sur la version Apache, vous devez modifier son fichier de configuration principal, généralement situé à «/ etc / httpd / conf / httpd.conf »ou« / etc / apache2 / conf-compatiable / sécurité.conf ”, selon votre système.

  1. Ouvrez le fichier de configuration Apache avec un éditeur de texte, tel que Nano ou VI:
    sudo nano / etc / httpd / conf / httpd.confli  ## Systèmes Redhat  sudo nano / etc / apache2 / conf-compatiable / Security.confli  ## Systèmes Debian  
  2. Localiser le "SERVERTOKENS" et «SERVERSIGNATURE» directives. S'ils n'existent pas, ajoutez-les au fichier. Mettez à jour ces directives comme suit: SERVERTOKENS PRODIGNAT SERVERSIGNATURE
    12SERVERTOKENS PRODSERVERSIGNATURE

    Le "SERVERTOKENS PROD" La directive dit qu'Apache affiche uniquement le mot "Apache" sans aucune information de version. Le «Serversignature off» La directive désactive la signature du serveur dans les pages d'erreur.

  3. Enregistrer et fermer le fichier de configuration. Après avoir modifié le fichier de configuration, vous devez redémarrer Apache pour que les modifications prennent effet:
    sudo systemctl redémarrer httpd  ## Systèmes Redhat  sudo systemctl redémarrer apache2  ## Systèmes Debian  

Étape 4: Cacheter les informations de la version PHP

Pour masquer les informations de version PHP, vous devez modifier le fichier de configuration PHP, généralement appelé PHP.INI, qui peut être trouvé à différents endroits en fonction de votre système.

  1. Ouvrir le php.ini Fichier avec un éditeur de texte:
    sudo nano / etc / php / 7.4 / apache2 / php.ini  

    Remplacer "7.4 ” avec votre version php si différente.

  2. Localiser le "Expose_php" directif. S'il n'existe pas, ajoutez-le au fichier. Mettez à jour cette directive comme suit: exposer_php = off
    1exposer_php = off

    Ce paramètre désactive l'exposition de la version PHP dans les en-têtes de réponse HTTP.

    Enregistrer et fermer le fichier de configuration.

  3. Après avoir modifié le php.Fichier INI, redémarrez le service Apache pour que les modifications prennent effet:
    sudo systemctl redémarrer httpd  ## Systèmes Redhat  sudo systemctl redémarrer apache2  ## Systèmes Debian  

Étape 5: Vérification des modifications

Pour vérifier que les modifications ont été appliquées avec succès, vous pouvez utiliser un vérificateur d'en-tête HTTP en ligne ou un outil de ligne de commande comme Curl:

wget - server-réponse - http: // votre domaine.com / index.php  

Remplacer "ton domaine.com » Avec votre domaine réel. La sortie ne doit contenir aucune information Apache ou PHP

Conseils de sécurité supplémentaires

Bien que la cachette des informations sur Apache et PHP soit un bon point de départ, vous pouvez prendre d'autres étapes pour améliorer la sécurité de votre serveur:

  1. Gardez votre logiciel à jour: Mettez régulièrement à jour votre système d'exploitation, Apache, PHP et tout autre logiciel que vous avez installé. Cela garantit que vous avez les derniers correctifs de sécurité et correctifs.
  2. Désactiver les modules inutilisés: Activez uniquement les modules Apache et PHP dont vous avez besoin pour votre application Web. La désactivation des modules inutiles réduit la surface d'attaque.
  3. Configurer les autorisations d'accès strictes: Assurez-vous que les fichiers et répertoires sensibles ont des autorisations d'accès strictes, empêchant l'accès non autorisé.
  4. Implémentez un pare-feu d'application Web (WAF): Un WAF peut aider à protéger votre application Web contre les attaques courantes comme l'injection SQL et les scripts croisés (XSS).
  5. Utilisez HTTPS: Crypter la communication entre votre serveur et les clients en activant HTTPS avec un certificat SSL valide.

Conclusion

Cacher les informations sur Apache et PHP des en-têtes HTTP est une étape simple mais cruciale pour sécuriser votre serveur Web. En dissimulant ces informations, vous rendez plus difficile pour les attaquants de cibler les vulnérabilités connues de votre logiciel. Couplé aux mises à jour logicielles régulières, aux autorisations d'accès strictes et à d'autres mesures de sécurité, vous pouvez réduire considérablement l'exposition de votre serveur aux attaques potentielles.