Temat: Firewall - jak to ustawić, żeby miało sens?
Dzień dobry,
Dziś pytanie z serii nie 'jak ustawić' tylko 'co ustawić' ![]()
W skrócie, do tej pory miałem wszystkie urządzenia w sieci LAN 192.168.1.xxx
Mam router Asus RT-AX53U (1 WAN + 3x LAN)
Uznałem, że dla bezpieczeństwa można by to podzielić.. tylko nie wiem do końca jak.
Switch przeznaczony został dla MiniPC (Proxmox: NginxProxyManager, HomeAssistant (dostępny z WAN po HTTPS), MQTT, AdGuard Home (dostępny z WAN po TLS), Docker) + PC + koordynator Zigbee
Na razie sieć WIfi 2.4Ghz przeznaczyłem dla wszystkich IoT-podobnych rzeczy (kontrolery na esphome, jeden kontroler na Tasmota, odkurzacz xiaomi), drukarka itd)
Sieć 5Ghz została dla telefonów, laptopów, chromecasta i streamera audio
Myślałem żeby tu jakieś VLANy wrzucić jeszcze, ale nie do końca rozumiem jak to zrobić żeby miało sens.
Na razie zrobiłem:
dodałem nowy interfejs br-lan.10 (.10.xxx), przypisałem go do Sieci Wifi 2.4Ghz, i chyba (?) włączyłem na nim VLAN 10 (włączone filtrowanie VLAN, dodany lokalny VLAN 10)
br-lan (MiniPC, PC, koord. ZigBee) ustawiłem VLAN 1 (nie-lokalny, wszystkie porty switcha untagged)
dodałem nową strefę firewall o nazwie IoT
root@OpenWrt:~# cat /etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'xxxx:xxxx:xxxx::/48'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
option ipv6 '0'
option vlan_filtering '0'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
list dns 'xxx'
config interface 'wan'
option device 'wan'
option proto 'dhcp'
option peerdns '0'
list dns '192.168.1.xxx' # AdGuard Home
config device
option type 'bridge'
option name 'br-lan.10'
option ipv6 '0'
option bridge_empty '1'
option vlan_filtering '0'
config interface 'IoT'
option proto 'static'
option device 'br-lan.10'
option ipaddr '192.168.10.1'
option netmask '255.255.255.0'
option type 'bridge'
config bridge-vlan
option device 'br-lan'
option vlan '1'
option local '0'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
config device
option name 'wan'
option ipv6 '0'
config device
option name 'eth0'
option ipv6 '0'
config bridge-vlan
option device 'br-lan.10'
option vlan '10'
root@OpenWrt:~# cat /etc/config/firewall
config defaults
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'wan'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'HomeAssistant'
option src 'wan'
option src_dport '8123'
option dest_ip '192.168.1.xxx'
option dest_port '8123'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'AdGuardDNS-TLS'
option src 'wan'
option src_dport '853'
option dest_ip '192.168.1.xxx'
option dest_port '853'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'nginx'
option src 'wan'
option src_dport '80'
option dest_ip '192.168.1.xxx'
option dest_port '80'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'nginx'
option src 'wan'
option src_dport '443'
option dest_ip '192.168.1.xxx'
option dest_port '443'
config zone
option name 'IoT'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'IoT'
list device 'br-lan.10'
config forwarding
option src 'lan'
option dest 'IoT'
config rule
option src 'IoT'
list src_ip '192.168.10.xxx' #Tasmota
option dest 'lan'
list dest_ip '192.168.1.xxx' #Mosquitto
option target 'ACCEPT'
option name 'TasmotaMQTT'Tak z listy potrzeb to tak:
Chromacast potrzebuje internetu i dostępu do Jellyfin(który dopiero będzie)
Streamer potrzebuje tylko dostępu do internetu + dostępu z HomeAssistanta i telefonów (sterowanie nim)
Do kontrolerów ESPHome powinien móc dobić się HomeAssistant
Odkurzacze Xiaomi potrzebują dostępu do internetu + dostępu z HomeAssistanta
Koordynator Zigbee + kontroler na Tasmota potrzebują dostępu tylko do MQTT (+ ewentualnie chciałbym się do jego interfejsu web dostać z PC)
Do drukarki powinien być dostęp z telefonów i PC
Wszystko powinno móc dobić się do AdGuarda
No i teraz pytanie.. czy to co ja robię ma sens? Póki co wydaje się, że działa, ale czy coś zabezpieczone zostało to nie jestem przekonany. Co dalej mogę tu zrobić?



