Хочу попросить посмотреть данный конфиг и сказать, на сколько безопасно будет его снаружи таким оставить?
Код: Выделить всё
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
Заранее спс.