[comment]: # translation:outdated

[comment]: # ({f4bccb67-40cfdec2})
# 3 Tīmekļa serveris

[comment]: # ({/f4bccb67-40cfdec2})

[comment]: # ({2ff4365d-129e34f5})
#### Pārskats

Šajā sadaļā ir apkopota labākā prakse, kā drošā veidā iestatīt tīmekļa serveri.

[comment]: # ({/2ff4365d-129e34f5})

[comment]: # ({a38dec5b-bb3706f4})
#### 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.

```ini
# Pievienojiet rindas:

<VirtualHost *:*>
    ServerName example.com
    Redirect permanent / https://example.com
</VirtualHost>
```

Lai piemērotu izmaiņas, restartējiet Apache servisu:

```bash
systemctl restart httpd.service
```

[comment]: # ({/a38dec5b-bb3706f4})

[comment]: # ({3d62d250-c7ee0bb2})
#### 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](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) 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.conf` uz RHEL bāzētās sistēmās
-   `/etc/apache2/sites-available/000-default.conf` uz Debian/Ubuntu

2\. Pievienojiet šādu direktīvu sava virtuālā hosta konfigurācijas failam:

```ini
<VirtualHost *:*>
    Header set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
```

3\. Restartējiet Apache servisu, lai piemērotu izmaiņas:

```bash
# On RHEL-based systems:
systemctl restart httpd.service

# On Debian/Ubuntu
systemctl restart apache2.service
```

[comment]: # ({/3d62d250-c7ee0bb2})

[comment]: # ({09df8737-8057bf9f})
#### 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

[comment]: # ({/09df8737-8057bf9f})

[comment]: # ({0291801e-55d3532e})
#### 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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy).

::: noteimportant
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*](/manual/web_interface/frontend_sections/dashboards/widgets/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](/manual/web_interface/frontend_sections/users/authentication/mfa) 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.conf` RHEL bāzētās sistēmās
-   `/etc/apache2/sites-available/000-default.conf` Debian/Ubuntu

2\. Pievienojiet šādu direktīvu sava virtuālā hosta konfigurācijas failam:

```ini
<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:

```bash
# On RHEL-based systems:
systemctl restart httpd.service

# On Debian/Ubuntu
systemctl restart apache2.service
```

[comment]: # ({/0291801e-55d3532e})

[comment]: # ({cc2b15aa-cd09dcd1})
#### 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:

![](../../../../assets/en/manual/installation/requirements/software_signature.png)

Parakstu var atspējot, pievienojot Apache konfigurācijas failam šādus parametrus:

```ini
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):

```ini
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.

[comment]: # ({/cc2b15aa-cd09dcd1})

[comment]: # ({2053690e-720052da})
#### 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:

![](../../../../assets/en/manual/installation/requirements/error_page_text.png)

Šī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.

[comment]: # ({/2053690e-720052da})

[comment]: # ({5dd327a4-ba1547c0})
#### 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:

![](../../../../assets/en/manual/installation/requirements/test_page.png)

Lūdzu, skatiet sava tīmekļa servera dokumentāciju, lai uzzinātu, kā noņemt noklusējuma testa lapas.

[comment]: # ({/5dd327a4-ba1547c0})

[comment]: # ({47163d34-7e4e4a45})
#### 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](/manual/web_interface/frontend_sections/dashboards/widgets/url)), 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](/manual/web_interface/frontend_sections/administration/general#security) 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.

[comment]: # ({/47163d34-7e4e4a45})

[comment]: # ({35ac3238-3f76ae70})
#### 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ā](/manual/web_interface/frontend_sections/users/authentication#internal-authentication) 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:

```ini
<Files "top_passwords.txt">
    Order Allow,Deny
    Deny from all
</Files>
```

NGINX vidē piekļuvi failam var ierobežot, izmantojot `location` direktīvu:

```ini
location = /data/top_passwords.txt {
    deny all;
    return 404;
}
```

[comment]: # ({/35ac3238-3f76ae70})
