Добрый день!
Пытаюсь настроить файрвол таким образом что бы по умолчаию у него стоял запрет и разрешить только нужные порты!
Так же сервер является шлюзом в интернет т.е. я включаю нат ! Но у меня не получается настроить!
Я облазил весь интернет делал как написано и свой конф состовлял !
Проблема следующая работает если файрвол открытый, но это не то что нужно по моей задаче, лиюо закрытый но тогда перестает работать нат!
Помогите с моим конфигурационным скриптом:
#!/bin/sh
#### Источник https://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw...
############### Начало файла с правилами IPFW ###############################
# Сброс всех правил перед началом работы скрипта.
/sbin/ipfw -q -f flush
/sbin/ipfw -q -f nat flush# Префикс для создания правил
CMD="/sbin/ipfw add" # команда
PIF_OUT="em0" # имя сетевой карты, которая смотрит в Интернет
PIF_IN="em1" # имя внутренней карты
########################
# Секция безопасности
########################
# Запрет X-сканирования
/sbin/ipfw nat 1 config if ${PIF_OUT} log
echo start
ipfw list
echo go
#${CMD} 00006 nat 1 ip from any to any via ${PIF_OUT} keep-state
${CMD} 00030 reject log tcp from any to any tcpflags fin, syn, rst, psh, ack, urg via ${PIF_OUT}
## Запрет N-сканирования:
${CMD} 00040 reject log tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !urg via ${PIF_OUT}
## Запрет FIN-сканирования:
${CMD} 00050 reject log tcp from any to any not established tcpflags fin via ${PIF_OUT}
## Защита от спуфинга (подмена адреса отправителя)
${CMD} 00060 deny log ip from any to any not verrevpath in via ${PIF_OUT}
# Ограничение числа одновременных соединений:
${CMD} 00070 allow ip from any to any setup limit src-addr 50
### ${CMD} 00060 allow ip from any to any via ${PIF_IN}
### ${CMD} 00070 nat 1 ip from any to any via ${PIF_OUT} keep-state
# Разрешаем исходящую функцию отправки и приема почты
#${CMD} 00225 allow tcp from any to any 25 out via ${PIF_OUT}
#${CMD} 00227 allow tcp from any to any 110 out via ${PIF_OUT}
# Разрешаем исходящий пинг
${CMD} 00250 allow icmp from me to any via ${PIF_OUT} keep-state
# Разрешаем исходящий Time
${CMD} 00255 allow all from any to any 123 out via ${PIF_OUT}
# Разрешить исходящий трафик к DNS серверу провайдера
# Продублируйте эти строки, если у вас больше одного DNS сервера
# Эти IP адреса можно взять из файла /etc/resolv.conf
${CMD} 00110 allow tcp from me to any 53 via ${PIF_OUT} keep-state
${CMD} 00111 allow udp from me to any 53 via ${PIF_OUT} keep-state
#### разрешить ДНС
#${CMD} 00100 allow udp from me to any 53 out via ${PIF_OUT}
# разрешить http
${CMD} 00200 allow tcp from any to any 80 out via ${PIF_OUT} setup keep-state
# разрешить https
${CMD} 00300 allow tcp from any to any 443 out via ${PIF_OUT} setup keep-state
# разрешить ssh
${CMD} 00400 allow tcp from any to any 22 out via ${PIF_IN} setup keep-state
${CMD} 00401 allow tcp from any to any 2233 via ${PIF_IN} setup keep-state
# Запрещаем весь входящий траффик из зарезервированных адресных пространств по внешней сети
${CMD} 01301 deny all from 192.168.0.0/16 to any in via ${PIF_OUT} #RFC 1918 private IP
${CMD} 01301 deny all from 172.16.0.0/12 to any in via ${PIF_OUT} #RFC 1918 private IP
${CMD} 01302 deny all from 10.0.0.0/8 to any in via ${PIF_OUT} #RFC 1918 private IP
${CMD} 01303 deny all from 127.0.0.0/8 to any in via ${PIF_OUT} #loopback
${CMD} 01304 deny all from 0.0.0.0/8 to any in via ${PIF_OUT} #loopback
${CMD} 01305 deny all from 169.254.0.0/16 to any in via ${PIF_OUT} #DHCP auto-config
${CMD} 01306 deny all from 192.0.2.0/24 to any in via ${PIF_OUT} #reserved for docs
${CMD} 01307 deny all from 204.152.64.0/23 to any in via ${PIF_OUT} #Sun cluster interconnect
${CMD} 01308 deny all from 224.0.0.0/3 to any in via ${PIF_OUT} #Class D & E multicast
# ${CMD} 01309 check-state
# запретить все по умолчанию
# Запрещаем и заносим в журнал все пакеты для дальнейшего анализа
# Запрещаем пинг извне
#${CMD} 00310 deny icmp from any to any in via ${PIF_OUT}:!
# Запрещаем ident
#${CMD} 00315 deny tcp from any to any 113 in via $pif
# Запрещаем все Netbios службы. 137=name, 138=datagram, 139=session
# Netbios это MS/Windows сервис обмена.
# Блокируем MS/Windows hosts2 запросы сервера имен на порту 81
${CMD} 00320 deny tcp from any to any 137 in via ${PIF_OUT}
${CMD} 00321 deny tcp from any to any 138 in via ${PIF_OUT}
${CMD} 00322 deny tcp from any to any 139 in via ${PIF_OUT}
${CMD} 00323 deny tcp from any to any 81 in via ${PIF_OUT}
# Запрещаем любые опоздавшие пакеты
${CMD} 00330 deny all from any to any frag in via ${PIF_OUT}
# Запрещаем ACK пакеты, которые не соответствуют динамической таблице правил.
#${CMD} 00332 deny tcp from any to any established in via ${PIF_OUT}
# Ра�азре�шить НАТ
${CMD} 00021 allow ip from any to any via ${PIF_IN}
${CMD} 00020 nat 1 ip from xxx.xxx.xxx.xxx/24 to any via ${PIF_OUT} keep-state # вместо xxx у меня ip
#${CMD} 00011 deny ip from any to any via ${PIF_OUT}
#${CMD} 10000 deny log ip from any to any
#${CMD} 00060 nat 1 ip from any to any via ${PIF_OUT} keep-state
################ Конец файла правил IPFW ###############################
В какую сторону копать ? (Что бы был запрет по умалчанию deny any to any но при этом с локалки я бы ходил в интернет по 443 и 80 порту - кончено и 53!)