GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiorna Apache HTTP Server 2.2 a 2.4 in RHEL e CentOS 7

Se hai eseguito di recente una scansione di sicurezza della conformità, i risultati potrebbero essere simili al seguente esempio:

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

A seconda della base di codice, il server HTTP Apache® potrebbe aver già attenuato questi problemi di sicurezza. La scansione controlla la versione di Apache del server per determinare se la versione installata risolve il problema di sicurezza. Tuttavia, alcune scansioni di sicurezza di conformità utilizzano solo la versione di Apache per determinare se il server è vulnerabile a Common Vulnerabilities and Exposures (CVE) anziché rilevare direttamente le vulnerabilità.

Tali scansioni generano quasi sempre un falso positivo. Se abiliti gli aggiornamenti automatici, la versione potrebbe rimanere la stessa, anche se un'altra versione corregge la vulnerabilità. Pertanto, la scansione potrebbe contrassegnare la vulnerabilità come positiva. Questo risultato potrebbe verificarsi anche se le scansioni del tuo provider mostrano che il tuo server non è più vulnerabile, anche se scansioni precedenti hanno individuato delle vulnerabilità.

Segui i passaggi seguenti se il tuo audit di sicurezza rivela che i tuoi scansioni di sicurezza di conformità utilizzano solo la versione di Apache per identificare le vulnerabilità sul tuo server Apache2. Modifica il file di configurazione per il daemon Hypertext Transfer Protocol (HTTPd).

  1. Apri /etc/apache2/conf.d/httpd.conf in un editor.

  2. Aggiungi le seguenti righe e rimuovi le informazioni sulla versione:

    ServerSignature Off
    ServerTokens Prod
    

    Nota :il tuo server non dovrebbe fornire una firma della versione e la tua società di test di penetrazione dovrebbe consigliarti di disabilitare le versioni.

Aggiornamento da Apache 2.2 ad Apache 2.4

Utilizzare i seguenti passaggi per aggiornare Apache 2.2 ad Apache 2.4.

  1. Esegui il comando seguente per interrompere HTTPd e qualsiasi processo di monitoraggio come Nimbus per evitare avvisi:

    service httpd stop
    
  2. Esegui i seguenti comandi per eseguire il backup delle configurazioni dell'host virtuale, assicurandoti di includere eventuali directory aggiuntive che hai aggiunto, come vhost :

    cd /etc/httpd
    tar -cvf /tmp/apache_vhostconfig.tar conf conf.d vhosts
    
  3. Esegui il comando seguente per installare yum-plugin-replace pacchetto,che risolve i conflitti di pacchetto durante la sostituzione del pacchetto:

     yum install yum-plugin-replace
    
  4. Prima di procedere, esegui i seguenti comandi per verificare la versione installata e la versione che desideri installare:

     apachectl -V
     yum search httpd
     yum info httpd
    

    Il tuo output dovrebbe apparire simile al seguente esempio, che usa il comando 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. Installa HTTPd 2.4 eseguendo il comando seguente:

    yum replace httpd --replace-with=httpd24u
    
  6. È inoltre necessario installare LDAP (Lightweight Directory Access Protocol) eseguendo il comando seguente:

    yum install mod_ldap
    
  7. In Apache 2.4, devi usare Require direttive per la restrizione dell'accesso IP (Internet Protocol) invece di Order , Deny e Allow . Di conseguenza, è necessario modificare l'Order , Deny , e Allow dichiarazioni nel tuo /etc/httpd/conf.d/server-status.conf fileper usare Require dichiarazioni. Perché potresti averli nel .htaccess file per altri siti Web, assicurati di controllare attentamente le tue documentroot per evitare di danneggiare i tuoi siti Web a causa della mancanza di Require direttive.

    Il tuo /etc/httpd/conf.d/server-status.conf esistente dovrebbe apparire simile al seguente esempio.

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

    Sostituisci l'Order , Deny e Allow istruzioni con la configurazione nell'esempio seguente.

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

    Nota :questa modifica della sintassi si applica anche agli host virtuali in conf.d e httpd.conf configurazioni host virtuali.

  8. Modifica l'Order , Deny e Allow dichiarazioni in conf.d aRequire dichiarazioni.

    #    Order deny,allow
    #    Deny from all
    Require all denied
    
    #    Order deny,allow
    #    Allow from all
    Require all granted
    
  9. Nello stesso file, cambia Options -Indexes FollowSymLinks aOptions -Indexes +FollowSymLinks .

  10. In /etc/httpd/conf/httpd.conf , cambia l'Order , Deny eAllow dichiarazioni da Require dichiarazioni, come mostrato nel passaggio 8.

  11. In /etc/httpd/conf/httpd.conf , imposta come commenti il ​​LoadModule direttive per moduli non più utilizzati.

    #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. Modifica /etc/httpd/conf/httpd.conf per aggiungere la riga seguente con l'altro authz moduli.

    LoadModule authz_core_module modules/mod_authz_core.so
    
  13. Aggiungi le seguenti righe in fondo al blocco di LoadModule dichiarazioni.

    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
    

(Facoltativo) Scarica una versione compatibile del modulo Dispatcher di Adobe Experience Manager (AEM)

Se l'installazione HTTPd utilizza il modulo Dispatcher di Adobe® Experience Manager (AEM), è necessario utilizzare i seguenti passaggi per scaricare il file compatibile per Apache HTTP Server 2.4.

  1. Esegui i seguenti comandi per estrarre il dispatcher-apache2.4-4.1.11.so dal file Tape ARchive (TAR) in /etc/httpd/modules/ . Usa solo questo file per questo scopo.

     cd /etc/httpd/modules
     rm mod_dispatcher.so
     ln -s /etc/httpd/modules/dispatcher-apache2.4-4.1.11.so mod_dispatcher.so
    
  2. Poiché SSL Mutex è deprecato, è necessario modificare/etc/httpd/conf.d/ssl.conf per modificare SSLMutex default aMutex default .

Per maggiori dettagli, vedere la documentazione di Apache sulla MutexDirective.

Critico: Riavvia HTTPd

Dopo aver completato i passaggi in questo articolo, è necessario riavviare HTTPd e verificare che sia abilitato e in esecuzione seguendo i passaggi seguenti:

  1. Esegui il comando seguente per riavviare HTTPd:

     service httpd start
    
  2. Assicurati che il servizio sia abilitato e in esecuzione e riattiva qualsiasi monitoraggio precedentemente abilitato:

    • Su CentOS® 7 o Red Hat® Enterprise Linux® (RHEL) 7, esegui i seguenti comandi:

      systemctl enable httpd
      
      systemctl status httpd
      

Utilizza la scheda Feedback per inserire commenti o porre domande. Puoi anche avviare una conversazione con noi.


Linux
  1. Installa Apache e PHP su CentOS 7

  2. Installa Apache su CentOS 8

  3. CentOS / RHEL 7:configurazione di un server NFS e un client NFS

  4. CentOS / RHEL 4:come installare e configurare il server FTP (vsftpd)

  5. CentOS / RHEL 5:Come installare e configurare il server vsftpd

Come installare Apache ActiveMQ e Hawt.io su CentOS 8

Come installare e configurare il server VNC su CentOS 8

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

Come installare Apache in CentOS 8

Guida per principianti ad Apache HTTP Server – Installazione e configurazione

Come installare e configurare il server VNC su CentOS/RHEL 8