Úvod
Filtry brány firewall slouží k povolení nebo blokování určitých paketů předávaných do místní sítě, odesílaných z routeru nebo určených do routeru.
Existují dva způsoby nastavení filtrování:
Na druhou stranu při zabezpečení zákaznické sítě by bylo toto noční můrou administrátora, akceptovat všechny možné služby, které mohou uživatelé používat. Proto je v pokročilých nastaveních nezbytné pečlivé plánování brány firewall.
Filtr brány firewall se skládá ze tří předdefinovaných řetězců, které nelze odstranit:
Vlastnosti
Statistiky - Stats
Zobrazení dalších vlastností pouze pro čtení:
Příklad
Příklad správného zabezpečení zařízení najdete v našem článku Vytvoření prvního firewallu!
Filtry brány firewall slouží k povolení nebo blokování určitých paketů předávaných do místní sítě, odesílaných z routeru nebo určených do routeru.
Existují dva způsoby nastavení filtrování:
- povolit určitý provoz a vše ostatní zahodit
- zahoďte pouze škodlivý provoz, vše ostatní je povoleno.
Na druhou stranu při zabezpečení zákaznické sítě by bylo toto noční můrou administrátora, akceptovat všechny možné služby, které mohou uživatelé používat. Proto je v pokročilých nastaveních nezbytné pečlivé plánování brány firewall.
Filtr brány firewall se skládá ze tří předdefinovaných řetězců, které nelze odstranit:
- input - slouží ke zpracování paketů vstupujících do routeru přes jedno z rozhraní s cílovou IP adresou, která je jednou z adres routeru.
Pakety procházející(forward) routerem nejsou zpracovávány jako input. - forward - slouží ke zpracování paketů procházejících routerem.
- output - slouží ke zpracování paketů vycházejících z routeru a opouštějících jej přes jedno z rozhraní.
Pakety procházející(forward) routerem nejsou zpracovávány jako output.
Vlastnosti
Vlastnost | Popis |
---|---|
action (název akce; výchozí: accept) | Akce, která se provede, pokud je paket shodný s pravidlem:
|
address-list-timeout (none-dynamic / none-static / time; výchozí: none-dynamic) | Časový interval, po kterém bude adresa odstraněna ze seznamu adres zadaného parametrem address-list. Používá se ve spojení s akcemi add-dst-to-address-list nebo add-src-to-address-list.
|
chain (název; Výchozí: ) | Určuje, do kterého řetězce bude pravidlo přidáno. Pokud vstupní údaj neodpovídá názvu již definovaného řetězce, bude vytvořen nový řetězec |
comment (řetězec; Výchozí: ) | Popis / komentář k pravidlu |
connection-bytes (integer-integer; Výchozí: ) | Pracuje s pakety pouze tehdy, pokud bylo daným spojením přeneseno dané množství bajtů. 0 - znamená nekonečno, například connection-bytes=2000000-0 znamená, že pravidlo odpovídá, pokud bylo příslušným spojením přeneseno více než 2 MB |
connection-limit (integer,netmask; Výchozí: ) | Pravidlo pracuje po dosažení dané hodnoty počtu připojení na adresu nebo blok adres. Měl by se používat společně s connection-state=new a/nebo s tcp-flags=syn, protože matcher je velmi náročný na zdroje |
connection-mark (no-mark / string; Výchozí: ) | Porovnává pakety označenými pomocí funkce mangle s určitou značkou připojení. Pokud je nastaven no-mark, pravidlo bude odpovídat jakémukoli neoznačenému spojení |
connection-nat-state (srcnat / dstnat; Výchozí: ) | Umožňuje porovnávat spojení, která jsou srcnatted, distracted nebo obojí. Všimněte si, že connection-state=related connection-nat-state je určeno směrem prvního paketu. Pokud sledování spojení potřebuje využít dst-nat k doručení tohoto spojení stejným hostitelům jako hlavní spojení, bude ve stavu connection-nat-state=dstnat, i když vůbec neexistují pravidla dst-nat |
connection-rate (integer 0..4294967295; Výchozí: ) | Connection Rate umožňuje zachytávat provoz na základě aktuální rychlosti připojení |
connection-state (established / invalid / new / related / untracked; Default: ) |
|
connection-type (ftp / h323 / irc / pptp / quake3 / sip / tftp; Default: ) | Porovnává pakety ze souvisejících(related) spojení na základě informací z jejich pomocníků pro sledování připojení. Příslušný pomocník pro sledování spojení musí být povolen v rámci: /ip firewall service-port |
content (string; Default: ) | Shoda paketů, které obsahují zadaný text |
dscp (integer: 0..63; Default: ) | Porovnává obsah IP hlavičky DSCP |
dst-address (IP/netmask / IP range; Default: ) | Porovnává pakety, jejichž cílová adresa se rovná zadané IP nebo spadá do zadaného rozsahu IP. |
dst-address-list (name; Default: ) | Porovná cílovou adresu paketu se seznamem adres definovaným uživatelem. |
dst-address-type (unicast / local / broadcast / multicast; Default: ) | Porovnává typ cílové adresy:
|
dst-limit (integer[/time],integer,dst-address / dst-port / src-address[/time]; Default: ) | Porovnává pakety, dokud není překročena daná rychlost. Rychlost je definována jako počet paketů za časový interval. Na rozdíl od limit matcheru má každý tok svůj vlastní limit. Tok je definován parametrem mode. Parametry se zapisují takto: format: count[/time],burst,mode[/expire].
|
dst-port (integer[-integer]: 0..65535; Default: ) | Seznam cílových portů nebo rozsahů portů |
fragment (yes/no; Default: ) | Porovnává fragmentované pakety. První (počáteční) fragment se nepočítá. Pokud je povoleno sledování spojení, nebudou žádné fragmenty, protože systém automaticky sestaví každý paket. |
hotspot (auth / from-client / http / local-dst / to-client; Default: ) | Porovnává pakety přijaté od klientů služby HotSpot s různými přiřazovacími programy služby HotSpot.
|
icmp-options (integer:integer; Default: ) | Porovnává typy ICMP: pole s kódů |
in-bridge-port (name; Default: ) | Aktuální rozhraní, přes které paket vstoupil do routeru, pokud je příchozí rozhraní most(bridge). Funguje pouze v případě, že je v nastavení mostu povoleno use-ip-firewall |
in-bridge-port-list (name; Default: ) | Seznam rozhraní definovaných v Interface List. Funguje stejně jako in-bridge-port |
in-interface (name; Default: ) | Rozhraní, přes které paket vstoupil do routeru |
in-interface-list (name; Default: ) | Seznam rozhraní definovaných v Interface List. Funguje stejně jako in-interface |
ingress-priority (integer: 0..63; Default: ) | Odpovídá prioritě vstupního paketu. Priorita může být odvozena z bitů VLAN, WMM, DSCP nebo MPLS EXP. další informace |
ipsec-policy (in / out, ipsec / none; Default: ) | Odpovídá zásadě používané protokolem IPsec. Hodnota se zapisuje v následujícím formátu: direction, policy. Směr slouží k výběru, zda se má shodovat se zásadou použitou pro dekapsulaci, nebo se zásadou, která bude použita pro zapouzdření.
|
ipv4-options (any / loose-source-routing / no-record-route / no-router-alert / no-source-routing / no-timestamp / none / record-route / router-alert / strict-source-routing / timestamp; Default: ) | Odpovídá možnostem záhlaví IPv4
|
jump-target (name; Default: ) | Název cílového řetězce, na který se má přejít. Použije se pouze v případě action=jump |
layer7-protocol (name; Default: ) | Název filtru vrstvy 7 definovaný v nabídce protokolu vrstvy 7 |
limit (integer,time,integer; Default: ) | Porovnává pakety s omezenou rychlostí (paketová nebo bitová rychlost). Pravidlo používající tento matcher bude odpovídat, dokud nebude dosaženo tohoto limitu. Parametry se zapisují v následujícím formátu: count[/time],burst:mode.
|
log-prefix (string; Default: ) | Přidá zadaný text na začátek každé zprávy protokolu. Použije se pokud action=log |
nth (integer,integer; Default: ) | Porovnává každý n-tý paket: nth=2,1 pravidlo bude odpovídat každému prvnímu paketu z 2, tedy 50 % veškerého provozu, kterému pravidlo odpovídá. |
out-bridge-port (name; Default: ) | Aktuální rozhraní, přes které paket opouští směrovač, pokud je odchozím rozhraním most(bridge). Funguje pouze v případě, že je v nastavení mostu povoleno use-ip-firewall. |
out-bridge-port-list (name; Default: ) | Seznam rozhraní definovaných v Interface List. Funguje stejně jako out-bridge-port |
out-interface (name; Default: ) | Rozhraní, přes které paket opouští router |
out-interface-list (name; Default: ) | Seznam rozhraní definovaných v Interface List. Funguje stejně jako out-interface |
packet-mark (no-mark / string; Default: ) | Porovnává pakety označené pomocí funkce mangle určitou značkou paketu. Pokud je nastavena hodnota no-mark, pravidlo bude odpovídat jakémukoli neoznačenému paketu. |
packet-size (integer[-integer]:0..65535; Default: ) | Porovnává pakety zadané velikosti nebo rozsahu velikostí v bajtech |
per-connection-classifier (ValuesToHash:Denominator/Remainder; Default: ) | PCC matcher umožňuje rozdělit přenosy do stejných proudů s možností ponechat pakety s určitou sadou možností v jednom konkrétním proudu. Další informace >> |
port (integer[-integer]: 0..65535; Default: ) | Porovnává, pokud některý (zdrojový nebo cílový) port odpovídá zadanému seznamu portů nebo rozsahů portů. Použije se pouze v případě, že protokol je TCP nebo UDP |
priority (integer: 0..63; Default:) | Odpovídá prioritě paketu po nastavení nové priority. Priorita může být odvozena z VLAN, WMM, DSCP, bitu MPLS EXP nebo z priority nastavené pomocí akce set-priority. Další informace >> |
protocol (name or protocol ID; Default: tcp) | Odpovídá konkrétnímu protokolu IP zadanému názvem nebo číslem protokolu |
psd (integer,time,integer,integer; Default: ) | Pokusy o detekci skenování TCP a UDP. Parametry jsou ve formátu WeightThreshold, DelayThreshold, LowPortWeight, HighPortWeight.
|
random (integer: 1..99; Default: ) | náhodně porovnává pakety s danou pravděpodobností |
reject-with (icmp-admin-prohibited / icmp-net-prohibited / icmp-protocol-unreachable / icmp-host-prohibited / icmp-network-unreachable / tcp-reset / icmp-host-unreachable / icmp-port-unreachable; Default: icmp-network-unreachable) | Určuje chybu ICMP, která má být odeslána zpět, pokud je paket odmítnut. Platí, pokud action=reject |
routing-table (string; Default: ) | Porovnává pakety, jejichž cílová adresa je řešena v konkrétní směrovací tabulce |
routing-mark (string; Default: ) | Porovnává pakety označené pomocí funkce mangle s určitou značkou směrování |
src-address (IP/netmask / IP range; Default: ) | Porovnává pakety, jejichž zdrojová adresa se rovná zadané IP nebo spadá do zadaného rozsahu IP |
src-address-list (name; Default: ) | Porovná zdrojovou adresu paketu se seznamem adres definovaným uživatelem |
src-address-type (unicast / local / broadcast / multicast; Default: ) | Porovnává typ zdrojové adresy:
|
src-port (integer[-integer]: 0..65535; Default: ) | Seznam zdrojových portů a rozsahů zdrojových portů. Platí pouze v případě, že protokol je TCP nebo UDP |
src-mac-address (MAC address; Default: ) | Porovnává zdrojovou adresu MAC paketu |
tcp-flags (ack / cwr / ece / fin / psh / rst / syn / urg; Default: ) | Porovnává zadané příznaky TCP
|
tcp-mss (integer[-integer]: 0..65535; Default: ) | Porovnává hodnotu TCP MSS paketu IP |
time (time-time,sat, fri, thu, wed, tue, mon, sun; Default: ) | Umožňuje vytvořit filtr na základě času a data příchodu paketů nebo, v případě lokálně generovaných paketů, času a data odchodu. |
tls-host (string; Default: ) | Umožňuje přiřazování přenosů HTTPS na základě názvu hostitele SNI protokolu TLS. Akceptuje syntaxi GLOB pro přiřazování zástupných znaků. Uvědomte si, že matcher nebude schopen porovnat hostitelské jméno, pokud je rámec TLS handshake fragmentován do více TCP segmentů (paketů). |
ttl (integer: 0..255; Default: ) | Porovnává pakety s hodnotou TTL |
Statistiky - Stats
Zobrazení dalších vlastností pouze pro čtení:
Vlastnost | Popis |
---|---|
bytes (integer) | Celkový počet bajtů, kterým pravidlo odpovídá |
packets (integer) | Celkové množství paketů, kterým pravidlo odpovídá |
Kód: Vybrat vše
[admin@MikroTik] > ip firewall filter print stats
Flags: X - disabled, I - invalid, D - dynamic
# CHAIN ACTION BYTES PACKETS
0 D ;;; special dummy rule to show fasttrack counters
forward passthrough 50 507 925 242 50 048 246
1 ;;; defconf: drop invalid
forward drop 432 270 9 719
2 ;;; defconf: drop invalid
input drop 125 943 2 434
3 input accept 20 090 211 549 20 009 864
4 ;;; defconf: accept ICMP
input accept 634 926 7 648
5 ;;; defconf: drop all not coming from LAN
input drop 4 288 079 83 428
6 ;;; defconf: accept in ipsec policy
forward accept 0 0
7 ;;; defconf: accept out ipsec policy
forward accept 0 0
8 ;;; defconf: fasttrack
forward fasttrack-connection 28 505 528 775 31 504 682
9 ;;; defconf: accept established,related, untracked
forward accept 28 505 528 775 31 504 682
10 ;;; defconf: drop all from WAN not DSTNATed
forward drop 0 0
Příklad
Příklad správného zabezpečení zařízení najdete v našem článku Vytvoření prvního firewallu!