- 3 Tīmekļa serveris
- Pārskats
- Saknes URL novirzīšanas uz Zabbix SSL piespiešana
- HTTP Strict Transport Security (HSTS) iespējošana tīmekļa serverī
- Drošu un SameSite sesijas sīkfailu ieviešana Zabbix
- Satura drošības politikas (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 testēšanas lapas noņemšana
- Iestatīt X-Frame-Options HTTP atbildes galveni
- Faila ar biežāk lietoto paroļu sarakstu slēpšana
3 Tīmekļa serveris
Pārskats
Šajā sadaļā ir aprakstīta labākā prakse tīmekļa servera drošai konfigurēšanai.
Saknes URL novirzīšanas uz Zabbix SSL piespiešana
Uz RHEL bāzētām sistēmām pievienojiet virtuālo hostu Apache konfigurācijai (/etc/httpd/conf/httpd.conf) un iestatiet pastāvīgu dokumentu saknes novirzīšanu uz Zabbix SSL URL.
Ņemiet vērā, ka example.com ir jāaizstāj ar faktisko servera nosaukumu.
# Pievienojiet rindas:
<VirtualHost *:*>
ServerName example.com
Redirect permanent / https://example.com
</VirtualHost>
Pārstartējiet Apache pakalpojumu, lai piemērotu izmaiņas:
systemctl restart httpd.service
HTTP Strict Transport Security (HSTS) iespējošana tīmekļa serverī
Lai aizsargātu Zabbix lietotāja saskarni 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, veiciet šādas darbības:
1. Atrodiet sava virtuālā resursdatora 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ā resursdatora konfigurācijas failam:
<VirtualHost *:*>
Header set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
3. Restartējiet Apache pakalpojumu, 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īkfailu ieviešana Zabbix
Konfigurējot Zabbix, ir svarīgi piespiest sesijas sīkfailiem izmantot drošos un SameSite atribūtus, lai uzlabotu drošību un novērstu starpvietņu pieprasījumu viltošanas (CSRF) uzbrukumus. Tomēr SameSite=Strict ieviešana var radīt problēmas noteiktos scenārijos, piemēram:
- Informācijas paneļa URL sīkrīki rāda "user not logged in", ja tiek iegulti viena domēna iframe.
- Lietotāji, kas piekļūst informācijas panelim, izmantojot HTTP, nevis HTTPS, var saskarties ar pieteikšanās problēmām.
- Nav iespējams kopīgot URL uz konkrētā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šie sīkfaili
Iestatot secure karodziņu, tiek nodrošināts, ka sīkfaili tiek pārsūtīti tikai pa HTTPS, tādējādi novēršot to atklāšanu nešifrētos savienojumos.
Lai Zabbix iespējotu drošos sīkfailus, tīmekļa servera konfigurācijā pievienojiet vai modificējiet šādu iestatījumu:
Apache:
Header always edit Set-Cookie ^(.*)$ $1;Secure
Nginx:
proxy_cookie_path / "/; Secure";
Pārliecinieties, ka jūsu Zabbix lietotāja saskarne ir pieejama, izmantojot HTTPS; pretējā gadījumā sīkfaili ar Secure karodziņu netiks nosūtīti.
2. SameSite atribūta konfigurēšana
Tīmekļa servera iestatījumi var arī piespiest SameSite atribūtu:
Apache:
<IfModule mod_headers.c>
Header onsuccess edit Set-Cookie (.*) "$1; SameSite=Strict"
</IfModule>
Nginx (versija 1.19.3+):
proxy_cookie_flags ~ samesite=Strict; # Replace ~ with 'zbx_session' for specificity
Satura drošības politikas (CSP) iespējošana tīmekļa serverī
Lai aizsargātu Zabbix lietotāja saskarni pret Cross Site Scripting (XSS), datu ievadīšanu un līdzīgiem uzbrukumiem, mēs iesakām tīmekļa serverī iespējot Content Security Policy.
Lai to izdarītu, konfigurējiet tīmekļa serveri tā, lai tas atgrieztu HTTP galveni.
Tālāk norādītā CSP galvenes konfigurācija ir paredzēta tikai noklusējuma Zabbix lietotāja saskarnes instalācijai un gadījumiem, kad viss saturs nāk no vietnes domēna (izņemot apakšdomēnus).
Var būt nepieciešama cita CSP galvenes konfigurācija, 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 dzinēju vai pievienojat ārēju CSS vai logrīkus.
Ja izmantojat Duo Universal Prompt vairāku faktoru autentifikācijas metodi, noteikti pievienojiet "duo.com" CSP direktīvai sava virtuālā resursdatora konfigurācijas failā.
Lai Apache konfigurācijā iespējotu CSP jūsu Zabbix lietotāja saskarnei, veiciet šīs darbības:
1. Atrodiet sava virtuālā resursdatora 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ā resursdatora 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 pakalpojumu, 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 visas tīmekļa servera parakstu norādes.
Pēc noklusējuma tīmekļa serveris atklāj programmatūras parakstu:

Parakstu var atspējot, Apache konfigurācijas failam pievienojot šā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 vēlamo vērtību.
Lūdzu, skatiet sava tīmekļa servera dokumentāciju, lai uzzinātu, kā noņemt vai mainīt programmatūras parakstus.
Tīmekļa servera noklusējuma kļūdu lapu atspējošana
Lai novērstu informācijas noplūdi, 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 ir jāaizstāj/jānoņem. Piemēram, Apache tīmekļa serverim 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 testēšanas lapas noņemšana
Lai novērstu informācijas noplūdi, ieteicams noņemt tīmekļa servera testēšanas lapu.
Pēc noklusējuma Apache tīmekļa servera tīmekļa saknes katalogā ir index.html testēšanas lapa:

Lūdzu, skatiet sava tīmekļa servera dokumentāciju, lai uzzinātu, kā noņemt noklusējuma testēšanas 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 ir iestatīta vērtība SAMEORIGIN.
Tas nozīmē, ka saturu var ielādēt tikai rāmī, kura izcelsme ir tāda pati kā pašai lapai.
Zabbix lietotāja saskarnes elementi, kas ielādē saturu no ārējām URL adresēm (proti, URL dashboard widget), attēlo 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 clickjacking uzbrukumiem. Super admin lietotāji var modificēt parametrus Use iframe sandboxing un Use X-Frame-Options HTTP header pēc vajadzības. Lūdzu, rūpīgi izvērtējiet riskus un ieguvumus, pirms maināt noklusējuma iestatījumus. Nav ieteicams pilnībā izslēgt iframe smilškastēšanu vai X-Frame-Options HTTP galveni.
Faila ar biežāk lietoto paroļu sarakstu slēpšana
Lai palielinātu paroļu brutālpiespiedu uzbrukumu sarežģītību, ieteicams ierobežot piekļuvi failam ui/data/top_passwords.txt.
Šajā failā ir iekļauts visbiežāk lietoto un kontekstam specifisko paroļu saraksts, un tas neļauj lietotājiem iestatīt šādas paroles (ja ir iespējots parametrs Avoid easy-to-guess passwords paroļu politikā).
Lai ierobežotu piekļuvi failam top_passwords.txt, modificējiet sava tīmekļa servera konfigurāciju.
Apache gadījumā piekļuvi failam var ierobežot, izmantojot .htaccess failu:
<Files "top_passwords.txt">
Order Allow,Deny
Deny from all
</Files>
NGINX gadījumā piekļuvi failam var ierobežot, izmantojot direktīvu location:
location = /data/top_passwords.txt {
deny all;
return 404;
}