Temat: Config friewall'a

Witam wszystkich,
Posiadam router z LEDE, na którym mam 4 strefy i interfejsy: WAN (eth0.60), LAN (br: eth0.1, wlan0), GULAN (GUest LAN; wlan0-1) i IPTV (br: eth1, eth0.21).

Konfiguracja UCI firewall:

firewall.@rule[0]=rule
firewall.@rule[0].proto='all'
firewall.@rule[0].name='VladIdiSpat!'
firewall.@rule[0].src='lan'
firewall.@rule[0].src_mac='B0:C0:90:xx:xx:xx'
firewall.@rule[0].dest='*'
firewall.@rule[0].target='DROP'
firewall.@rule[0].enabled='0'
firewall.@rule[1]=rule
firewall.@rule[1].proto='all'
firewall.@rule[1].name='Block-IPv6'
firewall.@rule[1].family='ipv6'
firewall.@rule[1].src='*'
firewall.@rule[1].dest='*'
firewall.@rule[1].target='DROP'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-DHCP-Renew'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='udp'
firewall.@rule[2].dest_port='68'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].enabled='0'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-Ping'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='icmp'
firewall.@rule[3].icmp_type='echo-request'
firewall.@rule[3].family='ipv4'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[3].enabled='0'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-IGMP'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='igmp'
firewall.@rule[4].family='ipv4'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[4].enabled='0'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-DHCPv6'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='udp'
firewall.@rule[5].src_ip='fc00::/6'
firewall.@rule[5].dest_ip='fc00::/6'
firewall.@rule[5].dest_port='546'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[5].enabled='0'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-MLD'
firewall.@rule[6].src='wan'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].src_ip='fe80::/10'
firewall.@rule[6].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@rule[6].enabled='0'
firewall.@rule[7]=rule
firewall.@rule[7].name='Allow-ICMPv6-Input'
firewall.@rule[7].src='wan'
firewall.@rule[7].proto='icmp'
firewall.@rule[7].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[7].limit='1000/sec'
firewall.@rule[7].family='ipv6'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[7].enabled='0'
firewall.@rule[8]=rule
firewall.@rule[8].name='Allow-ICMPv6-Forward'
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='*'
firewall.@rule[8].proto='icmp'
firewall.@rule[8].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[8].limit='1000/sec'
firewall.@rule[8].family='ipv6'
firewall.@rule[8].target='ACCEPT'
firewall.@rule[8].enabled='0'
firewall.@rule[9]=rule
firewall.@rule[9].name='Allow-IPSec-ESP'
firewall.@rule[9].src='wan'
firewall.@rule[9].dest='lan'
firewall.@rule[9].proto='esp'
firewall.@rule[9].target='ACCEPT'
firewall.@rule[9].enabled='0'
firewall.@rule[10]=rule
firewall.@rule[10].name='Allow-ISAKMP'
firewall.@rule[10].src='wan'
firewall.@rule[10].dest='lan'
firewall.@rule[10].dest_port='500'
firewall.@rule[10].proto='udp'
firewall.@rule[10].target='ACCEPT'
firewall.@rule[10].enabled='0'
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].drop_invalid='1'
firewall.@defaults[0].forward='DROP'
firewall.@defaults[0].output='DROP'
firewall.@defaults[0].input='DROP'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].network='lan'
firewall.@zone[0].forward='DROP'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@zone[1].family='ipv4'
firewall.@zone[1].network='wan'
firewall.@zone[1].input='DROP'
firewall.@zone[1].forward='DROP'
firewall.@zone[1].output='ACCEPT'
firewall.@include[0]=include
firewall.@include[0].path='/etc/firewall.user'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].dest='wan'
firewall.@forwarding[0].src='lan'
firewall.@zone[2]=zone
firewall.@zone[2].name='GuLAN'
firewall.@zone[2].network='GuLAN'
firewall.@zone[2].family='ipv4'
firewall.@zone[2].output='ACCEPT'
firewall.@zone[2].input='ACCEPT'
firewall.@zone[2].forward='DROP'
firewall.@forwarding[1]=forwarding
firewall.@forwarding[1].dest='wan'
firewall.@forwarding[1].src='GuLAN'

Konfiguracja UCI interfejsów i vlanów:

network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.lan=interface
network.lan.type='bridge'
network.lan.proto='static'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan.delegate='0'
network.lan.ifname='eth0.1'
network.wan=interface
network.wan.proto='static'
network.wan.delegate='0'
network.wan.ifname='eth0.60'
network.wan.force_link='0'
network.wan.ipaddr='172.16.x.x'
network.wan.netmask='255.255.255.252'
network.wan.gateway='172.16.x.x'
network.wan.broadcast='172.16.x.x'
network.wan.dns='1.1.1.1'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='4'
network.@switch_vlan[0].vid='1'
network.@switch_vlan[0].ports='0t 1 2 3'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='5'
network.@switch_vlan[1].vid='21'
network.@switch_vlan[1].ports='0t 4t'
network.@switch_vlan[2]=switch_vlan
network.@switch_vlan[2].device='switch0'
network.@switch_vlan[2].vlan='6'
network.@switch_vlan[2].ports='0t 4t'
network.@switch_vlan[2].vid='60'
network.IPTV=interface
network.IPTV.type='bridge'
network.IPTV.proto='none'
network.IPTV.delegate='0'
network.IPTV.ifname='eth0.21 eth1'
network.IPTV.auto='1'
network.GuLAN=interface
network.GuLAN.proto='static'
network.GuLAN.ipaddr='192.168.2.1'
network.GuLAN.netmask='255.255.255.155'

Przy tej konfiguracji *teoretycznie* Pakiety z GuLAN nie mają prawa trafić nigdzie indziej niż do WAN. Problem z tym, że będąc w GuLAN nadal (z niezrozumiałego przez mnie powodu, który prosiłbym o objaśnienie) można połączyć się z routerem przez adres 192.168.1.1, w czasie, gdy interfejs ma subnet 192.168.2.0/25, co jest znacznym problemem, gdyż ssh nasłuchuje tylko na intefejsie LAN, co jest przekładane na nasłuchiwanie tylko na IP routera na interfejsie LAN, aka: 192.168.1.1.

Moje pytania:
1. Dlaczego dla każdego adresu różnego od IP routera traffic jest blokowany a dla routeru - nie?
2. Jak (i czy jest to w ogóle możliwe) w UCI drop dla każdego protokołu na router (TCP, UDP, ICMP, SIP itd.) Z WYJĄTKIEM TCP/IP port 53 i 60 (dla DHCP i DNS) oraz funkcji gatewaya (forward pakietów IP z adresem, który nie jest ani w GuLAN, ani w LAN)?

2

Odp: Config friewall'a

firewall.@zone[2].input='ACCEPT' Zmień na reject i dodaj otwieranie portów które potrzebujesz (67,68,53)?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Config friewall'a

Aaa... no tak. Dzięki.