[comment]: # translation:outdated

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

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

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

Šajā sadaļā ir aprakstīta labākā prakse tīmekļa servera drošai konfigurēšanai.

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

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

```ini
# Pievienojiet rindas:

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

Pārstartējiet Apache pakalpojumu, lai piemērotu izmaiņas:

```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 saskarni 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, veiciet šādas darbības:

1\. Atrodiet sava virtuālā resursdatora 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ā resursdatora konfigurācijas failam:

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

3\. Restartējiet Apache pakalpojumu, 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ī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

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

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

::: noteimportant
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*](/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 dzinēju vai pievienojat ārēju CSS vai logrīkus.  
Ja izmantojat Duo Universal Prompt [vairāku faktoru autentifikācijas](/manual/web_interface/frontend_sections/users/authentication/mfa) 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.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ā resursdatora 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 pakalpojumu, 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 visas tīmekļa servera parakstu norādes.

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, Apache konfigurācijas failam pievienojot šā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 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.

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

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

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

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

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

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

![](../../../../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 testēšanas 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 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](/manual/web_interface/frontend_sections/dashboards/widgets/url)), 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](/manual/web_interface/frontend_sections/administration/general#security) 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.

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

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

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:

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

NGINX gadījumā piekļuvi failam var ierobežot, izmantojot direktīvu `location`:

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

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