|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : dmitry a. frolov 2:550/2.2 26 Sep 2007 10:55:36 To : All Subject : ipfw --------------------------------------------------------------------------------
пpосмотpите плз конфиг фаеpа, может я чего-то упустил и есть ли какие-то
потенциальные "дыpы" в настpойках, и что быть может что-то надо еще закpыть..
на присутсвие уязвимостей, или дополнений. важна в первую очередь безопасность.
чтобы ничего лишнего не было открыто и т.п.
когда составлял конфиг оpиентиpовался на:
1) снаpужи все поpты должны быть закpыты (кpоме нужных для pаботы)
2) локалке запpещен HАТ (выходят чеpез сквид непpозpачный, в нем откpыты только
80, 443, 5190, 3389)
3) HАТ pазpешен 4-м сеpвеpам под упpавелнием freebsd (192.168.10.5-192.168.10.8)
по все поpтам на исходящие (пpавильно ли это? или быть может откpыть какие-то
опpеделенные чтобы исключить возможные дыpы?)
4) тpафик от локалки к pоутеpу и от pоутеpа в локалка pазpешен любой
5) pазpешаем udp в локалке.
[f0s@router] /home/f0s/> cat /etc/rc.firewall
#!/bin/sh
ipfw="/sbin/ipfw "
#
LanOut="xl0" # Внешняя сетевуха
NetOut="255.255.255.240/28" # внешняя сеть
IpOut="84.54.62.20" # Внешний IP
#
LanIn="nve0" # внутренняя сетевуха
NetIn="192.168.10.0/24" # Внутренняя сеть
IpIn="192.168.10.7"
#
servers="192.168.10.2,192.168.10.5,192.168.10.6,192.168.10.8" # Серверы локалки
которым все можно
ssh="84.54.64.22" # Кому можно подключаться по ssh
#
###############################################################################
# Очищаем все правила
${ipfw} -f flush
${ipfw} -f pipe flush
${ipfw} -f queue flush
# траффик ограничиваем (скорость) в опpеделенные часы
chour=`date '+%H'`
if [ ${chour} -lt 9 ]; then
${ipfw} add pipe 1 ip from not ${NetIn} to ${NetIn}
${ipfw} pipe 1 config bw 33600 bit/s
fi
if [ ${chour} -ge 19 ]; then
${ipfw} add pipe 1 ip from not ${NetIn} to ${NetIn}
${ipfw} pipe 1 config bw 33600 bit/s
fi
# Подключаемся по SSH к серверу из инета
${ipfw} add allow tcp from ${ssh} to ${IpOut} 22 via ${LanOut}
${ipfw} add allow tcp from ${IpOut} 22 to ${ssh} via ${LanOut}
# Подключаемся по SSH к серверу из локалки
${ipfw} add allow tcp from ${NetIn} to ${IpIn} 22 via ${LanIn}
${ipfw} add allow tcp from ${IpIn} 22 to ${NetIn} via ${LanIn}
# Блокрируем атаки
${ipfw} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add deny log ip from any to ${IpOut} 139 via ${LanOut}
# Разрешаем весь траффик по внутреннему интерфейсу (петле)
${FwCMD} add allow ip from any to any via lo0
# рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
# рубим пакеты `типа от внутренней сети, но на внешнем интерфейсе`
${ipfw} add deny ip from ${NetIn} to any in via ${LanOut}
# рубим пакеты `типа от внешней сети, но на внутреннем интерфейсе`
${ipfw} add deny ip from ${NetOut} to any in via ${LanIn}
# режем частные сети на внешнем интерфейсе
${ipfw} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${ipfw} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${ipfw} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${ipfw} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${ipfw} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${ipfw} add deny ip from any to 224.0.0.0/4 in via ${LanOut}
${ipfw} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${ipfw} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${ipfw} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${ipfw} add deny log icmp from any to 255.255.255.255 out via ${LanOut}
# NAT
${ipfw} add divert natd ip from ${NetIn} to any out via ${LanOut}
${ipfw} add divert natd ip from any to ${IpOut} in via ${LanOut}
# рубим траффик к частным сетям через внешний интерфейс
${ipfw} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${ipfw} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${ipfw} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${ipfw} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# рубим автоконфигуреную частную сеть
${ipfw} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${ipfw} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${ipfw} add deny ip from 240.0.0.0/4 to any out via ${LanOut}
# Разрешаем выходить в инет (NAT) серверам по всем портам
${ipfw} add allow all from me to any setup
${ipfw} add allow all from 192.168.10.5 to any setup
${ipfw} add allow all from 192.168.10.6 to any setup
${ipfw} add allow all from 192.168.10.8 to any setup
# Разрешаем траффик внутренней сети на внутреннем интерфейсе (вх/исх)
${ipfw} add allow ip from any to ${NetIn} in via ${LanIn}
${ipfw} add allow ip from ${NetIn} to any out via ${LanIn}
# разрешаем tcp-пакеты по уже установленным соединениям
${ipfw} add allow tcp from any to any established
# разрешаем UDP (для синхронизации времени - 123 порт)
${ipfw} add allow udp from any to any 123 via ${LanOut}
${ipfw} add allow udp from any 123 to any via ${LanOut}
# Запрещем дальнейшее прохождение для всех
${ipfw} add reject tcp from ${NetIn} to any via ${LanIn}
# Разрешаем DNS
${ipfw} add allow udp from any to any 53
${ipfw} add allow udp from any 53 to any
# Разрешаеи ICMP всем
${ipfw} add allow icmp from any to any
# Разрешаем UDP во всей сети
${ipfw} add allow udp from any to ${NetIn} in via ${LanIn}
${ipfw} add allow udp from ${NetIn} to any out via ${LanIn}
# Всем остальным все запрещаем и пишем в лог
${ipfw} add deny log all from any to any
#end
--
dmitry a. frolov (f0s)
2:550/2 && 2:5030/4441
http://f0s.livejournal.com
--- GoldED+/W32-MSVC 1.1.5-20070114 (WinNT 5.2.3790-SP1 iP-IV)
* Origin: Зубила 2.2i 147л.с. АКПП сине-зеленый [c068ep|98] (2:550/2.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/177246fa0525.html, оценка из 5, голосов 10
|