включение ipfw
December 8th, 2008
firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw.rules"
firewall_script="/usr/local/etc/ipfw.rules"
создать файл с правилами, проверить что в них нам будет доступ по ssh. Например такой:
#!/bin/sh
ipfw -q -f flush
cmd="ipfw -q add "
sshport="222"
# remote control
$cmd 150 allow tcp from 1.2.3.1 to me dst-port $sshport
# services
$cmd 1000 allow icmp from any to any
$cmd 1020 allow tcp from any to me dst-port 21,25,80
$cmd 1021 allow udp from any 53 to me
$cmd 1022 allow udp from any to me 53
$cmd 1023 allow udp from any to me 161
# general
$cmd 1035 allow ip from any to any via lo0
$cmd 1040 allow ip from me to any
$cmd 1050 allow ip from any to any established
# all traffic for some hosts
$cmd 1070 allow ip from 1.2.3.1 to me
ipfw -q -f flush
cmd="ipfw -q add "
sshport="222"
# remote control
$cmd 150 allow tcp from 1.2.3.1 to me dst-port $sshport
# services
$cmd 1000 allow icmp from any to any
$cmd 1020 allow tcp from any to me dst-port 21,25,80
$cmd 1021 allow udp from any 53 to me
$cmd 1022 allow udp from any to me 53
$cmd 1023 allow udp from any to me 161
# general
$cmd 1035 allow ip from any to any via lo0
$cmd 1040 allow ip from me to any
$cmd 1050 allow ip from any to any established
# all traffic for some hosts
$cmd 1070 allow ip from 1.2.3.1 to me
/etc/rc.d/ipfw forcestart &
система сама подгрузит модуль ядра. Необходимо отметить, что в данном случае последним будет добавлено правило запрещающее весь трафик, поэтому нужно убедиться, что мы не отключим доступ для нас самих.
Перед включением рекомендуется поставить задачу в кронтаб, на всякий случай, чтобы сработала через пару минут:
25 22 * * * root ipfw -q add 10 allow all from any to any
