- 3 Tīmekļa serveris
- Pārskats
- Saknes URL pāradresācijas uz Zabbix SSL piespiedu iestatīšana
- HTTP Strict Transport Security (HSTS) iespējošana tīmekļa serverī
- Drošu un SameSite sesijas sīkdatņu piespiedu izmantošana Zabbix
- Content Security Policy (CSP) iespējošana tīmekļa serverī
- Tīmekļa servera informācijas atklāšanas atspējošana
- Tīmekļa servera noklusējuma kļūdu lapu atspējošana
- Tīmekļa servera testa lapas noņemšana
- Iestatīt X-Frame-Options HTTP atbildes galveni
- Faila ar biežāk lietoto paroļu sarakstu paslēpšana
3 Tīmekļa serveris
Pārskats
Šajā sadaļā ir apkopota labākā prakse, kā drošā veidā iestatīt tīmekļa serveri.
Saknes URL pāradresācijas uz Zabbix SSL piespiedu iestatīšana
Sistēmās, kuru pamatā ir RHEL, pievienojiet Apache konfigurācijai (/etc/httpd/conf/httpd.conf) virtuālo hostu un iestatiet pastāvīgu dokumenta saknes pāradresāciju uz Zabbix SSL URL.
Ņemiet vērā, ka example.com jāaizstāj ar faktisko servera nosaukumu.
# Pievienojiet rindas:
<VirtualHost *:*>
ServerName example.com
Redirect permanent / https://example.com
</VirtualHost>
Lai piemērotu izmaiņas, restartējiet Apache servisu:
systemctl restart httpd.service
HTTP Strict Transport Security (HSTS) iespējošana tīmekļa serverī
Lai aizsargātu Zabbix lietotāja saskarne pret protokola pazemināšanas uzbrukumiem, iesakām tīmekļa serverī iespējot HSTS politiku.
Lai Apache konfigurācijā iespējotu HSTS politiku jūsu Zabbix lietotāja saskarnei, izpildiet šīs darbības:
1. Atrodiet sava virtuālā hosta konfigurācijas failu:
/etc/httpd/conf/httpd.confuz RHEL bāzētās sistēmās/etc/apache2/sites-available/000-default.confuz Debian/Ubuntu
2. Pievienojiet šādu direktīvu sava virtuālā hosta konfigurācijas failam:
<VirtualHost *:*>
Header set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
3. Restartējiet Apache servisu, lai piemērotu izmaiņas:
# On RHEL-based systems:
systemctl restart httpd.service
# On Debian/Ubuntu
systemctl restart apache2.service
Drošu un SameSite sesijas sīkdatņu piespiedu izmantošana Zabbix
Konfigurējot Zabbix, ir būtiski piespiest izmantot drošos un SameSite atribūtus sesijas sīkdatnēm, lai uzlabotu drošību un novērstu starpvietņu pieprasījumu viltošanas (CSRF) uzbrukumus. Tomēr SameSite=Strict piespiedu izmantošana noteiktos scenārijos var radīt problēmas, piemēram:
- Informācijas paneļa URL logrīki rāda "lietotājs nav pieteicies", iegulstot tā paša domēna iframe.
- Lietotājiem, kas piekļūst informācijas panelim, izmantojot HTTP, nevis HTTPS, var rasties pieteikšanās problēmas.
- Nav iespējams kopīgot URL uz noteiktām Zabbix izvēlnes sadaļām vai hostiem.
Lai mazinātu šīs problēmas, lietotājiem jābūt iespējai pielāgot SameSite politiku.
1. Drošās sīkdatnes
Iestatot secure karogu, tiek nodrošināts, ka sīkdatnes tiek pārsūtītas tikai caur HTTPS, novēršot to noplūdi nešifrētos savienojumos.
Lai iespējotu drošās sīkdatnes Zabbix, pievienojiet vai modificējiet šādu iestatījumu tīmekļa servera konfigurācijā:
Apache gadījumā:
Header always edit Set-Cookie ^(.*)$ $1;Secure
Nginx gadījumā:
proxy_cookie_path / "/; Secure";
Pārliecinieties, ka jūsu Zabbix lietotāja saskarnei piekļūst, izmantojot HTTPS; pretējā gadījumā sīkdatnes ar Secure karogu netiks nosūtītas.
2. SameSite atribūta konfigurēšana
Tīmekļa servera iestatījumi var arī piespiest izmantot SameSite atribūtu:
Apache gadījumā:
<IfModule mod_headers.c>
Header onsuccess edit Set-Cookie (.*) "$1; SameSite=Strict"
</IfModule>
Nginx gadījumā (versija 1.19.3+):
proxy_cookie_flags ~ samesite=Strict; # Aizstājiet ~ ar 'zbx_session', lai nodrošinātu lielāku precizitāti
Content Security Policy (CSP) iespējošana tīmekļa serverī
Lai aizsargātu Zabbix lietotāja saskarne pret Cross Site Scripting (XSS), datu injekciju un līdzīgiem uzbrukumiem, iesakām iespējot Content Security Policy tīmekļa serverī. Lai to izdarītu, konfigurējiet tīmekļa serveri tā, lai tas atgrieztu HTTP header.
Tālāk norādītā CSP header konfigurācija ir paredzēta tikai noklusējuma Zabbix lietotāja saskarne instalācijai un gadījumiem, kad viss saturs tiek ielādēts no vietnes domēna (izņemot apakšdomēnus). Citāda CSP header konfigurācija var būt nepieciešama, ja, piemēram, konfigurējat URL logrīku, lai attēlotu saturu no vietnes apakšdomēniem vai ārējiem domēniem, pārslēdzaties no OpenStreetMap uz citu kartes dzini vai pievienojat ārēju CSS vai logrīkus. Ja izmantojat Duo Universal Prompt daudzfaktoru autentifikācijas metodi, noteikti pievienojiet "duo.com" CSP direktīvai sava virtuālā hosta konfigurācijas failā.
Lai iespējotu CSP jūsu Zabbix lietotāja saskarne Apache konfigurācijā, izpildiet šīs darbības:
1. Atrodiet sava virtuālā hosta konfigurācijas failu:
/etc/httpd/conf/httpd.confRHEL bāzētās sistēmās/etc/apache2/sites-available/000-default.confDebian/Ubuntu
2. Pievienojiet šādu direktīvu sava virtuālā hosta konfigurācijas failam:
<VirtualHost *:*>
Header set Content-Security-Policy: "default-src 'self' *.openstreetmap.org; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self' data: *.openstreetmap.org; style-src 'self' 'unsafe-inline'; base-uri 'self'; form-action 'self';"
</VirtualHost>
3. Restartējiet Apache servisu, lai piemērotu izmaiņas:
# On RHEL-based systems:
systemctl restart httpd.service
# On Debian/Ubuntu
systemctl restart apache2.service
Tīmekļa servera informācijas atklāšanas atspējošana
Lai uzlabotu drošību, ieteicams atspējot visus tīmekļa servera parakstus.
Pēc noklusējuma tīmekļa serveris atklāj programmatūras parakstu:

Parakstu var atspējot, pievienojot Apache konfigurācijas failam šādus parametrus:
ServerSignature Off
ServerTokens Prod
PHP parakstu (X-Powered-By HTTP galveni) var atspējot, mainot php.ini konfigurācijas failu (pēc noklusējuma paraksts ir atspējots):
expose_php = Off
Lai konfigurācijas faila izmaiņas stātos spēkā, ir nepieciešams restartēt tīmekļa serveri.
Papildu drošībai varat izmantot rīku mod_security kopā ar Apache (pakotne libapache2-mod-security2). Šis rīks ļauj noņemt servera parakstu, nevis tikai noņemt versiju no servera paraksta. Servera parakstu var mainīt uz jebkuru vērtību, pēc mod_security instalēšanas iestatot "SecServerSignature" uz jebkuru vēlamo vērtību.
Lūdzu, skatiet sava tīmekļa servera dokumentāciju, lai uzzinātu, kā noņemt/mainīt programmatūras parakstus.
Tīmekļa servera noklusējuma kļūdu lapu atspējošana
Lai izvairītos no informācijas atklāšanas, ieteicams atspējot noklusējuma kļūdu lapas.
Pēc noklusējuma tīmekļa serveris izmanto iebūvētās kļūdu lapas:

Šīs noklusējuma kļūdu lapas būtu jāaizstāj/jānoņem. Piemēram, Apache tīmekļa serverī var izmantot direktīvu "ErrorDocument", lai definētu pielāgotu kļūdu lapu/tekstu.
Lūdzu, skatiet sava tīmekļa servera dokumentāciju, lai uzzinātu, kā aizstāt/noņemt noklusējuma kļūdu lapas.
Tīmekļa servera testa lapas noņemšana
Lai izvairītos no informācijas atklāšanas, ir ieteicams noņemt tīmekļa servera testa lapu.
Pēc noklusējuma Apache tīmekļa servera tīmekļa saknes direktorijā ir index.html testa lapa:

Lūdzu, skatiet sava tīmekļa servera dokumentāciju, lai uzzinātu, kā noņemt noklusējuma testa lapas.
Iestatīt X-Frame-Options HTTP atbildes galveni
Pēc noklusējuma Zabbix ir konfigurēts ar parametru Use X-Frame-Options HTTP header, kam iestatīta vērtība SAMEORIGIN.
Tas nozīmē, ka saturu var ielādēt tikai rāmī, kam ir tāda pati izcelsme kā pašai lapai.
Zabbix lietotāja saskarnes elementi, kas iegūst saturu no ārējiem URL (proti, URL paneļa logrīks), parāda iegūto saturu smilškastē ar iespējotiem visiem smilškastes ierobežojumiem.
Šie iestatījumi uzlabo Zabbix lietotāja saskarnes drošību un nodrošina aizsardzību pret XSS un klikšķu pārtveršanas uzbrukumiem. Super admin lietotāji pēc vajadzības var mainīt parametrus Use iframe sandboxing un Use X-Frame-Options HTTP header. Pirms noklusējuma iestatījumu maiņas, lūdzu, rūpīgi izvērtējiet riskus un ieguvumus. Nav ieteicams pilnībā izslēgt iframe smilškasti vai X-Frame-Options HTTP atbildes galveni.
Faila ar biežāk lietoto paroļu sarakstu paslēpšana
Lai palielinātu paroļu brutālā spēka uzbrukumu sarežģītību, ieteicams ierobežot piekļuvi failam ui/data/top_passwords.txt.
Šajā failā ir ietverts biežāk lietoto un kontekstam specifisko paroļu saraksts, un tas neļauj lietotājiem iestatīt šādas paroles (ja paroļu politikā ir iespējots parametrs Izvairīties no viegli uzminamām parolēm).
Lai ierobežotu piekļuvi failam top_passwords.txt, modificējiet sava tīmekļa servera konfigurāciju.
Apache vidē piekļuvi failam var ierobežot, izmantojot .htaccess failu:
<Files "top_passwords.txt">
Order Allow,Deny
Deny from all
</Files>
NGINX vidē piekļuvi failam var ierobežot, izmantojot location direktīvu:
location = /data/top_passwords.txt {
deny all;
return 404;
}