Различия между версиями 3 и 4
Версия 3 от 2014-03-07 12:13:23
Размер: 2744
Редактор: FrBrGeorge
Комментарий:
Версия 4 от 2014-03-08 13:34:13
Размер: 3044
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:
Базовые статьи [[http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html|FreeBSD Handbook]], [[BSDman:ipfw]], [[BSDman:divert]]
Строка 3: Строка 4:
Общий вид правила: '''Общий вид правила''':
Строка 87: Строка 88:
== Пример == == Д/З ==
Строка 89: Строка 90:

Практиковаться можно на [[https://cloud.mail.ru/public/742a237de7f6/FW/|виртуальной машине FW]]

Использование IPFW

Базовые статьи FreeBSD Handbook, ipfw, divert

Общий вид правила:

[rule_number] [set set_number] [prob match_probability] action [log [logamount number]] [altq queue] [{tag | untag} number] body

action:

  • allow, deny, unreach ICMPTYPE, reset; count
  • check-state (+первое правило с keep-state/limit)
  • skipto#, call# / return
  • divert DIVPORT, tee DIVPORT
  • fwd IP [PORT]
  • pipe#, qeue#
  • reass
  • setfib#
  • Прочее: nat#, netgraph COOKIE, ngtee COOKIE

body: [proto from src to dst] [options]

proto (/etc/protocols), all

src,dst: any | me | table# | addr(+/mask) addrlist [ports]

ports: port,port-port[ports]

OPTIONS

  • bridged layer2
  • mac(dst-mac,any src-mac,any) mac-typeTYPE
  • icmptypesTYPES
  • protoPROTO
  • in out
  • {recv|xmit|via}IFACE
  • ipidLIST iplenLIST ipoptionsSPEC ipprecedencePREC ipsec iptosSPEC ipttlLIST ipversionVER
  • frag
  • dscpSPECS
  • diverted diverted-loopback diverted-output
  • dst-ipIP dst-portPORTS src-ipADDRS src-portPORTS
  • keep-state limit{src-addr|src-port|dst-addr|dst-port}#
  • tcpackACK tcpdatalenLIST tcpflagsSPEC tcpseqSEQ tcpwinLIST tcpoptionsSPEC established (RST|ACK), setup (tcpflags syn,!ack)
  • taggedLIST
  • gidGID, uidUID
  • fib#
  • jail#
  • lookup {dst-ip|dst-port|src-ip|src-port|uid|jail}#
  • verrevpath versrcreach antispoof

LOOKUP TABLES — аналог таблиц маршрутизации (+/MASK), но +порт,jail#,IP и ifacename

SETS OF RULES — 0-31 (неубиваемый), нумерация правил общая, enable/disable/flush, move, swap

STATEFUL FIREWALL

    ipfw add check-state
    ipfw add allow tcp from my-subnet to any setup keep-state
    ipfw add deny tcp from any to any

Dynamic rules are created when a packet matches a keep-state or limit rule

ipfw -d -e show

DIVERT SOCKET:

DUMMYNET

  • pipe, queue, sched
  • pipe # config …:
    • bw bandwidth|iface
    • delay ms-delay
    • burst size (если труба была пустая, пускать больше)
    • profile filename (сложный профиль)
    • buckets hash-table-size
    • mask mask-specifier
    • noerror
    • plr packet-loss-rate
    • queue {slots | sizeKbytes}
    • red | gred параметры

LOG:

  • syslog (net.inet.ip.fw.verbose=1)

  • fconfig ipfw0 create ⇒ …

Д/З

Разбор группы правил из FreeBSD handbook.

Практиковаться можно на виртуальной машине FW

LecturesCMC/UnixFirewalls2014/03_UsingIPFW (последним исправлял пользователь FrBrGeorge 2014-04-28 21:20:25)