Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ipfw   dmitry a. frolov   26 Sep 2007 10:55:36 
Архивное /ru.unix.bsd/177246fa0525.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional