GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Aktualisieren Sie Apache HTTP Server 2.2 auf 2.4 in RHEL und CentOS 7

Wenn Sie kürzlich einen Compliance-Sicherheitsscan durchgeführt haben, könnten die Ergebnisse wie im folgenden Beispiel aussehen:

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

Abhängig von der Codebasis hat der Apache® HTTP-Server diese Sicherheitsprobleme möglicherweise bereits gemildert. Der Scan überprüft die Apache-Version des Servers, um festzustellen, ob die installierte Version das Sicherheitsproblem behebt. Einige Compliance-Sicherheitsscans verwenden jedoch nur die Version von Apache, um festzustellen, ob der Server für Common Vulnerabilities and Exposures (CVE) anfällig ist, anstatt Schwachstellen direkt zu erkennen.

Solche Scans erzeugen fast immer ein falsches Positiv. Wenn Sie automatische Updates aktivieren, bleibt die Version möglicherweise gleich, selbst wenn eine andere Version die Schwachstelle patcht. Daher kann der Scan die Schwachstelle als positiv markieren. Dieses Ergebnis kann auch eintreten, wenn die Scans Ihres Anbieters zeigen, dass Ihr Server nicht mehr anfällig ist, selbst wenn frühere Scans Schwachstellen identifiziert haben.

Verwenden Sie die folgenden Schritte, wenn Ihr Sicherheitsaudit zeigt, dass Ihre Compliance-Sicherheitsscans nur die Apache-Version verwenden, um Schwachstellen auf Ihrem Apache2-Server zu identifizieren. Bearbeiten Sie die Konfigurationsdatei für den Hypertext Transfer Protocol-Daemon (HTTPd).

  1. Öffnen Sie /etc/apache2/conf.d/httpd.conf in einem Editor.

  2. Fügen Sie die folgenden Zeilen hinzu und entfernen Sie die Versionsinformationen:

    ServerSignature Off
    ServerTokens Prod
    

    Hinweis :Ihr Server sollte keine Versionssignatur bereitstellen, und Ihr Unternehmen für Penetrationstests sollte Ihnen empfehlen, Versionen zu deaktivieren.

Update von Apache 2.2 auf Apache 2.4

Verwenden Sie die folgenden Schritte, um Apache 2.2 auf Apache 2.4 zu aktualisieren.

  1. Führen Sie den folgenden Befehl aus, um HTTPd zu stoppen und alle Überwachungsprozesse wie Nimbus Warnungen vermeiden:

    service httpd stop
    
  2. Führen Sie die folgenden Befehle aus, um Ihre virtuellen Hostkonfigurationen zu sichern, und stellen Sie sicher, dass Sie alle zusätzlichen Verzeichnisse, die Sie hinzugefügt haben, wie vhost, einbeziehen :

    cd /etc/httpd
    tar -cvf /tmp/apache_vhostconfig.tar conf conf.d vhosts
    
  3. Führen Sie den folgenden Befehl aus, um yum-plugin-replace zu installieren Paket, das Paketkonflikte während der Paketersetzung löst:

     yum install yum-plugin-replace
    
  4. Bevor Sie fortfahren, führen Sie die folgenden Befehle aus, um die installierte Version und die Version, die Sie installieren möchten, zu überprüfen:

     apachectl -V
     yum search httpd
     yum info httpd
    

    Ihre Ausgabe sollte ähnlich wie im folgenden Beispiel aussehen, das den Befehl yum info httpd24u.x86_64 verwendet :

    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. Installieren Sie HTTPd 2.4, indem Sie den folgenden Befehl ausführen:

    yum replace httpd --replace-with=httpd24u
    
  6. Sie müssen außerdem Lightweight Directory Access Protocol (LDAP) installieren, indem Sie den folgenden Befehl ausführen:

    yum install mod_ldap
    
  7. In Apache 2.4 müssen Sie Require verwenden Anweisungen für die Zugriffsbeschränkung des Internetprotokolls (IP) anstelle von Order , Deny , und Allow . Als Ergebnis müssen Sie die Order ändern , Deny , und Allow Anweisungen in Ihrer /etc/httpd/conf.d/server-status.conf Datei, um Require zu verwenden Aussagen. Weil Sie diese möglicherweise in der .htaccess haben Dateien für andere Websites, stellen Sie sicher, dass Sie Ihre DocumentRoots sorgfältig überprüfen, um zu vermeiden, dass Ihre Websites aufgrund fehlender Require beschädigt werden Richtlinien.

    Ihre vorhandene /etc/httpd/conf.d/server-status.conf Die Datei sollte ähnlich wie im folgenden Beispiel aussehen.

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

    Ersetzen Sie die Order , Deny , und Allow Anweisungen mit der Konfiguration im folgenden Beispiel.

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

    Hinweis :Diese Syntaxänderung gilt auch für die virtuellen Hosts in der conf.d und httpd.conf vhost-Konfigurationen.

  8. Ändern Sie die Order , Deny , und Allow Anweisungen in conf.d Require Aussagen.

    #    Order deny,allow
    #    Deny from all
    Require all denied
    
    #    Order deny,allow
    #    Allow from all
    Require all granted
    
  9. Ändern Sie in derselben Datei Options -Indexes FollowSymLinks zuOptions -Indexes +FollowSymLinks .

  10. In /etc/httpd/conf/httpd.conf , ändern Sie die Order , Deny , undAllow Anweisungen zu Require Anweisungen, wie in Schritt 8 gezeigt.

  11. In /etc/httpd/conf/httpd.conf , setzen Sie als Kommentar dasLoadModule Anweisungen für Module, die nicht mehr verwendet werden.

    #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. Bearbeiten Sie /etc/httpd/conf/httpd.conf um die folgende Zeile mit dem anderen authz hinzuzufügen Module.

    LoadModule authz_core_module modules/mod_authz_core.so
    
  13. Fügen Sie die folgenden Zeilen am Ende des Blocks von LoadModule hinzu Aussagen.

    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
    

(Optional) Laden Sie eine kompatible Version des Dispatcher-Moduls von Adobe Experience Manager (AEM) herunter

Wenn die HTTPd-Installation das Dispatcher-Modul von Adobe® Experience Manager (AEM) verwendet, müssen Sie die folgenden Schritte ausführen, um die kompatible Datei für Apache HTTP Server 2.4 herunterzuladen.

  1. Führen Sie die folgenden Befehle aus, um dispatcher-apache2.4-4.1.11.so zu extrahieren aus der Tape ARchive (TAR)-Datei in /etc/httpd/modules/ . Verwenden Sie zu diesem Zweck nur diese Datei.

     cd /etc/httpd/modules
     rm mod_dispatcher.so
     ln -s /etc/httpd/modules/dispatcher-apache2.4-4.1.11.so mod_dispatcher.so
    
  2. Da SSL Mutex veraltet ist, müssen Sie /etc/httpd/conf.d/ssl.conf bearbeiten um den SSLMutex default zu ändern toMutex default .

Weitere Einzelheiten finden Sie in der Apache-Dokumentation zu MutexDirective.

Kritisch: Starten Sie HTTPd neu

Nachdem Sie die Schritte in diesem Artikel ausgeführt haben, müssen Sie HTTPd neu starten und überprüfen, ob es aktiviert ist und ausgeführt wird, indem Sie die folgenden Schritte ausführen:

  1. Führen Sie den folgenden Befehl aus, um HTTPd neu zu starten:

     service httpd start
    
  2. Stellen Sie sicher, dass der Dienst aktiviert ist und ausgeführt wird, und aktivieren Sie alle zuvor aktivierten Überwachungen erneut:

    • Führen Sie unter CentOS® 7 oder Red Hat® Enterprise Linux® (RHEL) 7 die folgenden Befehle aus:

      systemctl enable httpd
      
      systemctl status httpd
      

Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch ein Gespräch mit uns beginnen.


Linux
  1. Installieren Sie Apache und PHP unter CentOS 7

  2. Installieren Sie Apache unter CentOS 8

  3. So konfigurieren Sie NTP-Server und -Client in CentOS / RHEL 7

  4. CentOS / RHEL 4 :So installieren und konfigurieren Sie den FTP-Server (vsftpd)

  5. CentOS / RHEL 5 :So installieren und konfigurieren Sie den vsftpd-Server

So installieren Sie Apache ActiveMQ und Hawt.io unter CentOS 8

So installieren und konfigurieren Sie den VNC-Server unter CentOS 8

So installieren und konfigurieren Sie den VNC-Server in CentOS 7 / RHEL 7

So installieren Sie Apache in CentOS 8

Anfängerleitfaden für Apache HTTP Server – Installation und Konfiguration

So installieren und konfigurieren Sie VNC Server unter CentOS/RHEL 8