wiki:Nodewatcher/Firewall
Last modified 6 years ago Last modified on 06/30/2011 11:18:40 PM

Firewall

Trenutna firewall politika na točkah je opisana spodaj. Na samih točkah je zapisana v obliki iptables pravil, ki se nahajajo v datoteki /etc/init.d/firewall oz. v repozitoriju v paketu firewall. V kolikor popravljaš to politiko obvezno popravi tudi ustrezna pravila v repozitoriju in obratno!

Datoteka, ki je spodaj omenjena kot konfiguracijska datoteka, je /etc/config/network.

Uporabljene konstante

Vmesniki:

  • WIFI_DEV je vmesnik, v konfiguraciji označen z identifikatorjem mesh (ponavadi ath0, wifi0, wl0 in podobno). To je torej brezžični vmesnik točke. V primeru vklopa LAN/WiFi bridge-a je to vmesnik br-mesh.
  • MESH_DEV je alias za WIFI_DEV.
  • LAN_DEV je vmesnik, v konfiguraciji označen z identifikatorjem lan. Gre za LAN vmesnik točke (ponavadi eth0.0 ali eth0). Lahko ni prisoten.
  • LANMESH_DEV je vmesnik, v konfiguraciji označen z identifikatorjem lanmesh. Ta se v privzeti konfiguraciji ne uporablja in torej nikoli ni prisoten.
  • WAN_DEV je vmesnik, v konfiguraciji označen z identifikatorjem wan. Gre za WAN vmesnik točke (ponavadi eth0.1 ali eth0). Lahko ni prisoten.
  • FALLBACK_DEV je vmesnik, v konfiguarciji označen z identifikatorjem fallback. Gre za IP alias WAN vmesnika s fiksnim IP naslovom (za primer ko spodleti metoda pridobivanja naslova preko DHCP). Lahko ni prisoten v kolikor WAN_DEV ni prisoten.
  • VPN_DEV je vedno tap+ (katerikoli tap vmesnik).

Naslovi in maske:

  • WIFI_ADDR/WIFI_MASK je IP naslov/maska prvega nastavljenega subneta v konfiguraciji (torej subnet0 v konfiguracijski datoteki). Predstavlja torej trenutni node in vse odjemalce, ki se prijavijo na točko preko DHCP ter captive portala.
  • LAN_ADDR/LAN_MASK je IP naslov/maska, ki pripada LAN_DEV.
  • FALLBACK_ADDR/FALLBACK_MASK je IP naslov/maska, ki pripada FALLBACK_DEV.

Pravila:

  • WIFI_IN matcha pakete iz WIFI_DEV, ki izvirajo znotraj WIFI_ADDR/WIFI_MASK subneta. Matcha torej vse pakete, ki jih generira točka ali pa katerikoli izmed končnih odjemalcev v subnet0.
  • MESH_IN matcha pakete iz WIFI_DEV, ki pa ne izvirajo znotraj subnet0. Matcha torej vse pakete, ki jih generirajo druge točke ali drugi uporabniki na drugih točkah.
  • LAN_IN matcha pakete iz LAN_DEV, ki izvirajo znotraj LAN_ADDR/LAN_MASK. Privzeto torej vse pakete drugih točk, ki so na to točko povezane preko žične povezave.
  • WAN_IN matcha pakete iz WAN_DEV, ki ne izvirajo znotraj FALLBACK_ADDR/FALLBACK_MASK. Matcha torej vse pakete, ki niso posledica fallback komunikacije na WAN vmesniku.
  • FALLBACK_IN matcha pakete iz FALLBACK_DEV (ponavadi je to WAN_DEV), ki izvirajo znotraj subneta FALLBACK_ADDR/FALLBACK_MASK.
  • VPN_IN matcha vse pakete iz VPN_DEV.

INPUT

  • Privzeta politika je DROP.
  • Vsi INVALID paketi so zavrženi.
  • Vsi TCP SYN paketi, ki nimajo "Maximum Segment Size" opcije so zavrženi.
  • Vsi paketi, ki pripadajo povezavam v ESTABLISHED ali RELATED stanjih so sprejeti.
  • Vsi paketi iz loopback vmesnika so sprejeti (ali je to potrebno eksplicitno zapisati ?).
  • Če obstaja FALLBACK_IF so vsi paketi iz FALLBACK_IN sprejeti.
  • SSH je vedno dovoljen.
  • HTTP je vedno dovoljen, razen iz WAN_IN.
  • DNS je vedno dovoljen, razen iz WAN_IN.
  • DHCP je dovoljen iz WIFI_DEV in LAN_DEV.
  • OLSR je dovoljen iz MESH_IN, LANMESH_IN, VPN_IN in LAN_IN.
  • Naslednji ICMP promet je dovoljen:
    • echo-reply
    • destination-unreachable
    • source-quench
    • echo-request
    • time-exceeded
    • parameter-problem
    • traceroute
  • Traceroute UDP porti so vedno dovoljeni (src 32769 - 65535, dst 33434 - 33523).

FORWARD

  • Privzeta politika je ACCEPT.
  • Vsi TCP SYN paketi, ki nimajo "Maximum Segment Size" opcije so zavrženi.
  • Vsi OLSR paketi so zavrženi.
  • Vsi DHCP paketi so zavrženi.
  • Vsi TCP/UDP paketi na VPN? strežnike? so zavrženi.
  • Vsi paketi iz ali na WAN so zavrženi.

OUTPUT

  • Privzeta politika je ACCEPT.
  • TCP/UDP povezava do VPN? strežnikov? je dovoljena samo preko WAN_IF oz. FALLBACK_IF.

Koristne povezave

Glej tudi naslednje povezave: