- Tīmekļa servera drošības nodrošināšana
- Pārskats
- Saknes URL novirzīšanas uz Zabbix SSL piespiedu iestatīš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
- Noklusējuma tīmekļa servera 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 slēpšana
Tīmekļa servera drošības nodrošināšana
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 piespiedu iestatīšana
RHEL bāzētās sistēmās 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 faktiskā 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, mēs iesakām tīmekļa serverī iespējot HSTS politiku.
Lai Apache konfigurācijā iespējotu HSTS politiku savam Zabbix lietotāja saskarnei, veiciet šādas 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 Strict-Transport-Security "max-age=31536000"
</VirtualHost>
3. Restartējiet Apache pakalpojumu, lai piemērotu izmaiņas:
# RHEL bāzētās sistēmās:
systemctl restart httpd.service
# 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 piespiešana noteiktos scenārijos var radīt problēmas, piemēram:
- Informācijas paneļa URL logrī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 vajadzētu 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, 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, 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 rādītu saturu no vietnes apakšdomēniem vai ārējiem domēniem, pārslēdzaties no OpenStreetMap uz citu karšu 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 iespējotu CSP savā Zabbix lietotāja saskarnē Apache konfigurācijā, 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 parakstus.
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 jebkuru 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.
Noklusējuma tīmekļa servera 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ānomaina/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ā nomainīt/noņemt noklusējuma kļūdu lapas.
Tīmekļa servera testa lapas noņemšana
Lai novērstu informācijas noplūdi, ieteicams noņemt tīmekļa servera testa lapu.
Pēc noklusējuma Apache tīmekļa servera webroot satur index.html testa lapu:

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 ir iestatīta vērtība SAMEORIGIN.
Tas nozīmē, ka saturs var tikt ielādēts tikai rāmī, kura izcelsme ir tāda pati kā pašai lapai.
Zabbix lietotāja saskarnes elementi, kas iegūst saturu no ārējiem URL (proti, URL dashboard widget), 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 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 noklusējuma iestatījumu maiņas. Nav ieteicams pilnībā atspējot 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āla spēka uzbrukumu sarežģītību, ieteicams ierobežot piekļuvi failam ui/data/top_passwords.txt.
Šis fails satur visbiežāk lietoto un kontekstam specifisko paroļu sarakstu un 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;
}