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).
-
Otevřete /etc/apache2/conf.d/httpd.conf v editoru.
-
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.
-
Spuštěním následujícího příkazu zastavíte
HTTPd
a všechny monitorovací procesy, jako jeNimbus
abyste se vyhnuli upozorněním:service httpd stop
-
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
-
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
-
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.
-
Nainstalujte HTTPd 2.4 spuštěním následujícího příkazu:
yum replace httpd --replace-with=httpd24u
-
Musíte také nainstalovat protokol LDAP (Lightweight Directory Access Protocol) spuštěním následujícího příkazu:
yum install mod_ldap
-
V Apache 2.4 musíte použít
Require
direktivy pro omezení přístupu k internetovému protokolu (IP) namístoOrder
,Deny
aAllow
. V důsledku toho musíte změnitOrder
,Deny
aAllow
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 parametruRequire
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
aAllow
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.
-
Změňte
Order
,Deny
aAllow
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
-
Ve stejném souboru změňte
Options -Indexes FollowSymLinks
naOptions -Indexes +FollowSymLinks
. -
V /etc/httpd/conf/httpd.conf , změňte
Order
,Deny
aAllow
příkazyRequire
výpisy, jak je uvedeno v kroku 8. -
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
-
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
-
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.
-
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
-
Protože SSL Mutex je zastaralý, musíte upravit/etc/httpd/conf.d/ssl.conf změnit
SSLMutex default
naMutex 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ů:
-
Spuštěním následujícího příkazu restartujte HTTPd:
service httpd start
-
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.