Erinevus lehekülje "Firehol" redaktsioonide vahel

Allikas: Kuutõrvaja
(Seadistus)
P (fck)
 
(ei näidata 4 kasutaja 93 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
  
Sageli on vaja linux masinatele luua keerukamaid tulemüüre.
+
Sageli on vaja linux masinatele luua keerukamaid tulemüüre. Iptables on selleks aga enda keeruka süntaksiga üsnagi ebamugav. Raske on suurema tulemüüri reegleid lugeda ja nende muutmine nõuab  
Iptables on selleks enda keeruka süntaksiga üsnagi ebamugav. Raske reegleid
+
põhjalikumalt süntaksi tundmist ja tähelepanelikku jälgimist.
lugeda ja neid muuta ja nõuab põhjalikumalt süntaksi tundmist ja jälgimist.
 
  
Sellepärast on loodud mõningaid seadistamist hõlbustavaid tarkvarasid näiteks Firehol
+
Seetõttu on loodud iptablesi/netfiltri seadistamist hõlbustav tarkvara FireHOL. Tegemist on minimalistliku tarkvaraga mise ei nõua apache/php-d ega X-aknaid ja tema enda konf on maksimaalselt inimloetav. Oma süntaksilt meenutab FireHOL ehk kõige rohkem OpenBSD packet filtrit.
  
===Seadistus===
+
Tegemist on ka kontrollkihiga reeglite ja kasutaja ees. Ehk siis kogemata tehtud näpuviga
 +
ei hävita hoobilt kogu võrguühendust. Fireholi näol wrapper suudab vigase süntaksi tagasi tõrjuda enne kui iptablesi käskudeks selle moondab.
 +
 
 +
*https://firehol.org/ Ametlik koduleht
 +
 
 +
===Paigaldamine===
 +
 
 +
Fireholi kasutamiseks on vajalik, et kernelis asuks iptablesi tugi.
 +
 
 +
Networking --->
 +
  Networking options --->
 +
  [*] Network packet filtering (replaces ipchains) --->
 +
  Core Netfilter Configuration --->
 +
  <*> Netfilter Xtables support (required for ip_tables)
  
 
Firehol install näiteks gentool toimub käsuga
 
Firehol install näiteks gentool toimub käsuga
  
  emerge firehol
+
  # emerge firehol
  
Töötamise eelduseks on muidugi see ,et meil oleks kernelis iptables olemas.
+
ja et ta ka teenusena arvuti käivitamisel stardiks stardiks
Kuna see viimane pikem teema siis antud palas sellel ei peatu.
 
  
seadistusfail asub kaustas /etc/firehol
+
# rc-update add firehol default
  
Näite seadistusfailist firehol.conf ühe tavalise veebiserveri kohta
+
Debianis installiks
 +
 
 +
# sudo apt-get install firehol
 +
 
 +
seadistusfail asub kaustas '''/etc/firehol''' nimega '''firehol.conf'''
 +
 
 +
Üldiselt teeb firehol moodulite laadimist automaatselt, st. kui ütled talle konfis, et "server ftp accept" siis üritab ta ip_conntrack_ftp moodulit sisse imeda ja tekitab vajalikud reeglid:
 +
 
 +
===Kasutamine===
 +
 
 +
Näide tavalise LAMP veebiserveri '''firehol.conf''' seadistusest:
  
 
  #!/bin/bash
 
  #!/bin/bash
29. rida: 50. rida:
 
   client "dns smtp icmp ntp" accept
 
   client "dns smtp icmp ntp" accept
  
 +
#interface real defineerime mis võrgukaarti hakkame seadistama, hetkel võrgukaarti eth0 ja blokeerime kõik unroutable ip'd ehk siis näiteks sisevõrguaadressid jms.
 +
#policy reaga vaikimisi kõik paketid blokeeritakse.
 +
#'''server''' reaga lubame väljaspoolt internetist ligi teenustele: http, https, icmp ja ssh
 +
#'''client''' reaga lubame serverist endast väljaspoole internetti dns, smtp, icmp ja ntp päringud
 +
Täpsemat nimekirja kõigist teenustest, mida firehol vaikimisi toetab, näeme aadressil http://firehol.sourceforge.net/services.html
 +
 +
Peale seadistusfaili muutmist tuleb muudatuste aktiveerimiseks käivitada süsteemis käsk
 +
 +
# firehol try
 +
 +
peale mida kontrollitakse reegleid ja küsitakse yes/no küsimusi
 +
enne reeglite aktiveerimist, mis võivad osutuda vahel kasulikuks, et mitte jääda nö. ukse taha :)
 +
 +
Võimalik on loodud reegleid ka lihtsalt kontrollida nt süntaksi osas käsuga
 +
 +
# firehol test firehol.conf
 +
 +
Pakettide blokeerimise asemel on viisakas mittesobivad pigem reject'ida,
 +
et saatjal ei tekiks timeout'i. Selleks tuleb
 +
 +
policy drop
 +
 +
asemel kirjutada
 +
 +
policy reject
  
Mis siis tegime.
+
Olles mitte paranoiline, võib kirjutada ka
  
eth0'il unroutable ip'd blokeerime ehk siis näiteks sisevõrguaadressid jms
+
client all accept
vaikimisi kõik paketid blokeeritakse
 
lubame server reaga serverisse sisse pordid http https icmp ja ssh
 
välja lubame serverist client reaga dns'i smtp icmp ja ntp
 
  
Gentool näiteks võiks selleks ,et toimiks emerge --sync ja softi uuendamine lisada ka rea
+
lubades kõik väljuva liikluse
  
  client "http ftp rsync" accept
+
Näiteks Gentool võiks '''emerge --sync''' toimimiseks ja softi uuendamiseks lisada ka
  
Kui soovime veel paranoilisemad olla ja näiteks keelata ssh ainult sisevõrku tuleb konfi muuta selliselt
+
client "http ftp rsync" accept
  
 +
Muutujate kasutamine, keelame eth0 pealt mysqlile ligipääsu mujalt kui kahest võrgust kus asuvad programmeerijad. Selleks tekitame muutuja PROGEJAD, kuhu paigutame kaks C klassi ning kasutame seda hiljem reeglite sektsioonis.
 +
 +
PROGEJAD="193.40.0.0/24 192.168.0.0/24"
 +
 +
interface "eth0" internet
 +
    ...
 +
    client "mysql" accept dst "${PROGEJAD}"
 +
 +
Kui soovime keelata ssh välisvõrgust ja lubada vaid sisevõrgust, tuleks konf teha selliselt:
  
 
  #!/bin/bash
 
  #!/bin/bash
56. rida: 108. rida:
 
   client "dns smtp icmp ntp" accept
 
   client "dns smtp icmp ntp" accept
  
Kui vahel on vaja näiteks avada mõne vähemtuntud teenuse port fireholile
+
Kui vahel on vaja avada mõne vähemtuntud teenuse port firehol'ile, võib kasutada custom käsku
võib kasutada custom käsku
 
  
  server custom shoutcast tcp/8000 default accept
+
server custom shoutcast tcp/8000 default accept
  
Ja avati tcp port 8000 ning sai ta nimeks shoutcast
+
Selle peale avatakse tcp port 8000 nimega shoutcast default portidelt. Default asemel võib defineerida ka kindla pordi-vahemiku.
  
Firehol on samas üsna paindlik lubades konfi lisada otse ka iptables ridu
+
Soovides avada terve portide vahemik tuleks teenus aga defineerida järgnevalt
  
Näiteks võime lisada sinna otse rea
+
server_XXX_ports="tcp/7000:8000"
 +
 
 +
Firehol on samas üsna paindlik, lubades otse konfi lisada ka iptables ridu
 +
 
 +
Näiteks lisame sinna rea
  
 
  DB="192.168.1.100"
 
  DB="192.168.1.100"
 
  iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3306 -j DNAT --to-destination ${DB}:3306
 
  iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3306 -j DNAT --to-destination ${DB}:3306
  
Selle reaga suunatakse kõik sisevõrgus tehtud ühenduskatsed pordile 3306 ehk mysql serverile
+
Selle reaga suunatakse kõik sisevõrgus tehtud ühenduskatsed pordile 3306 (mysql server)
ümber masinale 192.168.1.100
+
ümber masinale 192.168.1.100. Nagu märkasite saab kasutada iptables käskudes ka muutujaid firehol'i konfis. Lihtsam on muidugi alati kasutada võimaluse korral FireHOLi enda süntaksit, näiteks ülal toodud iptables näide oleks lahendatav
Nagu märkasite saab kasutada iptables käskudes ka muutujaid firehol konfis.
+
 +
dnat to "${DB}:33066" proto tcp dcport 3306 dst "${NW}"
 +
 
 +
DDOS rünnaku vastu saab kasutada mõningaid abivahendeid, nagu näiteks protection
 +
 
 +
protection strong 200/sec 100
 +
 
 +
Võimalik on veel strong, full or all. Seega, kui 200 sekundi jooksul tuleb ühest allikast rohkem kui 100 päringut, siis pannakse kliendile peale blokeering.
 +
 
 +
Soovides mingeid IP'sid permanentselt blokeerida, siis
 +
 
 +
blacklist all <ip aadress>
 +
 
 +
Aadresse võib kirjutada ka mitmeid, eraldades nad teineteisest tühikuga
 +
 
 +
Reegleid näeb kirjutades
 +
 
 +
iptables -L
 +
 
 +
Hea ülevaatlik käsk on ka
 +
 
 +
firehol status
 +
 
 +
Loodud ühendusi näeb kõige lihtsamalt /proc/net/ip_conntrack failist
 +
 
 +
cat /proc/net/ip_conntrack
 +
 
 +
Kõiki fireholi reeglite käske näeb ametlikust manualist manualis http://firehol.sourceforge.net/commands.html
 +
seal leidub veel hulga huvitavaid ja kasulikke nippe
 +
 
 +
Kui on vaja millegipärast muutma RESERVED ip aadresse nt võetakse mõni uus ip blokk kasutusse
 +
tuleb tekitada lihtsalt firehol kausta fail RESERVED_IPS uue sisuga
 +
 
 +
FireHOLi üheks puuduseks on see, et kui tegemist paljude võrkudega ja need võrgud on erineva poliitikaga. Näiteks ühel võrgul on default=deny, teistel default=permit. Fireholi sellist lahendust kahjuks ei toeta.
 +
 
 +
===Näidiskonf: Kodune tulemüür koos NAT'iga===
 +
 
 +
konfiguratsioon koduseks ruuteriks millel kaks võrgukaarti ja sisemisele toimib NAT. Väliselt on lubatud sisse vaid ssh port. Eth0 on väline kaart mis yhendatud internetiallikaga, näiteks ADSL modem, ning eth1 sisevõrku ühendatud.
 +
 
 +
# snat to AVALIK_IP outface eth0 src 192.168.1.0/24
 +
# see tekitab sisevõrgu 192.168.1.0/24 jaoks NATi, pannes väljuvate pakettide päritoluks avaliku IP aadressi.
 +
 +
# Välisvõrgust lubame sisse ainult ssh ja välja lubame kõik
 +
interface "eth0" Internet
 +
          protection strong
 +
          server "ssh" accept
 +
          client all accept
 +
 +
# Sisevõrgul lubame kõik liikluse
 +
interface "eth1" LAN
 +
          policy accept
 +
          client all accept
 +
 +
# teeme NAT'i välisvõrgust sisevõrku
 +
router lan2internet inface "eth1" outface "eth0"
 +
          client all accept
 +
          route all accept
 +
          masquerade #staatilise IP puhul vaja kasutada snati ja see eemaldada (snat väärtus välja-kommenteeritud üleval pool)
 +
 
 +
Ülalolevat teksti tähelepanelikult lugenule peaksid olema kõik read juba tuttavad. Uueks infoks on route all accept'i ja masquerade mis lülitavad "lan2internet" blokis sisse NATimise.
 +
 
 +
Oluline vahe on sellel, et kas teha maskeraadi või SNATi. Peamiselt seetõttu, et maskeraad on serverile töömahukam, kuna selle puhul kontrollitakse iga paketi korral väljuva võrguseadme IP aadressi. Seepärast tasub staatilise IP aadressi korral eelistada SNATi.
 +
 
 +
===Pordi suunamine===
 +
 
 +
Välise kaardi eth0 pealt suuname 8080 pordi sisemisele masinale 10.0.0.67 porti 80
 +
 
 +
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.0.0.67:80
 +
 
 +
===Logimine===
 +
 
 +
Failis /var/log/messages näeb erinevaid ebatavalisi ja FireHOLi poolt blokeeritud ühendusi. Soovitatav on syslogi abil filtreerida fireholi teated eraldi logisse. Logimise enda ulatust saab muuta reaga FIREHOL_LOG_LEVEL. Näiteks seadistades selle:
 +
 
 +
FIREHOL_LOG_LEVEL="7"
 +
 
 +
Minemaloobitud pakettide edetabelit näeb järgneva käsuga
 +
 
 +
# grep 'NEW TCP w/o SYN' /var/log/messages | cut -d \  -f 11 | sort | uniq -c | sort -n
 +
 
 +
* http://blog.shadypixel.com/log-iptables-messages-to-a-separate-file-with-rsyslog/
 +
 
 +
===Sanewall ja icmpv6===
 +
 
 +
Probleem seisneb selles, et icmpl on ipv6 all mustmiljon alamprotokolli. Kõige lihtsam oleks panna need kõik lahti. See pole rfc soovitustega küll kooskõlas aga töötaks. Sanewall õnnetuseks ainult ei lase steitlessina neid lahti teha.
 +
 
 +
Seepärast tundub, et sanewallis tuleb ipv6 icmp lubamiseks 2013 seisuga teha midagi järgnevat:
 +
 
 +
rules_icmpv6_stateless() {
 +
  local mychain="${1}"; shift
 +
  local type="${1}"; shift
 +
  local in=in out=out
 +
  [ "${type}" = "client" ] && in=out && out=in
 +
  rule ${in} action "$@" chain "${in}_${mychain}" proto icmpv6 || return 1
 +
  rule ${out} reverse action "$@" chain "${out}_${mychain}" proto icmpv6 || return 1
 +
  return 0
 +
}
 +
 
 +
  server "icmp icmpv6_stateless" accept
 +
 
 +
===Lingid===
 +
 
 +
http://firehol.sourceforge.net/commands.html?#protection
 +
 
 +
http://www.shorewall.net/ alternatiivne fireholi sarnane vahend
 +
 
 +
http://firehol.sourceforge.net/commands.html?#protection Lisaks erinevad piirangud ja kaitsed
 +
 
 +
===Probleemid===
 +
 
 +
Kui firehol teatab "cannot find your  current kernel configuration.", siis on tegemist
 +
põhiliselt hoiatusega ning seda teadet võib ignoreerida.

Viimane redaktsioon: 23. juuli 2018, kell 22:58

Sissejuhatus

Sageli on vaja linux masinatele luua keerukamaid tulemüüre. Iptables on selleks aga enda keeruka süntaksiga üsnagi ebamugav. Raske on suurema tulemüüri reegleid lugeda ja nende muutmine nõuab põhjalikumalt süntaksi tundmist ja tähelepanelikku jälgimist.

Seetõttu on loodud iptablesi/netfiltri seadistamist hõlbustav tarkvara FireHOL. Tegemist on minimalistliku tarkvaraga mise ei nõua apache/php-d ega X-aknaid ja tema enda konf on maksimaalselt inimloetav. Oma süntaksilt meenutab FireHOL ehk kõige rohkem OpenBSD packet filtrit.

Tegemist on ka kontrollkihiga reeglite ja kasutaja ees. Ehk siis kogemata tehtud näpuviga ei hävita hoobilt kogu võrguühendust. Fireholi näol wrapper suudab vigase süntaksi tagasi tõrjuda enne kui iptablesi käskudeks selle moondab.

Paigaldamine

Fireholi kasutamiseks on vajalik, et kernelis asuks iptablesi tugi.

Networking ---> 
 Networking options ---> 
  [*] Network packet filtering (replaces ipchains) ---> 
 Core Netfilter Configuration ---> 
  <*> Netfilter Xtables support (required for ip_tables)

Firehol install näiteks gentool toimub käsuga

# emerge firehol

ja et ta ka teenusena arvuti käivitamisel stardiks stardiks

# rc-update add firehol default

Debianis installiks

# sudo apt-get install firehol

seadistusfail asub kaustas /etc/firehol nimega firehol.conf

Üldiselt teeb firehol moodulite laadimist automaatselt, st. kui ütled talle konfis, et "server ftp accept" siis üritab ta ip_conntrack_ftp moodulit sisse imeda ja tekitab vajalikud reeglid:

Kasutamine

Näide tavalise LAMP veebiserveri firehol.conf seadistusest:

#!/bin/bash

version 5

interface "eth0" internet src not "${UNROUTABLE_IPS}"
 policy drop
 server "http https icmp ssh" accept
 client "dns smtp icmp ntp" accept
  1. interface real defineerime mis võrgukaarti hakkame seadistama, hetkel võrgukaarti eth0 ja blokeerime kõik unroutable ip'd ehk siis näiteks sisevõrguaadressid jms.
  2. policy reaga vaikimisi kõik paketid blokeeritakse.
  3. server reaga lubame väljaspoolt internetist ligi teenustele: http, https, icmp ja ssh
  4. client reaga lubame serverist endast väljaspoole internetti dns, smtp, icmp ja ntp päringud

Täpsemat nimekirja kõigist teenustest, mida firehol vaikimisi toetab, näeme aadressil http://firehol.sourceforge.net/services.html

Peale seadistusfaili muutmist tuleb muudatuste aktiveerimiseks käivitada süsteemis käsk

# firehol try

peale mida kontrollitakse reegleid ja küsitakse yes/no küsimusi enne reeglite aktiveerimist, mis võivad osutuda vahel kasulikuks, et mitte jääda nö. ukse taha :)

Võimalik on loodud reegleid ka lihtsalt kontrollida nt süntaksi osas käsuga

# firehol test firehol.conf

Pakettide blokeerimise asemel on viisakas mittesobivad pigem reject'ida, et saatjal ei tekiks timeout'i. Selleks tuleb

policy drop

asemel kirjutada

policy reject

Olles mitte paranoiline, võib kirjutada ka

client all accept

lubades kõik väljuva liikluse

Näiteks Gentool võiks emerge --sync toimimiseks ja softi uuendamiseks lisada ka

client "http ftp rsync" accept

Muutujate kasutamine, keelame eth0 pealt mysqlile ligipääsu mujalt kui kahest võrgust kus asuvad programmeerijad. Selleks tekitame muutuja PROGEJAD, kuhu paigutame kaks C klassi ning kasutame seda hiljem reeglite sektsioonis.

PROGEJAD="193.40.0.0/24 192.168.0.0/24"

interface "eth0" internet
   ...
   client "mysql" accept dst "${PROGEJAD}"

Kui soovime keelata ssh välisvõrgust ja lubada vaid sisevõrgust, tuleks konf teha selliselt:

#!/bin/bash

version 5

asutuse_kontor="192.168.1.0/25"

interface "eth0" internet src not "${UNROUTABLE_IPS}"
 policy drop
 server "http https icmp" accept
 server "ssh" accept src "${asutuse_kontor}"
 client "dns smtp icmp ntp" accept

Kui vahel on vaja avada mõne vähemtuntud teenuse port firehol'ile, võib kasutada custom käsku

server custom shoutcast tcp/8000 default accept

Selle peale avatakse tcp port 8000 nimega shoutcast default portidelt. Default asemel võib defineerida ka kindla pordi-vahemiku.

Soovides avada terve portide vahemik tuleks teenus aga defineerida järgnevalt

server_XXX_ports="tcp/7000:8000" 

Firehol on samas üsna paindlik, lubades otse konfi lisada ka iptables ridu

Näiteks lisame sinna rea

DB="192.168.1.100"
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3306 -j DNAT --to-destination ${DB}:3306

Selle reaga suunatakse kõik sisevõrgus tehtud ühenduskatsed pordile 3306 (mysql server) ümber masinale 192.168.1.100. Nagu märkasite saab kasutada iptables käskudes ka muutujaid firehol'i konfis. Lihtsam on muidugi alati kasutada võimaluse korral FireHOLi enda süntaksit, näiteks ülal toodud iptables näide oleks lahendatav

dnat to "${DB}:33066" proto tcp dcport 3306 dst "${NW}" 

DDOS rünnaku vastu saab kasutada mõningaid abivahendeid, nagu näiteks protection

protection strong 200/sec 100

Võimalik on veel strong, full or all. Seega, kui 200 sekundi jooksul tuleb ühest allikast rohkem kui 100 päringut, siis pannakse kliendile peale blokeering.

Soovides mingeid IP'sid permanentselt blokeerida, siis

blacklist all <ip aadress>

Aadresse võib kirjutada ka mitmeid, eraldades nad teineteisest tühikuga

Reegleid näeb kirjutades

iptables -L

Hea ülevaatlik käsk on ka

firehol status

Loodud ühendusi näeb kõige lihtsamalt /proc/net/ip_conntrack failist

cat /proc/net/ip_conntrack

Kõiki fireholi reeglite käske näeb ametlikust manualist manualis http://firehol.sourceforge.net/commands.html seal leidub veel hulga huvitavaid ja kasulikke nippe

Kui on vaja millegipärast muutma RESERVED ip aadresse nt võetakse mõni uus ip blokk kasutusse tuleb tekitada lihtsalt firehol kausta fail RESERVED_IPS uue sisuga

FireHOLi üheks puuduseks on see, et kui tegemist paljude võrkudega ja need võrgud on erineva poliitikaga. Näiteks ühel võrgul on default=deny, teistel default=permit. Fireholi sellist lahendust kahjuks ei toeta.

Näidiskonf: Kodune tulemüür koos NAT'iga

konfiguratsioon koduseks ruuteriks millel kaks võrgukaarti ja sisemisele toimib NAT. Väliselt on lubatud sisse vaid ssh port. Eth0 on väline kaart mis yhendatud internetiallikaga, näiteks ADSL modem, ning eth1 sisevõrku ühendatud.

# snat to AVALIK_IP outface eth0 src 192.168.1.0/24
# see tekitab sisevõrgu 192.168.1.0/24 jaoks NATi, pannes väljuvate pakettide päritoluks avaliku IP aadressi.

# Välisvõrgust lubame sisse ainult ssh ja välja lubame kõik
interface "eth0" Internet
         protection strong
         server "ssh" accept
         client all accept

# Sisevõrgul lubame kõik liikluse
interface "eth1" LAN
         policy accept
         client all accept

# teeme NAT'i välisvõrgust sisevõrku
router lan2internet inface "eth1" outface "eth0"
         client all accept
         route all accept
         masquerade #staatilise IP puhul vaja kasutada snati ja see eemaldada (snat väärtus välja-kommenteeritud üleval pool)

Ülalolevat teksti tähelepanelikult lugenule peaksid olema kõik read juba tuttavad. Uueks infoks on route all accept'i ja masquerade mis lülitavad "lan2internet" blokis sisse NATimise.

Oluline vahe on sellel, et kas teha maskeraadi või SNATi. Peamiselt seetõttu, et maskeraad on serverile töömahukam, kuna selle puhul kontrollitakse iga paketi korral väljuva võrguseadme IP aadressi. Seepärast tasub staatilise IP aadressi korral eelistada SNATi.

Pordi suunamine

Välise kaardi eth0 pealt suuname 8080 pordi sisemisele masinale 10.0.0.67 porti 80

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.0.0.67:80

Logimine

Failis /var/log/messages näeb erinevaid ebatavalisi ja FireHOLi poolt blokeeritud ühendusi. Soovitatav on syslogi abil filtreerida fireholi teated eraldi logisse. Logimise enda ulatust saab muuta reaga FIREHOL_LOG_LEVEL. Näiteks seadistades selle:

FIREHOL_LOG_LEVEL="7"

Minemaloobitud pakettide edetabelit näeb järgneva käsuga

# grep 'NEW TCP w/o SYN' /var/log/messages | cut -d \  -f 11 | sort | uniq -c | sort -n

Sanewall ja icmpv6

Probleem seisneb selles, et icmpl on ipv6 all mustmiljon alamprotokolli. Kõige lihtsam oleks panna need kõik lahti. See pole rfc soovitustega küll kooskõlas aga töötaks. Sanewall õnnetuseks ainult ei lase steitlessina neid lahti teha.

Seepärast tundub, et sanewallis tuleb ipv6 icmp lubamiseks 2013 seisuga teha midagi järgnevat:

rules_icmpv6_stateless() {
  local mychain="${1}"; shift
  local type="${1}"; shift
  local in=in out=out
  [ "${type}" = "client" ] && in=out && out=in
  rule ${in} action "$@" chain "${in}_${mychain}" proto icmpv6 || return 1
  rule ${out} reverse action "$@" chain "${out}_${mychain}" proto icmpv6 || return 1
  return 0
}
 server "icmp icmpv6_stateless" accept

Lingid

http://firehol.sourceforge.net/commands.html?#protection

http://www.shorewall.net/ alternatiivne fireholi sarnane vahend

http://firehol.sourceforge.net/commands.html?#protection Lisaks erinevad piirangud ja kaitsed

Probleemid

Kui firehol teatab "cannot find your current kernel configuration.", siis on tegemist põhiliselt hoiatusega ning seda teadet võib ignoreerida.