Налаштування DMZ за допомогою VLAN

DMZ — це концепція безпеки. Вона полягає в розділенні внутрішньої мережі (LAN) принаймні на дві частини: мережу користувачів (LAN) і зону DMZ. Зазвичай зона DMZ ізольована: з Інтернету дозволено доступ лише до певних портів у зоні DMZ, тоді як сама зона DMZ не має права ініціювати з'єднання до WAN чи LAN. Таким чином, навіть якщо сервер у DMZ буде зламаний, шкода обмежується цією зоною. Мета DMZ — створити окремий набір правил файрволу, який суворо регулює вхідний і вихідний трафік DMZ.

Публічні сервери завжди є найуразливішою частиною будь-якої мережі, навіть якщо вони:

  • налаштовані та захищені професійно,
  • регулярно оновлюються,
  • та ретельно моніторяться (журнали відправляються поштою і переглядаються).

Багато шкідливих сканерів у мережі перевіряють відомі TCP-порти, намагаючись використати вразливості. Наприклад, Apache — один із найпоширеніших вебсерверів — має численні POV (точки вразливості). Див. базу CVE щодо вразливостей Apache або вразливості Apache 2.4.

Докладніше про поділ вашої LAN-секції на кілька мереж (типово це один міст):

Можна налаштувати правила файрволу просто на основі IP-адрес публічних серверів (див. NAT для публічного сервера в LAN), але це менш безпечно. Якщо зловмисник отримає доступ до публічного сервера — усі інші вузли можуть опинитися під загрозою.

Більш безпечне рішення — створити окрему VLAN для DMZ, додати її в нову зону файрволу і налаштувати правила лише для цієї зони.

Нижче приклад конфігурації перемикача (switch), який присвоює порти VLAN відповідно до зон DMZ.

:!: Пристрої в DMZ мають бути підключені через дротовий Ethernet (а не Wi-Fi): це і продуктивніше, і легше для VLAN-конфігурації.

Налаштуйте перемикач у /etc/config/network або через LuCI → Network → Switch.

Цей приклад заснований на референсній топології. Пристрій STA-server2 — це публічний вебсервер з доступом з Інтернету.

Для перевірки портів перемикача використовуйте:

swconfig list
swconfig dev switch0 show

:!: Зверніть увагу, що фізичне маркування портів на корпусі може не відповідати їх номерам у системі.

Відповідність портів (приклад для Atheros/Qualcomm):

  • 0 — WAN
  • 1–4 — порти GigE LAN
  • 5 — eth1 (до CPU)
  • 6 — eth0 (до CPU і WLAN)

WLAN (2.4GHz 802.11n) також працює через eth0.

Типовий `/etc/config/network` має такі VLAN:

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'
 
config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 5'
 
config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 2 3 4 6'

Щоб виділити DMZ, перенаправте порт 1 до окремої VLAN:

config switch_vlan
        option device 'switch0'
        option vlan '102'
        option ports '2 3 4 6t'
	list comment 'vlan102: LAN порти'
 
config switch_vlan
        option device 'switch0'
        option vlan '103'
        option ports '1 6t'
	list comment 'vlan103: DMZ в LAN'

:!: Обов'язково вказуйте тегування (6t) для CPU (і WLAN, якщо потрібно).

:!: Уникайте використання параметра `vid`, оскільки за замовчуванням він дорівнює `vlan` — додаткове вказування може призвести до помилок.

:!: Для деяких комутаторів (Realtek/Atheros) слід очищати ARL-кеш після зміни VLAN, інакше пакети можуть бути відкинуті через неправильне MAC-відображення.

Додайте інтерфейс для DMZ:

config 'interface' dmz
        option 'ifname' eth0.103
        option 'proto'   static
        option 'ipaddr'  192.168.30.1
        option 'netmask' 255.255.255.0

Значення `ifname` — це `<інтерфейс>.<vlan>`. Підмережа повинна бути унікальною.

Після налаштування файрволу DNS буде доступний, а от DHCP потрібно налаштувати вручну в /etc/config/dhcp:

config dhcp 'dmz'
	option interface 'dmz'
	option start '50'
	option limit '70'
	option leasetime '12h'

Також бажано закріпити публічний сервер через статичний DHCP:

config host
	option name 'STA-server2'
	option dns '1'
	option mac '24:B6:FD:24:59:B9'
	option ip '192.168.30.20'
	option leasetime '12h'

Найважливіше — це налаштування правил файрволу. Кожна VLAN має бути окремою зоною:

config 'zone'
       option 'name' 'dmz'
       option 'input' 'REJECT'
       option 'output' 'REJECT'
       option 'forward' 'REJECT'
       option 'network' 'dmz'

Наступний крок — дозволити:

1. HTTP/HTTPS із WAN до STA-server2 2. DHCPDISCOVER / DHCPOFFER 3. DNS із DMZ 4. SSH з LAN до DMZ (для обслуговування)

# Переадресація HTTP(S)
config redirect             
        option target 'DNAT'
        option src 'wan'
        option src_dport '80 443'
        option proto 'tcp'
        option family 'ipv4'
        option dest 'dmz'
        option dest_ip '192.168.30.20'
        option dest_port '80'
        option name 'DNAT-HTTP-WAN-DMZ'
        option enabled '1'
 
# DHCPDISCOVER
config 'rule'
	option src 'dmz'
	option proto 'udp'
	option family 'ipv4'
	option src_port 68
	option dest_port 67
	option target 'ACCEPT'
	option name 'ACCEPT-DHCPDISCOVER-DMZ'
	option enabled '1'
 
# DHCPOFFER
config 'rule'
	option dest 'dmz'
	option proto 'udp'
	option family 'ipv4'
	option src_port 67
	option dest_port 68
	option target 'ACCEPT'
	option name 'ACCEPT-DHCPOFFER-DMZ'
	option enabled '1'
 
# DNS
config 'rule'
       option src 'dmz'
       option proto 'tcp udp'
       option dest 'wan'
       option dest_port 53
       option target 'ACCEPT'
       option name 'ACCEPT-DNS-DMZ-WAN'
       option enabled '1'
 
# SSH із LAN
config rule   
       option src 'lan'
       option dest 'dmz'
       option proto 'tcp'
       option family 'ipv4'
       option dest_port '22'
       option target 'ACCEPT'      
       option name 'ACCEPT-SSH-LAN-DMZ'
       option enabled '1'

:!: Якщо ви хочете отримати доступ до LuCI з WAN, але порт 80 вже використовується — використовуйте інший порт (наприклад, 8080):

config redirect
        option target 'DNAT'
        option src 'wan'
        option src_dport '8080'
        option proto 'tcp'
        option family 'ipv4'
        option dest_port '80'
        option name 'DNAT-HTTP-WAN-DEVICE'
        option enabled '1'
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/06/01 11:12
  • by vazaz