Овај одељак садржи најбоље праксе за подешавање веб сервера на безбедан начин.
На системима заснованим на RHEL-у, додајте виртуелни домаћин у Apache конфигурацију (/etc/httpd/conf/httpd.conf
) и поставите трајно преусмеравање за корен документа на Zabbix SSL URL. Имајте на уму да example.com
треба заменити стварним именом сервера.
# Add lines:
<VirtualHost *:*>
ServerName example.com
Redirect permanent / https://example.com
</VirtualHost>
Поново покрените Аpache услугу да бисте применили промене:
Да бисте заштитили Zabbix кориснички интерфејс од напада враћања протокола на старију верзију, препоручујемо да омогућите политику HSTS на веб серверу.
Да бисте омогућили HSTS политику за ваш Zabbix фронтенд у Apache конфигурацији, пратите ове кораке:
/etc/httpd/conf/httpd.conf
на RHEL-базираним системима/etc/apache2/sites-available/000-default.conf
на Debian/Ubuntu# На RHEL-базираним системима:
systemctl restart httpd.service
# На Debian/Ubuntu
systemctl restart apache2.service
Приликом конфигурисања Zabbix-а, неопходно је применити атрибуте Secure и SameSite за сесијске колачиће како би се побољшала безбедност и спречили напади фалсификовања захтева са више сајтова (CSRF). Међутим, примена SameSite=Strict
може изазвати проблеме у одређеним сценаријима, као што су:
Да би се ублажили ови проблеми, корисници би требало да имају начин да прилагоде SameSite политику.
1. Безбедни колачићи
Постављање заставице secure
осигурава да се колачићи преносе само преко HTTPS-а, спречавајући изложеност преко нешифрованих веза.
Да бисте омогућили безбедне колачиће у Zabbix-у, додајте или измените следеће подешавање у конфигурацији веб сервера:
За Apache:
Заглавље увек уређивати Set-Cookie ^(.*)$ $1;Secure
За Nginx:
proxy_cookie_path / "/; Secure";
Уверите се да се вашем Zabbix корисничком интерфјесу приступа путем HTTPS-а; у супротном, колачићи са заставицом Secure
неће бити послати.
2. Конфигурисање атрибута SameSite
Подешавања веб сервера такође могу наметнути атрибут SameSite:
За Apache:
<IfModule mod_headers.c> Заглавље onsuccess уређивати Set-Cookie (.*) "$1; SameSite=Strict" </IfModule>
За Nginx (верзија 1.19.3+):
proxy_cookie_flags ~ samesite=Strict; # Замените ~ са 'zbx_session' ради прецизности
Да бисте заштитили Zabbix фронтенд од Cross Site Scripting-а (XSS), убризгавања података и сличних напада, препоручујемо да омогућите Политику безбедности садржаја на веб серверу. Да бисте то урадили, конфигуришите веб сервер да враћа HTTP заглавље.
Следећа конфигурација CSP заглавља је само за подразумевану инсталацију Zabbix фронтенда и за случајеве када сав садржај потиче са домена сајта (искључујући поддомене). Другачија конфигурација CSP заглавља може бити потребна ако, на пример, конфигуришете виџет URL да би приказивао садржај са поддомена сајта или спољних домена, прелазите са OpenStreetMap на други мап мотор или додајете спољни CSS или виџете. Ако користите метод Duo Universal Prompt вишефакторска аутентификација, обавезно додајте „duo.com“ CSP директиви у конфигурационој датотеци вашег виртуелног хоста.
Да бисте омогућили CSP за ваш Zabbix фронтенд у Apache конфигурацији, пратите ове кораке:
1. Пронађите конфигурациону датотеку вашег виртуелног хоста:
/etc/httpd/conf/httpd.conf
на RHEL-базираним системима/etc/apache2/sites-available/000-default.conf
на Debian/Ubuntu2. Додајте следећу директиву у конфигурациону датотеку вашег виртуелног хоста:
<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>
# На RHEL-базираним системима:
systemctl restart httpd.service
# На Debian/Ubuntu
systemctl restart apache2.service
Да би се побољшала безбедност, препоручује се онемогућавање свих потписа веб сервера.
Подразумевано, веб сервер открива потпис софтвера:
Потпис се може онемогућити додавањем следећих параметара у конфигурациону датотеку Apache-а:
PHP потпис (X-Powered-By HTTP заглавље) може се онемогућити променом конфигурационе датотеке php.ini
(подразумевано, потпис је онемогућен):
Потребно је поново покренути веб сервер да би се промене конфигурационе датотеке примениле.
За додатну безбедност, можете користити алат mod_security са Apache-ом (пакет libapache2-mod-security2). Овај алат омогућава уклањање потписа сервера уместо уклањања само верзије из потписа сервера. Потпис сервера се може променити на било коју вредност подешавањем „SecServerSignature“ на било коју жељену вредност након инсталирања mod_security.
Погледајте документацију вашег веб сервера да бисте пронашли помоћ о томе како да уклоните/промените потписе софтвера.
Да бисте избегли откривање информација, препоручује се онемогућавање подразумеваних страница са грешкама.
Подразумевано, веб сервер користи уграђене странице са грешкама:
Ове подразумеване странице са грешкама треба заменити/уклонити. На пример, директива „ErrorDocument“ може се користити за дефинисање прилагођене странице/текста са грешком за Apache веб сервер.
Молимо погледајте документацију вашег веб сервера да бисте пронашли помоћ о томе како да замените/уклоните подразумеване странице са грешкама.
Да бисте избегли откривање информација, препоручује се уклањање тест странице веб сервера.
Подразумевано, корен веб сервера Apache садржи тест страницу index.html
:
Погледајте документацију вашег веб сервера да бисте пронашли помоћ о томе како да уклоните подразумеване тест странице.
Подразумевано, Zabbix је конфигурисан са параметром Use X-Frame-Options HTTP header постављеним на SAMEORIGIN
. То значи да садржај може да се учита само у оквиру који има исто порекло као и сама страница.
Zabbix елементи корисничког интерфејса који повлаче садржај са спољних URL-ова (наиме, URL виџет за контролну таблу) приказују преузети садржај у заштићеном окружењу са омогућеним свим ограничењима у заштићеном окружењу.
Ова подешавања побољшавају безбедност Zabbix корисничког интерфејса и пружају заштиту од XSS и кликџекинг напада. Корисници Супер администратора могу изменити параметре Користи iframe sandboxing и Користити HTTP заглавље X-Frame-Options по потреби. Пажљиво одмерите ризике и користи пре него што промените подразумевана подешавања. Не препоручује се потпуно искључивање HTTP заглавља iframe sandboxing или X-Frame-Options HTTP заглавља.
Да би се повећала сложеност напада грубом употребом лозинке, препоручује се ограничавање приступа датотеци ui/data/top_passwords.txt
. Ова датотека садржи листу најчешћих лозинки специфичних за контекст и спречава кориснике да постављају такве лозинке (ако је параметар Избегавајте лозинке које је лако погодити омогућен у политици лозинки).
Да бисте ограничили приступ датотеци top_passwords.txt
, измените конфигурацију веб сервера.
На Apache-у, приступ датотеци се може ограничити помоћу датотеке .htaccess
:
На NGINX-у, приступ фајловима може бити ограничен коришћењем директиве location
: