Овај одељак садржи најбоље праксе за подешавање веб сервера на безбедан начин.
На системима заснованим на 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 кориснички интерфејс у Аpache конфигурацији, пратите ове кораке:
1. Пронађите конфигурациону датотеку виртуелног домаћина:
/etc/httpd/conf/httpd.conf
на системима заснованим на RHEL-у/etc/apache2/sites-available/000-default.conf
на Debian/Ubuntu2. Додајте следећу директиву у конфигурациону датотеку виртуелног домаћина:
3. Поново покрените Apache услугу да бисте применили промене:
# На системима заснованим на RHEL:
systemctl restart httpd.service
# На Debian/Ubuntu
systemctl restart apache2.service
Приликом конфигурисања Zabbix-а, неопходно је применити сигурне и SameSite атрибуте за колачиће сесије да бисте побољшали безбедност и спречили нападе фалсификовања захтева на више локација (CSRF). Међутим, примена SameSite=Strict
може изазвати проблеме у одређеним сценаријима, као што су:
– URL виџети контролне табле који приказују "корисник није пријављен" када се уграђују ифрамеови на истом домену. – Корисници који приступају контролној табли преко HTTP-а уместо HTTPS-а могу се суочити са проблемима при пријављивању. – Немогућност дељења URL-ова са одређеним одељцима менија Zabbix-а или домаћина.
Да би ублажили ове проблеме, корисници би требало да имају начин да прилагоде политику SameSite.
1. Сигурни колачићи
Постављање заставице secure
обезбеђује да се колачићи преносе само преко HTTPS-а, спречавајући излагање преко нешифрованих веза.
Да бисте омогућили безбедне колачиће у Zabbix-у, додајте или измените следеће поставке у конфигурацији веб сервера:
За Apache:
За Nginx:
Уверите се да се вашем Zabbix корисничким интерфејсом приступа преко HTTPS-а; у супротном, колачићи са ознаком Secure
неће бити послати.
2. Конфигурисање атрибута SameSite
Подешавања веб сервера такође могу да примене атрибут SameSite:
За Apache:
За Nginx (верзија 1.19.3+):
Да бисте заштитили Zabbix кориснички интерфејс од унакрсног скриптовања (XSS), убацивања података и сличних напада, препоручујемо да омогућите политику безбедности садржаја на веб серверу. Да бисте то урадили, конфигуришите веб сервер да враћа HTTP заглавље.
Следећа конфигурација CSP заглавља је само за подразумевану инсталацију Zabbix корисничког интерфејса и за случајеве када сав садржај потиче са домена сајта (искључујући поддомене). Можда ће бити потребна другачија конфигурација заглавља CSP-а ако, на пример, конфигуришете URL виџет за приказ садржаја са поддомена или екстерних домена сајта, пребацујете са OpenStreetMap на други спољни CSS механизам за мапе или додајете видге 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>
3. Поново покрените Apache услугу да бисте применили промене:
# On RHEL-based systems:
systemctl restart httpd.service
# On 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
. То значи да садржај може да се учита само у оквиру који има исто порекло као и сама страница.
Заббик елементи фронтенд-а који повлаче садржај са спољних 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
: