IPFW+NAT+MPD5 конфиг

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mifey
рядовой
Сообщения: 16
Зарегистрирован: 2010-12-22 12:34:20

IPFW+NAT+MPD5 конфиг

Непрочитанное сообщение mifey » 2011-06-15 13:55:53

Сейчас шлюз(FreeBSD 8.1) спрятан за роутером(ADSL-модем с фун-ей роутера). Чтоб пробросить порт снаружи приходится его пробрасывать с модема на шлюз, а с него уже дальше. Хочу пробросить все с модема бросить на шлюз, но потребовалось тогда защитить его снаружи.
Хочу попросить посмотреть данный конфиг и сказать, на сколько безопасно будет его снаружи таким оставить?

Код: Выделить всё

cat /etc/myfirewall.sh 
#!/bin/sh -
#Данный конфиг составлен для следующих задач:
#1. Интернет постоянно раздается на почтовый сервер и мою машину.
#2. Так же раздается бухгалтеру и менеджеру, но с урезкой скорости.                       
#3. Все остальные могут получить его через VPN, если им дадут пароль (скорость ограничена).                                                                                         
#4. В случае потребности быстрого интернета для меня за другим компом - есть отдельная запись без урезки скорости через VPN.                                                        
fwcmd=/sbin/ipfw                                                                          
# Внешний интерфейс                                                                       
oif=rl0                                                                                   
oip=x.x.x.x                                                                         
# Внутренний интерфейс                                                                    
iif=rl1                                                                                   
iip=x.x.x.x
MyLan=x.x.x.0/24                                                                      
#Сеть VPN, которой разрешим доступ в интернет                                             
vif=ng*                                                                                   
vpnm=x.x.x.0/24                                                                       
# Хосты сети, которым разрешим свободно ходить в инет                                     
NoSpeedLimit=x.x.x.x,x.x.x.x,x.x.x.x #Мой,почтовый сервер,машина для тестов                                                                                        
BuhComp=x.x.x.x #Главный бухгалтер
GlMenComp=x.x.x.x #Главный менеджер
MyVPN=x.x.x.x #Вдруг мне понадобится скорость через VPN (сидя за другим)
#Порты, которые будут открыты снаружи для проброса во внутреннюю сеть
GoodPort=xx,xx,xxx,xxx,xxx,xxx,xxxxx
#Очищаем правила
${fwcmd} -f flush
${fwcmd} -f pipe flush
#Задаем скорость
ipfw pipe 1 config bw 4KByte/s
ipfw pipe 2 config bw 8KByte/s
ipfw pipe 3 config bw 16KByte/s
ipfw pipe 4 config bw 32KByte/s
ipfw pipe 5 config bw 64KByte/s
ipfw pipe 6 config bw 128KByte/s
ipfw pipe 7 config bw 256KByte/s
ipfw pipe 8 config bw 512KByte/s
ipfw pipe 9 config bw 1MByte/s
ipfw pipe 10 config bw 2MByte/s
ipfw pipe 11 config bw 4MByte/s
ipfw pipe 12 config bw 8MByte/s
#Стандартное средство защиты от спуффинга :-)
${fwcmd} add 00101 deny ip from any to any not verrevpath in
# Убьем фрагменты
${fwcmd} add 00102 deny ip from any to any frag
#loop
${fwcmd} add 00201 allow ip from any to any via lo
${fwcmd} add 00202 deny ip from any to 127.0.0.0/8
${fwcmd} add 00203 deny ip from 127.0.0.0/8 to any
#Разрешаем пакеты внутренней и виртуальной сетях(только через свои интерфейсы)
${fwcmd} add 00301 allow ip from ${MyLan} to ${MyLan} via ${iif}
${fwcmd} add 00302 allow ip from ${vpnm} to ${vpnm} via ${vif}
#Разрешенным в интернет
${fwcmd} add 01001 allow ip from ${NoSpeedLimit} to any in via ${iif} #UpLoad
${fwcmd} add 01002 allow ip from any to ${NoSpeedLimit} out via ${iif} #DownLoad
${fwcmd} add 01003 pipe 5 ip from ${BuhComp} to any in via ${iif}
${fwcmd} add 01004 pipe 7 ip from any to ${BuhComp} out via ${iif}
${fwcmd} add 01005 pipe 4 ip from ${GlMenComp} to any in via ${iif}
${fwcmd} add 01006 pipe 6 ip from any to ${GlMenComp} out via ${iif}
${fwcmd} add 01007 allow ip from ${MyVPN} to any in via ${vif}
${fwcmd} add 01008 allow ip from any to ${MyVPN} out via ${vif}
${fwcmd} add 01009 pipe 3 ip from ${vpnm} to any in via ${vif}
${fwcmd} add 01010 pipe 5 ip from any to ${vpnm} out via ${vif}
#Разрешаем НАТ
${fwcmd} add 02001 divert natd ip from ${NoSpeedLimit},${BuhComp},${GlMenComp},${vpnm} to any out via ${oif}
${fwcmd} add 02002 divert natd ip from any to ${oip},${vpnm} in via ${oif}
#Разрешенным в интернет
${fwcmd} add 03001 allow ip from any to ${NoSpeedLimit},${BuhComp},${GlMenComp},${MyVPN},${vpnm} in via ${oif}
#Разрешаем исходящий трафик и ответы на наши запросы(серверу же нужен интернет)
${fwcmd} add 04001 allow ip from ${oip} to any out via ${oif} keep-state
#Открываем SSH снаружи (изменили на нестандартный)
${fwcmd} add 05001 allow tcp from any to ${oip} 22022 via ${oif}
#Открываем нужные порты
${fwcmd} add 06001 allow tcp from any to ${oip} ${GoodPort} via ${oif}
#Запрещаем все остальное с занесением в лог
${fwcmd} add 65355 deny log logamount 0 ip from any to any
Может кто посоветывает что-то лучше или дописать нужное, чего упустил...
Заранее спс.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mifey
рядовой
Сообщения: 16
Зарегистрирован: 2010-12-22 12:34:20

Re: IPFW+NAT+MPD5 конфиг

Непрочитанное сообщение mifey » 2011-06-16 9:56:26

Никто ничего не может дополнить или хотя бы сказать свое мнение по данному конфигу? :cry: