modified on 20 lip 2010 at 12:41 ••• 52 761 views

IP/Firewall/Filtr

Z MikroTik Wiki

Spis treści

Informacje ogólne

Wstęp

Firewall ma zaimplementowane filtrowanie pakietów, i dlatego zapewnia funkcje bezpieczeństwa, które są używane do zarządzania przepływem danych od i przez router. Razem z Translatorem Adresów Sieciowych udostępnia narzędzia do zapobiegania nieautoryzowanym próbom dostępu do sieci i do samego routera, a także działa jako filtr ruchu wychodzącego.

Szybka Konfiguracja

  • Aby dodać zasadę firewalla, która blokuje wszystkie pakiety TCP które są adresowane na port 135 i które przechodzą przez router, użyj następujące komendy:
      /ip firewall filter add chain=forward dst-port=135 protocol=tcp action=drop
  • Aby zamknąć dostęp do routera przez Telnet (protokół TCP, port 23), wpisz następującą komendę:
      /ip firewall filter add chain=input protocol=tcp dst-port=23 action=drop
  • Aby zezwolić na nie więcej niż 5 jednoczesnych połączeń z każdym z klientów, zrób to:
      /ip firewall filter add chain=forward protocol=tcp tcp-flags=syn connection-limit=6,32 action=drop

Specyfikacja

Wymagane pakiety: system

Wymagane licencje: level1 (limit filtru P2P do 1), level3

Poziom podmenu: /ip firewall filter

Standardy i Technologie: IP, RFC2113

Wykorzystanie sprzętowe: wzrasta wraz z liczbą zasad filtrowania

Filtr Firewalla

Poziom podmenu: /ip firewall filter

Opis

Zapory sieciowe trzymają zewnętrzne zagrożenia z dala od czułych danych dostępnych wewnątrz sieci. Gdy tylko różne sieci są połączone razem, zawsze jest groźna, że ktoś spoza sieci się do ciebie włamie. Takie włamania mogą się skończyć rozpowszechnieniem prywatnych danych, zmianą bądź zniszczeniem wartościowych danych lub wyczyszczeniem całego dysku. Firewalle są używane w celu zapobiegania lub minimalizacji ryzyka utraty bezpieczeństwa związanego z łączeniem się do innych sieci. Prawidłowo skonfigurowany firewall odgrywa kluczową rolę w skutecznym i bezpiecznym rozwoju infrastruktury sieciowej.

MikroTik RouterOS ma wbudowanego potężnego firewalla z następującymi właściwościami:

  • sprawdzanie pakietów
  • detekcja protokołu warstwy 7
  • klasyfikacja ruchu przez:
    • adres MAC źródła
    • adresy IP (sieć lub lista) i typy adresów (broadcast, local, multicast, unicast)
    • port lub zasięg portu
    • protokoły IP
    • opcje protokołu (typ ICMP i pola kodowe, flagi TCP, opcje IP i MSS)
    • interfejs, z którego przyszedł pakiet, lub przez który przeszedł
    • znaczniki wewnętrznego przepływu i połączenia
    • bajt DSCP
    • zawartość pakietu
    • szybkość z jaką nadszedł pakiet i numer sekwencji
    • objętość pakietu
    • czas nadejścia pakietu
    • i wiele więcej!

Ogólne Zasady Filtrowania

Działanie firewalla oparte jest na zasadach. Zasada jest wyrażeniem definicyjnym, który mówi routerowi co ma robić z konkretnymi pakietami IP. Zasady są ułożone w łańcuchy dla lepszego zarządzania.

Narzędzie filtrowania ma trzy domyślne łańcuchy: wejściowy, przejściowy i wyjściowy, które są odpowiedzialne za ruch idący odpowiednio z, przez i do routera. W razie potrzeby użytkownik może dodać nowe łańcuchy. Jeśli te łańcuchy nie mają domyślnego ruchu do obsługi, zasady z action=jump i jump-target powinny być dodane do jednego lub więcej domyślnych łańcuchów.

Łańcuchy Filtra

Jak wspomniano wcześniej, zasady filtrowania są pogrupowane w łańcuchy. Pozwala to pakietowi by był porównany wg danych kryteriów w jednym łańcuchu, a następnie podany dalej, celem poddania go kryteriom innego łańcucha. Na przykład pakiet powinien być porównany pod parę IP address:port. Oczywiście można to również osiągnąć przez dodanie tylu zasad z IP address:port ile potrzeba do łańcucha forward, ale lepiej dodać jedną zasadę, która porównuje ruch z konkretnego adresu IP, np.: /ip firewall filter add src-address=1.1.1.2/32 jump-target="mychain", i w przypadku prawidłowego dopasowania daje kontrolę nad pakietem IP innemu łańcuchowi, tj. mychain w tym przykładzie. Wtedy zasady, które realizują dopasowanie pod oddzielne porty może być dodane do łańcucha mychain bez określania adresów IP.

Są trzy pierwotnie zdefiniowane łańcuchy, które nie mogą zostać usunięte:

  • input - używany do przepuszczania pakietów wchodzących do routera przez jeden z interfejsów z docelowym adresem IP, który jest jednym z adresów routera. Pakiety przechodzące przez router nie są przepuszczane pod zasady w łańcuchu input
  • forward - używany do przepuszczania pakietów przechodzących przez router
  • output - używany do przepuszczania pakietów pochodzących z routera i opuszczających go przez jeden z interfejsów. Pakiety przechodzące przez router nie są przepuszczane pod zasady łańcucha output.

Podczas przepuszczania łańcucha, zasady są brane z łańcucha w kolejności takiej, jak są wylistowane. Jeśli pakiet pasuje do kryteriów w zasadzie firewalla, to odpowiednie zachowanie jest w tym określone, i nie są używane inne zasady w tym łańcuchu (wyjątkiem jest akcja passthrough). Jeśli pakiet nie ma dopasowanej żadnej zasady, to jest on akceptowany.

Opis Własności

action (accept | add-dst-to-address-list | add-src-to-address-list | drop | jump | log | passthrough | reject | return | tarpit; domyślnie: accept) - działanie do podjęcia, jeśli pakiet pasuje do zasady:

  • accept - zaakceptuje pakiet. Nie są podejmowane działania, tj. pakiet jest przepuszczany i żadne inne zasady nie są stosowane
  • add-dst-to-address-list - dodaje adres docelowy pakietu IP do listy adresowej określonej w parametrze address-list
  • add-src-to-address-list - dodaje adres źródłowy pakietu IP do listy adresowej określonej w parametrze address-list
  • drop - cicho odrzuca pakiet (bez wysyłania wiadomości ICMP reject)
  • jump - przechodzi do łańcucha określonego wartością parametru jump-target
  • log - z tym działaniem każde dopasowanie spowoduje dodanie wiadomości w logu systemowym
  • passthrough - ignoruje zasadę i przechodzi do następnej
  • reject - odrzuca pakiet i wysyła wiadomość ICMP reject
  • return - zawraca kontrolę do łańcucha z miejsca, skąd nastąpiło przejście
  • tarpit - przechwytuje i przetrzymuje nadchodzące połączenia TCP (odpowiada przez SYN/ACK na pakiet zwrotny TCP SYN)

address-list (name) - określa nazwę listy adresowej, celem zebrania adresów IP z zasad mających akcje action=add-dst-to-address-list lub action=add-src-to-address-list. Te listy adresowe mogą być potem użyte do porównywania pakietów

address-list-timeout (time; domyślnie: 00:00:00) - czas po którym adresy będą usunięte z listy adresowej określonej przez address-list

00:00:00 - adresy pozostaną na liście adresowej na zawsze

chain (forward | input | output | name) - określa łańcuch, do którego ma zostać wstawiona określona zasada. Jako że każdy rodzaj ruchu przechodzi przez inne łańcuchy, zawsze uważaj przy wyborze odpowiedniego łańcucha dla nowej zasady. Jeśli wejście nie pasuje do nazwy zdefiniowanego już łańcucha, zostanie stworzony nowy łańcuch

comment (text) - komentarz opisujący zasadę. Komentarz może być użyty do identyfikacji zasady ze skryptu

connection-bytes (integer-integer) - porównuje pakiety tylko jeśli dana liczba bajtów została przesłana przez konkretne połączenie

0 - oznacza nieskończoność, np.: connection-bytes=2000000-0 oznacza, że zasada porównuje pakiety, jeśli więcej niż 2MB zostało przesłanych przez dane połączenie

connection-limit (integer,netmask) - ogranicza limit połączenia na adres lub blok adresowy

connection-mark (name) - porównuje pakiety oznaczone przez narzędzie mangle

connection-state (estabilished | invalid | new | related) - interpretuje analizę śledzonego połączenia pod względem konkretnego pakietu

  • estabilished - pakiet, który należy do istniejącego połączenia, np. pakiet odpowiedzi bądź pakiet należący do połączenia, na które już wysłano odpowiedź
  • invalid - pakiet, który z jakichś powodów nie mógł być zidentyfikowany. Włączając w to brak pamięci i błędy ICMP. Generalnie zaleca się odrzucanie takich pakietów.
  • new - pakiet rozpoczynający nowe połączenie TCP
  • related - pakiet, który jest związany, ale nie jest to część istniejącego połączenia, np. błędy ICMP lub gdy pakiet rozpoczyna połączenie FTP (później wymagane jest włączenie pomocy śledzenia połączenia FTP /ip firewall service-port)

connection-type (ftp | gre | h323 | irc | mms | pptp | quake3 | tftp) - porównuje pakiety z powiązanych połączeń bazujących na informacjach z pomocy śledzenia połączenia. Związana z tym pomoc połączenia musi być włączona w /ip firewall service-port

content (text) - tekst, jaki pakiet powinien zawierać, aby pasował do zasady

dscp (integer: 0..63) - wartość pola nagłówka IP DSCP (ex-ToS)

dst-address (IP address/netmask | IP address-IP address) - określa zakres adresów docelowych pakietu IP. Zauważ, że konsola zamienia wprowadzoną wartość address/netmask na odpowiedni adres sieciowy, np. 1.1.1.1/24 jest zamieniane na 1.1.1.0/24

dst-address-list (name) - dopasowuje adres docelowy pakietu pod zdefiniowaną przez użytkownika listę adresową

dst-address-type (unicast | local | broadcast | multicast) - dopasowuje typ adresu docelowego pakietu IP, jeden z:

unicast - adresy IP użyte do transmisji z jednego punktu do drugiego. W tym przypadku jest tylko jeden nadawca i jeden odbiorca
local - dopasowuje adresy przypisane do interfejsu routera
broadcast - pakiet IP jest wysyłany z jednego punktu do wszystkich innych punktów w podsieci IP
multicast- ten typ adresowania IP jest odpowiedzialny za transmisję z jednego lub więcej punktów do innych punktów

dst-limit (integer/time{0,1},integer,dst-address | dst-port | src-address{+},time{0,1}) - limity pakietu na sekundę (pps) na każdy IP docelowy lub na docelowy port bazowy. W przeciwieństwie do dopasowania limit, każdy docelowy adres IP/docelowy port ma swój własny limit. Opcje są następujące (w kolejności pojawiania się):

count - maksymalny średni współczynnik pakietu, mierzony w pakietach na sekundę (pps), chyba że jest poprzedzony opcją time
time - określa czas po którym mierzony jest współczynnik pakietu
burst - liczba pakietów do porównania w sekwencji
mode - klasyfikator(-y) dla limitów współczynników pakietu
expire - określa czas po którym zarejestrowane adresy IP/porty zostaną usunięte

dst-port (integer: 0..65535-integer: 0..65535{*}) - numer lub zasięg portu docelowego

fragment (yes | no) - czy pakiet jest podzielony na pakiety IP. Pakiet początkowy (pierwszy fragment) się nie liczy. Zwróć uwagę, czy jest włączone śledzenie połączeń, gdyż wtedy nie będzie fragmentacji (system automatycznie scali każdy pakiet).

hotspot (multiple choice: auth | from-client | http | local-dst | to-client) - porównuje pakiety odebrane od klienta pod kilkoma warunkami HotSpot. Wszystkie wartości mogą być negowane

auth - prawda, jeśli pakiet nadejdzie od uwierzytelnionego klienta HotSpot
from-client - prawda, jeśli pakiet nadejdzie od jakiegokolwiek klienta HotSpot
http - prawda, jeśli klient HotSpot wyśle pakiet na adres i port poprzednio wykryty jako jego serwer proxy (technika Universal Proxy) lub jeśli port docelowy to 80 i uruchomiony jest transparentny proxy dla tego konkretnego klienta
local-dst - prawda, jeśli pakiet ma lokalny adres IP docelowy
to-client - prawda, jeśli pakiet jest wysłany do klienta

icmp-options (integer:integer) - porównuje pola ICMP Type:Code

in-bridge-port (name) - aktualny interfejs, przez który przeszedł pakiet (jeśli jest mostkowanie, ta własność dopasuje aktualny port mostka, a in-interface - sam mostek)

in-interface (name) - interfejs, przez który przeszedł pakiet (jeśli interfejs jest zmostkowany, pakiet nadejdzie ze strony interfejsu mostka)

ingress-priority (integer: 0..63) - priorytet wejściowy (odbiorczy) pakietu, jeśli jest ustawiony (w przeciwnym wypadku 0). Priorytet może pochodzić zarówno z priorytetu VLAN jak i WMM

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) - opcje porównywania nagłówka ipv4

any - porównuje pakiety z przynajmniej jedną opcją ipv4
loose-source-routing - porównuje pakiety z opcją routingu źródła. Tej opcji się używa aby routować datagramy bazujące na informacji dostarczonej przez źródło
no-record-route - porównuje pakiety bez opcji routingu rekordów. Tej opcji się używa aby routować datagramy bazujące na informacji dostarczonej przez źródło
no-router-alert - porównuje pakiety bez opcji zmiany routera
no-source-routing - porównuje pakiety bez opcji routingu źródłą
no-timestamp - porównuje pakiety bez timestampu
record-route - porównuje pakiety z opcją routingu rekordu
router-alert - porównuje pakiety z opcją zmiany routera
strict-source-routing - porównuje pakiety z opcją dokładnego routingu źródła
timestamp - porównuje pakiety z timestampem

jump-target (forward | input | output | name) - nazwa łańcucha docelowego, do którego ma nastąpić przejście, jeśli używane jest action=jump

layer7-protocol (name) - nazwa filtra Layer7 taka jak w menu /ip firewall layer7-protocol. Uwaga: ta opcja wymaga dużej mocy obliczeniowej

limit (integer/time{0,1},integer) - ogranicza współczynnik dopasowania pakietów do danego limitu. Przydatne, aby zredukować liczbę wiadomości

count - maksymalny średni współczynnik pakietu, mierzony w pakietach na sekundę (pps), chyba że poprzedzony opcją time
time - określa czas przez który mierzony jest współczynnik pakietu
burst - liczba pakietów do porównania w jednej sekwencji

log-prefix (text) - wszystkie wiadomości zapisane do logów będą zawierały prefiks tutaj określony. Użycie razem z action=log

nth (integer,integer: 0..15,integer{0,1}) - porównuje konkretny pakiet Nth odebrany przez zasadę. Jeden z szesnastu dostępnych liczników może być użyty do zliczania pakietów

every - porównuje każdy every+1 pakiet. Na przykład jeśli every=1, to zasada dopasowuje każdy drugi pakiet
counter - określa który licznik użyć. Licznik inkrementuje za każdym razem gdy dopasowana zostanie zasada zawierająca dopasowanie nth
packet - porównuje do podanej liczby pakietu. Wartość z oczywistych powodów musi się mieścić w przedziale 0 i every. Jeśli ta opcja jest użyta dla danego licznika, to musi być przynajmniej every+1 zasad z tą opcją, pokrywając wszystkie wartości między 0 a every włącznie

out-bridge-port (name) - aktualny interfejs, który pakiet opuszcza przez router (jeśli jest mostkowany, własność ta dopasowuje aktualny port mostka, podczas gdy out-interface - sam mostek)

out-interface (name) - interfejs, który opuszcza pakiet przez router (jeśli interfejs jest mostkowany, to pakiet opuści interfejs przez mostek)

p2p (all-p2p | bit-torrent | blubster | direct-connect | edonkey | fasttrack | gnutella | soulseek | warez | winmx) - porównuje pakiety z różnych protokołów p2p

packet-mark (text) - porównuje pakiety oznaczone przez narzędzie mangle

packet-size (integer: 0..65535-integer: 0..65535{0,1}) - porównuje pakiety o określonej objętości w bajtach

min - określa dolną granicę wielkości
max - określa górną granicę wielkości


protocol (ddp | egp | encap | ggp | gre | hmp | icmp | idrp-cmtp | igmp | ipencap | ipip | ipsec-ah | ipsec-esp | iso-tp4 | ospf | pup | rdp | rspf | st | tcp | udp | vmtp | xns-idp | xtp | integer) - porównuje konkretny protokół IP określony przez nazwę protokołu lub numer. Powinieneś określić to ustawienie, jeśli chcesz określić porty

psd (integer,time,integer,integer) - próbuje zdetekować skany TCP i UDP. Radzi się aby przydzielać mniejsze wagi do portów z dużymi numerami aby zredukować częstotliwość fałszywych potwierdzeń, takich jak z transferów FTP passive mode

WeightThreshold - całkowita objętość ostatnich pakietów TCP/UCP z różnymi portami docelowymi przychodzącymi od tych samych hostów aby być traktowanymi jako sekwencje skanowania portów
DelayThreshold - opóźnienie pakietów z różnymi portami docelowymi pochodzącymi z tych samych hostów aby być traktowanymi jako możliwe podsekwencje skanowania portów
LowPortWeight - waga pakietów z uprzywilejowanym portem docelowym (<=1024)
HighPortWeight - waga pakietów z nieuprzywilejowanym portem docelowym

random (integer: 1..99) - porównuje pakiety losowo z danym prawdopodobieństwem

reject-with (icmp-admin-prohibited | icmp-echo-reply | icmp-host-prohibited | icmp-host-unreachable | icmp-net-prohibited | icmp-network-unreachable | icmp-port-unreachable | icmp-protocol-unreachable | tcp-reset | integer) - zmienia pakiet odpowiadający akcji reject

routing-mark (name) - porównuje pakiety oznaczone przez narzędzie mangle

src-address (IP address/netmask | IP address-IP address) - określa zakres adresowy pakietu IP skąd pochodzi. Zauważ, że konsola konwertuje wprowadzone wartości address/netmask na odpowiednie adresy sieciowe, np: 1.1.1.1/24 jest zamieniany na 1.1.1.0/24

src-address-list (name) - porównuje adresy źródłowe pakietu pod listę adresową zdefiniowaną przez użytkownika

src-address-type (unicast | local | broadcast | multicast) - porównuje typy adresów źródłowych pakietów IP, jeden z:

unicast - adresy IP użyte do transmisji z jednego punktu do drugiego. W tym przypadku jest tylko jeden nadawca i jeden odbiorca
local - dopasowuje adresy przypisane do interfejsu routera
broadcast - pakiet IP jest wysyłany z jednego punktu do wszystkich innych punktów w podsieci IP
multicast- ten typ adresowania IP jest odpowiedzialny za transmisję z jednego lub więcej punktów do innych punktów

src-mac-address (MAC address) - adres MAC źródła

src-port (integer: 0..65535-integer: 0..65535{*}) - numer portu źródła lub zakres

tcp-flags (ack | cwr | ece | fin | psh | rst | syn | urg) - flagi tcp

ack - dane potwierdzające
cwr - zredukowane okno przeciążenia
ece - flaga ECN-echo (wiadomość o przeciążeniu)
fin - koniec połączenia
psh - funkcja push
rst - zerwij połączenie
syn - nowe połączenie
urg - ważne dane

tcp-mss (integer: 0..65535) - porównuje wartości TCP MSS pakietu IP

time (time-time,sat | fri | thu | wed | tue | mon | sun{+}) - zezwala na stworzenie filtru bazującego na czasie nadejścia pakietu, lub dla lokalnie wygenerowanych pakietów, data i czas wyjścia

Uwagi

Ponieważ zasady NAT są określane najpierw, ważne jest aby mieć to na uwadze podczas ustalania zasad firewalla, gdyż oryginalne pakiety mogły już zostać zmodyfikowane przez NAT

Aplikacje Filtru

Chroń swój router RouterOS

Aby chronić swój router, powinieneś nie tylko zmieniać hasło administratora, ale także ustawiać filtrowanie pakietów. Wszystkie pakiety skierowane do routera są przesyłane przez łańcuch wejściowy firewalla. Zauważ, że łańcuch wejściowy nie ma wpływu na pakiety, które były transferowane przez router.

/ ip firewall filter 
add chain=input connection-state=invalid action=drop \
	comment="Drop Invalid connections"  
add chain=input connection-state=established action=accept \
	comment="Allow Established connections"  
add chain=input protocol=udp action=accept \
	comment="Allow UDP"  
add chain=input protocol=icmp action=accept \
	comment="Allow ICMP" 
add chain=input src-address=192.168.0.0/24 action=accept \
	comment="Allow access to router from known network" 
add chain=input action=drop comment="Drop anything else"  

Ochrona Sieci Klienta

Aby chronić sieć klienta, powinniśmy sprawdzić cały ruch, który przechodzi przez router i blokuje niechciane pakiety. Dla ruchu ICMP, TCP i UDP stworzymy łańcuchy, gdzie będą odrzucane wszystkie niechciane pakiety:

/ip firewall filter
add chain=forward protocol=tcp connection-state=invalid \
 	action=drop comment="drop invalid connections"  
add chain=forward connection-state=established action=accept \ 
 	comment="allow already established connections"  
add chain=forward connection-state=related action=accept \
 	comment="allow related connections"  

Zablokuj adresy IP zwane "bogons":

add chain=forward src-address=0.0.0.0/8 action=drop  
add chain=forward dst-address=0.0.0.0/8 action=drop  
add chain=forward src-address=127.0.0.0/8 action=drop 
add chain=forward dst-address=127.0.0.0/8 action=drop 
add chain=forward src-address=224.0.0.0/3 action=drop 
add chain=forward dst-address=224.0.0.0/3 action=drop 

Zrób skoki do nowych łańcuchów:

add chain=forward protocol=tcp action=jump jump-target=tcp  
add chain=forward protocol=udp action=jump jump-target=udp  
add chain=forward protocol=icmp action=jump jump-target=icmp 

Stwórz łańcuch TCP i zaneguj kilka portów TCP:

add chain=tcp protocol=tcp dst-port=69 action=drop \
 	comment="deny TFTP" 
add chain=tcp protocol=tcp dst-port=111 action=drop \
 	comment="deny RPC portmapper"  
add chain=tcp protocol=tcp dst-port=135 action=drop \
 	comment="deny RPC portmapper"  
add chain=tcp protocol=tcp dst-port=137-139 action=drop \
 	comment="deny NBT"  
add chain=tcp protocol=tcp dst-port=445 action=drop \
 	comment="deny cifs"  
add chain=tcp protocol=tcp dst-port=2049 action=drop comment="deny NFS"  
add chain=tcp protocol=tcp dst-port=12345-12346 action=drop comment="deny NetBus"  
add chain=tcp protocol=tcp dst-port=20034 action=drop comment="deny NetBus"  
add chain=tcp protocol=tcp dst-port=3133 action=drop comment="deny BackOriffice"  
add chain=tcp protocol=tcp dst-port=67-68 action=drop comment="deny DHCP"  


Deny udp ports in udp chain:

add chain=udp protocol=udp dst-port=69 action=drop comment="deny TFTP"  
add chain=udp protocol=udp dst-port=111 action=drop comment="deny PRC portmapper"  
add chain=udp protocol=udp dst-port=135 action=drop comment="deny PRC portmapper"  
add chain=udp protocol=udp dst-port=137-139 action=drop comment="deny NBT"  
add chain=udp protocol=udp dst-port=2049 action=drop comment="deny NFS"  
add chain=udp protocol=udp dst-port=3133 action=drop comment="deny BackOriffice" 

Zezwól tylko na potrzebne kody icmp w łańcuchu icmp:

add chain=icmp protocol=icmp icmp-options=0:0 action=accept \
 	comment="drop invalid connections"  
add chain=icmp protocol=icmp icmp-options=3:0 action=accept \
 	comment="allow established connections"  
add chain=icmp protocol=icmp icmp-options=3:1 action=accept \
 	comment="allow already established connections"  
add chain=icmp protocol=icmp icmp-options=4:0 action=accept \
 	comment="allow source quench"  
add chain=icmp protocol=icmp icmp-options=8:0 action=accept \
 	comment="allow echo request"  
add chain=icmp protocol=icmp icmp-options=11:0 action=accept \
 	comment="allow time exceed"  
add chain=icmp protocol=icmp icmp-options=12:0 action=accept \ 
 	comment="allow parameter bad"  
add chain=icmp action=drop comment="deny all other types"