Network Filter: обмеження доступу до адмінпанелі за мережею
Огляд
Налаштування NetworkFilter дозволяє обмежити доступ до адміністративної панелі сервера залежно від мережі користувача:
Повний доступ до адмін-панелі дозволений лише з внутрішньої (локальної або корпоративної) мережі
Зовнішні користувачі (через Інтернет) не можуть отримати доступ до інтерфейсу адміністратора
Протоколи автентифікації (SAML, OIDC, WS-Fed) та підключення пристроїв (ПК/мобільні) продовжують працювати з зовнішніх мереж
Приклад використання
Системний адміністратор хоче запобігти несанкціонованому доступу до адмін-панелі Hideez Enterprise Server ззовні. Увімкнувши NetworkFilter, лише користувачі, які підключаються з корпоративної мережі (наприклад, офіс або VPN), зможуть керувати системою. Зовнішні користувачі зможуть автентифікуватися в сервісах, але не матимуть доступу до налаштувань сервера.
Системні вимоги
Щоб ця функція працювала, необхідно:
Розгорнутий сервер Hideez Enterprise Server (HES) із доступом до редагування appsettings.json
Встановлений та налаштований NGINX на Linux-сервері, який працює як зворотній проксі перед HES
Адміністративний доступ до налаштування обох компонентів – як HES, так і NGINX
Ця функція працює лише за умови двостороннього налаштування – на стороні сервера Hideez і на стороні NGINX, встановленого на Linux.
Як увімкнути NetworkFilter
Увімкнення NetworkFilter відбувається у два етапи:
Етап 1: Налаштування Hideez Server (appsettings.json)
На стороні сервера відкрийте файл appsettings.json (у директорії встановлення HES) і додайте або переконайтеся, що є наступне:
Це активує механізм фільтрації всередині сервера Hideez. Визначення мережевого походження запиту відбуватиметься через заголовок HTTP від NGINX.
Етап 2: Налаштування NGINX на Linux
На стороні NGINX (встановленого на Linux) потрібно налаштувати перевірку IP-адреси клієнта і передати відповідний заголовок на сервер.
Додайте перед location-блоком у конфігурації NGINX наступне:
Ця конфігурація встановлює змінну $x_source_type у "true" для внутрішніх IP і "false" — для всіх інших.
# Визначення, чи IP-адреса належить внутрішній мережі
geo $is_local {
default 0;
# Приклад внутрішньої мережі
192.168.1.0/24 1;
# Приклад окремої IP-адреси
10.10.100.1/32 1;
}
# Призначення значення для заголовка X-Local-Network
map $is_local $x_source_type {
1 "true";
0 "false";
}