freebsd ipfw

Дата | 01.08.2015

ipfw. мой файл со списком правил.
Ничего особенного, просто решил выложить в блог.

# grep fire /etc/rc.conf
# firewal
firewall_enable="YES"
firewall_script="/root/voll"

Добавим поддержку ipfw в ядро, можно и не добавлять.

# Firewal
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=10
options         IPDIVERT
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         HZ=4000

Как пересобрать ядро в системе FreeBSD.
Список правил ipfw.

# cat /root/voll
#!/bin/sh
# 8.8.178.70 svn.freebsd
# 1.1.1.1,2.2.2.2,3.3.3.3
GOOD='тут разрешенные ип адреса через запятую, но не больше 15 ип адресов, а так же есть ограничение на количество символов на одно правило, примерно в ~1024 символов.'
# all reset
ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush
# local
ipfw add check-state
ipfw add allow ip from any to any via lo0
ipfw add deny ip from any to 127.0.0.0/8
ipfw add deny ip from 127.0.0.0/8 to any
# security
ipfw add deny tcp from any to any tcpflags fin,syn,rst,psh,ack,urg
ipfw add deny tcp from any to any tcpflags !fin,!syn,!rst,!psh,!ack,!urg
ipfw add deny tcp from any to any not established tcpflags fin
ipfw add deny ip from any to any not verrevpath in
ipfw add deny ip from any to any frag
#
ipfw add allow udp from мой_ип_адрес to any
ipfw add allow udp from any to мой_ип_адрес
ipfw add allow udp from мой_2й_ип_адрес to any
ipfw add allow udp from any to мой_2й_ип_адрес
ipfw add deny udp from any to any
# WEB 80
ipfw add allow tcp from any to any dst-port 80
ipfw add allow tcp from any 80 to any
# SSH
#ipfw add allow tcp from any to any 25152
#ipfw add allow tcp from any 25152 to any
# SSMTP
ipfw add allow tcp from any 25 to any
ipfw add allow tcp from any to any 25
ipfw add allow tcp from any 110 to any
ipfw add allow tcp from any to any 110
# SSL
ipfw add allow tcp from any to any dst-port 443
ipfw add allow tcp from any 443 to any
#
#ipfw add allow tcp from me to any
#ipfw add allow tcp from any to me
# admin-server TCP
ipfw add allow tcp from ${GOOD} to any
ipfw add allow tcp from any to ${GOOD}
# admin-server ping
ipfw add allow icmp from me to any out via igb0 icmptype 0,3,8,11
ipfw add allow icmp from any to me in via igb0 icmptype 0,3,8,12
#ipfw add deny log icmp from any to me in via igb0 icmptype 5,9,10,13,15,17
# blocking the rest.
ipfw add deny ip from any to any

Тонкости настройки ipfw.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *