Страница 1 из 1

Конфиг ipfw

Добавлено: 2013-07-24 23:29:51
icb
Поделились со мной вот таким конфигом:

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

#!/bin/sh

ext_if="em0"
ext_ip="192.168.0.7"

portsentry_tcp="1,....."
portsentry_udp="1,....."

FwCMD="/sbin/ipfw"
${FwCMD} -f flush								# сбрасываем все правила
${FwCMD} -f pipe flush								# сбрасываем все pipe
${FwCMD} -f queue flush								# сбрасываем все очереди

${FwCMD} add check-state							# проверяем - соответствует ли пакет динамическим правилам
${FwCMD} add allow ip from any to any via lo0					# разрешаем весь трафик по внутреннему интерфейсу (петле)

${FwCMD} add deny ip from table\(1\) to me					# portsentry
${FwCMD} add deny ip from table\(2\) to me					# brute

${FwCMD} add deny icmp from any to any frag					# запретить фрагментированные icmp
${FwCMD} add deny icmp from any to 255.255.255.255 in via ${ext_if}		# запретить широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny icmp from any to 255.255.255.255 out via ${ext_if}		# запретить широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny ip from any to 127.0.0.0/8					# запрещаем попытки обращения к lo0
${FwCMD} add deny ip from 127.0.0.0/8 to any					# запрещаем попытки обращения из lo0
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${ext_if}			# запретить частные сети на внешнем интерфейсе
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${ext_if}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${ext_if}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${ext_if}
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${ext_if}		# запретить автокон. частную сеть
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${ext_if}			# запретить мультикастовые рассылки
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${ext_if}			# запретить мультикастовые рассылки

${FwCMD} add allow tcp from any to any established				# разрешить все установленные соединения
${FwCMD} add allow ip from ${ext_ip} to any out xmit ${ext_if} keep-state	# разрешить весь исходящий трафик (для сервера)

${FwCMD} add allow icmp from any to any icmptypes 0,8,11			# ICMP
${FwCMD} add allow udp from any to ${ext_ip} 53 via ${ext_if}			# DNS
${FwCMD} add allow tcp from any to ${ext_ip} 53 via ${ext_if}			# DNS
${FwCMD} add allow udp from any to ${ext_ip} 123 via ${ext_if}			# NTP
${FwCMD} add allow tcp from any to ${ext_ip} 22 via ${ext_if}			# SSH
${FwCMD} add allow tcp from any to ${ext_ip} 80 via ${ext_if}			# HTTP
${FwCMD} add allow tcp from any to ${ext_ip} 25 via ${ext_if}			# SMTP
${FwCMD} add allow tcp from any to ${ext_ip} 110 via ${ext_if}			# POP
${FwCMD} add allow tcp from any to ${ext_ip} 143 via ${ext_if}			# IMAP
${FwCMD} add allow tcp from any to ${ext_ip} 21 via ${ext_if}			# FTP control
${FwCMD} add allow tcp from any to ${ext_ip} 10000-65535 via ${ext_if}		# FTP passive

${FwCMD} add allow tcp from any to any ${portsentry_tcp} via ${ext_if}		# TCP portsentry
${FwCMD} add allow udp from any to any ${portsentry_udp} via ${ext_if}		# UDP portsentry

${FwCMD} add deny ip from any to any						# запретить все 
Хочу его использовать на сервере с сайтами.
Этого достаточно или надо добавить еще ограничений?
Нет ли в нем потенциальных ошибок и неточностей?

Re: Конфиг ipfw

Добавлено: 2013-07-30 13:30:22
Shuba
Сходу увидел:

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

ext_ip="192.168.0.7"
и тут же

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

${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${ext_if}
Соответственно с данной сетевухи ни один пакет не дойдёт до

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

${FwCMD} add allow ip from ${ext_ip} to any out xmit ${ext_if} keep-state

Re: Конфиг ipfw

Добавлено: 2013-08-29 12:54:16
icb
Сходу увидел:
Да, это я пробовал тестировать у себя в локалке сначала :)
Остальное все нормально? Ничего добавить не надо?