GNU/Linux >> Tutoriels Linux >  >> Linux

Mettre à niveau Apache HTTP Server 2.2 vers 2.4 dans RHEL et CentOS 7

Si vous avez récemment effectué une analyse de sécurité de conformité, les résultats pourraient ressembler à l'exemple suivant :

Apache HTTP Server Zero-Length Directory Name in LD_LIBRARY_PATH Vulnerability, CVE-2012-0883
Apache HTTP Server mod_rewrite Terminal Escape Sequence Vulnerability, CVE-2013-1862
Apache HTTP Server XSS Vulnerabilities via Hostnames, CVE-2012-3499 CVE-2012-4558

Selon la base de code, le serveur HTTP Apache® a peut-être déjà atténué ces problèmes de sécurité. L'analyse vérifie la version d'Apache du serveur pour déterminer si la version installée résout le problème de sécurité. Cependant, certaines analyses de sécurité de conformité utilisent uniquement la version d'Apache pour déterminer si le serveur est vulnérable aux vulnérabilités et expositions courantes (CVE) plutôt que de détecter directement les vulnérabilités.

De tels scans génèrent presque toujours un faux positif. Si vous activez les mises à jour automatiques, la version peut rester la même, même si une autre version corrige la vulnérabilité. Ainsi, l'analyse peut marquer la vulnérabilité comme positive. Ce résultat peut également se produire si les analyses de votre fournisseur montrent que votre serveur n'est plus vulnérable, même si les analyses précédentes ont identifié des vulnérabilités.

Utilisez les étapes suivantes si votre audit de sécurité révèle que vos analyses de sécurité de conformité n'utilisent que la version d'Apache pour identifier les vulnérabilités sur votre serveur Apache2. Modifiez le fichier de configuration du démon HTTPd (Hypertext Transfer Protocol).

  1. Ouvrez /etc/apache2/conf.d/httpd.conf dans un éditeur.

  2. Ajoutez les lignes suivantes et supprimez les informations de version :

    ServerSignature Off
    ServerTokens Prod
    

    Remarque  :Votre serveur ne doit pas fournir de signature de version et votre société de test d'intrusion doit vous recommander de désactiver les versions.

Mise à jour d'Apache 2.2 vers Apache 2.4

Utilisez les étapes suivantes pour mettre à jour Apache 2.2 vers Apache 2.4.

  1. Exécutez la commande suivante pour arrêter HTTPd et tout processus de surveillance tel que Nimbus pour éviter les alertes :

    service httpd stop
    
  2. Exécutez les commandes suivantes pour sauvegarder vos configurations d'hôte virtuel, en veillant à inclure tous les répertoires supplémentaires que vous avez ajoutés, tels que vhost :

    cd /etc/httpd
    tar -cvf /tmp/apache_vhostconfig.tar conf conf.d vhosts
    
  3. Exécutez la commande suivante pour installer le yum-plugin-replace package, qui résout les conflits de packages lors du remplacement du package :

     yum install yum-plugin-replace
    
  4. Avant de continuer, exécutez les commandes suivantes pour vérifier la version installée et la version que vous souhaitez installer :

     apachectl -V
     yum search httpd
     yum info httpd
    

    Votre sortie doit ressembler à l'exemple suivant, qui utilise la commande yum info httpd24u.x86_64 :

    Loaded plugins: replace, rhnplugin, security
    This system is receiving updates from RHN Classic or RHN Satellite.
     Available Packages
    Name        : httpd24u
    Arch        : x86_64
    Version     : 2.4.23
    Release     : 4.ius.el6
    Size        : 1.2 M
    Repo        : rackspace-rhel-x86_64-server-6-ius
    Summary     : Apache HTTP Server
    License     : ASL 2.0
    Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.
    
  5. Installez HTTPd 2.4 en exécutant la commande suivante :

    yum replace httpd --replace-with=httpd24u
    
  6. Vous devez également installer le protocole LDAP (Lightweight Directory Access Protocol) en exécutant la commande suivante :

    yum install mod_ldap
    
  7. Dans Apache 2.4, vous devez utiliser Require directives pour la restriction d'accès au protocole Internet (IP) au lieu de Order , Deny , et Allow . Par conséquent, vous devez modifier la Order , Deny , et Allow déclarations dans votre /etc/httpd/conf.d/server-status.conf fichierà utiliser Require déclarations. Parce que vous pourriez les avoir dans le .htaccess fichiers pour d'autres sites Web, assurez-vous de vérifier attentivement vos racines de document pour éviter de casser vos sites Web en raison de l'absence de Require directive.

    Votre /etc/httpd/conf.d/server-status.conf existant le fichier doit ressembler à l'exemple suivant.

    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
    

    Remplacez la Order , Deny , et Allow instructions avec la configuration dans l'exemple suivant.

    <Location /server-status>
        SetHandler server-status
        Require all granted
        Require host 127.0.0.1
    </Location>
    

    Remarque  :Ce changement de syntaxe s'applique également aux hôtes virtuels dans le conf.d et httpd.conf configurations vhost.

  8. Modifier la Order , Deny , et Allow déclarations dans conf.d àRequire déclarations.

    #    Order deny,allow
    #    Deny from all
    Require all denied
    
    #    Order deny,allow
    #    Allow from all
    Require all granted
    
  9. Dans le même fichier, modifiez Options -Indexes FollowSymLinks versOptions -Indexes +FollowSymLinks .

  10. Dans /etc/httpd/conf/httpd.conf , modifiez la Order , Deny , et Allow déclarations à Require déclarations, comme indiqué à l'étape 8.

  11. Dans /etc/httpd/conf/httpd.conf , définissez en commentaire le LoadModule directives pour les modules qui ne sont plus utilisés.

    #2.4 upgrade LoadModule authn_alias_module modules/mod_authn_alias.so
    #2.4 upgrade LoadModule authn_default_module modules/mod_authn_default.so
    #2.4 upgrade LoadModule authz_default_module modules/mod_authz_default.so
    #2.4 upgrade LoadModule disk_cache_module modules/mod_disk_cache.so
    
  12. Modifier /etc/httpd/conf/httpd.conf pour ajouter la ligne suivante avec l'autre authz modules.

    LoadModule authz_core_module modules/mod_authz_core.so
    
  13. Ajoutez les lignes suivantes au bas du bloc de LoadModule déclarations.

    LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    LoadModule unixd_module modules/mod_unixd.so
    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    

(Facultatif) Téléchargez une version compatible du module Dispatcher d'Adobe Experience Manager (AEM)

Si l'installation HTTPd utilise le module Dispatcher d'Adobe® Experience Manager (AEM), vous devez suivre les étapes suivantes pour télécharger le fichier compatible pour Apache HTTP Server 2.4.

  1. Exécutez les commandes suivantes pour extraire le dispatcher-apache2.4-4.1.11.so du fichier Tape ARchive (TAR) dans /etc/httpd/modules/ . Utilisez uniquement ce fichier à cette fin.

     cd /etc/httpd/modules
     rm mod_dispatcher.so
     ln -s /etc/httpd/modules/dispatcher-apache2.4-4.1.11.so mod_dispatcher.so
    
  2. Étant donné que SSL Mutex est obsolète, vous devez modifier /etc/httpd/conf.d/ssl.conf pour changer SSLMutex default versMutex default .

Pour plus de détails, consultez la documentation Apache sur MutexDirective.

Critique : Redémarrez le HTTPd

Après avoir suivi les étapes de cet article, vous devez redémarrer HTTPd et vérifier qu'il est activé et en cours d'exécution en procédant comme suit :

  1. Exécutez la commande suivante pour redémarrer HTTPd :

     service httpd start
    
  2. Assurez-vous que le service est activé et en cours d'exécution, puis réactivez toute surveillance précédemment activée :

    • Sur CentOS® 7 ou Red Hat® Enterprise Linux® (RHEL) 7, exécutez les commandes suivantes :

      systemctl enable httpd
      
      systemctl status httpd
      

Utilisez l'onglet Commentaires pour faire des commentaires ou poser des questions. Vous pouvez également démarrer une conversation avec nous.


Linux
  1. Installer le serveur Web Apache CentOS 6 / RHEL 6

  2. Installer et configurer le serveur FTP sur CentOS 7 / RHEL 7 - (vsftpfd)

  3. Installer Apache et PHP sur CentOS 7

  4. Installer Apache sur CentOS 8

  5. CentOS / RHEL 7 :Configuration d'un serveur NFS et d'un client NFS

Comment installer Apache ActiveMQ et Hawt.io sur CentOS 8

Comment installer et configurer le serveur VNC sur CentOS 8

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment installer Apache dans CentOS 8

Guide du débutant pour Apache HTTP Server - Installation et configuration

Comment installer et configurer VNC Server sur CentOS/RHEL 8