GNU/Linux >> Znalost Linux >  >> Linux

Upgradujte Apache HTTP Server 2.2 na 2.4 v RHEL a CentOS 7

Pokud jste nedávno provedli kontrolu zabezpečení souladu, mohou výsledky vypadat takto:

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

V závislosti na kódové základně mohl Apache® HTTP Server již tyto bezpečnostní problémy zmírnit. Skenování zkontroluje verzi serveru Apache, aby zjistilo, zda nainstalovaná verze řeší problém se zabezpečením. Některá bezpečnostní prověřování shody však používají pouze verzi Apache k určení, zda je server zranitelný vůči běžným zranitelnostem a ohrožením (CVE), namísto přímého zjištění zranitelnosti.

Takové skenování téměř vždy generuje falešně pozitivní výsledek. Pokud povolíte automatické aktualizace, verze může zůstat stejná, i když zranitelnost opraví jiné vydání. Skenování tedy může zranitelnost označit jako pozitivní. K tomuto výsledku může dojít také v případě, že prověřování vašeho poskytovatele ukáže, že váš server již není zranitelný, i když předchozí prověřování odhalila zranitelnosti.

Pokud váš bezpečnostní audit odhalí, že vaše bezpečnostní kontroly shody používají k identifikaci zranitelností na vašem serveru Apache2 pouze verzi Apache, použijte následující kroky. Upravte konfigurační soubor pro démona Hypertext Transfer Protocol (HTTPd).

  1. Otevřete /etc/apache2/conf.d/httpd.conf v editoru.

  2. Přidejte následující řádky a odeberte informace o verzi:

    ServerSignature Off
    ServerTokens Prod
    

    Poznámka :Váš server by neměl poskytovat podpis verze a vaše společnost pro testování penetrace by vám měla doporučit, abyste verze zakázali.

Aktualizace z Apache 2.2 na Apache 2.4

Pomocí následujících kroků aktualizujte Apache 2.2 na Apache 2.4.

  1. Spuštěním následujícího příkazu zastavíte HTTPd a všechny monitorovací procesy, jako je Nimbus abyste se vyhnuli upozorněním:

    service httpd stop
    
  2. Spusťte následující příkazy pro zálohování konfigurací virtuálního hostitele a ujistěte se, že zahrnete všechny další přidané adresáře, jako je vhost :

    cd /etc/httpd
    tar -cvf /tmp/apache_vhostconfig.tar conf conf.d vhosts
    
  3. Spuštěním následujícího příkazu nainstalujte yum-plugin-replace package, který řeší konflikty balíčků během výměny balíčku:

     yum install yum-plugin-replace
    
  4. Než budete pokračovat, spusťte následující příkazy a zkontrolujte instalovanou verzi a verzi, kterou chcete nainstalovat:

     apachectl -V
     yum search httpd
     yum info httpd
    

    Váš výstup by měl vypadat podobně jako v následujícím příkladu, který používá příkaz 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. Nainstalujte HTTPd 2.4 spuštěním následujícího příkazu:

    yum replace httpd --replace-with=httpd24u
    
  6. Musíte také nainstalovat protokol LDAP (Lightweight Directory Access Protocol) spuštěním následujícího příkazu:

    yum install mod_ldap
    
  7. V Apache 2.4 musíte použít Require direktivy pro omezení přístupu k internetovému protokolu (IP) namísto Order , Deny a Allow . V důsledku toho musíte změnit Order , Deny a Allow prohlášení ve vašem /etc/httpd/conf.d/server-status.conf filepro použití Require prohlášení. Protože je můžete mít v .htaccess soubory pro jiné weby, zajistěte, abyste pečlivě zkontrolovali kořenové adresáře dokumentů, abyste předešli poškození webů kvůli chybějícímu parametru Require směrnice.

    Vaše stávající /etc/httpd/conf.d/server-status.conf by měl vypadat podobně jako v následujícím příkladu.

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

    Nahraďte Order , Deny a Allow příkazy s konfigurací v následujícím příkladu.

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

    Poznámka :Tato změna syntaxe se vztahuje také na virtuální hostitele v conf.d a httpd.conf konfigurace vhost.

  8. Změňte Order , Deny a Allow výpisy v conf.d naRequire prohlášení.

    #    Order deny,allow
    #    Deny from all
    Require all denied
    
    #    Order deny,allow
    #    Allow from all
    Require all granted
    
  9. Ve stejném souboru změňte Options -Indexes FollowSymLinks naOptions -Indexes +FollowSymLinks .

  10. V /etc/httpd/conf/httpd.conf , změňte Order , Deny a Allow příkazy Require výpisy, jak je uvedeno v kroku 8.

  11. V /etc/httpd/conf/httpd.conf , nastavte jako komentáře LoadModule direktivy pro moduly, které se již nepoužívají.

    #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. Upravte /etc/httpd/conf/httpd.conf přidat následující řádek s ostatními authz moduly.

    LoadModule authz_core_module modules/mod_authz_core.so
    
  13. Přidejte následující řádky na konec bloku LoadModule prohlášení.

    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
    

(Volitelné) Stáhněte si kompatibilní verzi modulu Adobe Experience Manager (AEM) Dispatcher

Pokud instalace HTTPd používá modul Adobe® Experience Manager (AEM) Dispatchermodule, musíte pomocí následujících kroků stáhnout kompatibilní soubor pro Apache HTTP Server 2.4.

  1. Spuštěním následujících příkazů extrahujte soubordispatcher-apache2.4-4.1.11.so soubor ze souboru Tape ARchive (TAR) do/etc/httpd/modules/ . K tomuto účelu používejte pouze tento soubor.

     cd /etc/httpd/modules
     rm mod_dispatcher.so
     ln -s /etc/httpd/modules/dispatcher-apache2.4-4.1.11.so mod_dispatcher.so
    
  2. Protože SSL Mutex je zastaralý, musíte upravit/etc/httpd/conf.d/ssl.conf změnit SSLMutex default na Mutex default .

Další podrobnosti najdete v dokumentaci Apache o MutexDirective.

Kritické: Restartujte HTTPd

Po dokončení kroků v tomto článku musíte restartovat HTTPd a ověřit, že je povoleno a spuštěno pomocí následujících kroků:

  1. Spuštěním následujícího příkazu restartujte HTTPd:

     service httpd start
    
  2. Ujistěte se, že je služba povolena a běží, a znovu povolte jakékoli dříve povolené sledování:

    • Na CentOS® 7 nebo Red Hat® Enterprise Linux® (RHEL) 7 spusťte následující příkazy:

      systemctl enable httpd
      
      systemctl status httpd
      

Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete s námi také zahájit konverzaci.


Linux
  1. Nainstalujte Apache a PHP na CentOS 7

  2. Nainstalujte Apache na CentOS 8

  3. CentOS / RHEL 7 :Konfigurace serveru NFS a klienta NFS

  1. Nainstalujte webový server Apache CentOS 6 / RHEL 6

  2. CentOS / RHEL 4:Jak nainstalovat a nakonfigurovat FTP server (vsftpd)

  3. CentOS / RHEL 5 :Jak nainstalovat a nakonfigurovat server vsftpd

  1. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  2. Instalace a konfigurace FTP serveru na CentOS 7 / RHEL 7 – (vsftpfd)

  3. Jak nakonfigurovat NTP server a klienta v CentOS / RHEL 7