IPFW и не только
Добавлено: 2019-10-30 22:23:08
Здравствуйте уважаемые форумчане!
Подскажите пожалуйста по конфигу по IPFW я его не разу не настраивал глубоко только основные моменты тут пришлось более делать безопаснее
сеть и родился вот такой конфиг конечно же из кусков и скорее всего в корне не правильный.
Подскажие еще по теме если есть два провайдера как сделать так чтобы вслучае подения первого включался второй?
И еще вопрос по поводу DMZ зоны как ее настроить и нужен ли второй белый IP под нее ?
Спасибо.
Подскажите пожалуйста по конфигу по IPFW я его не разу не настраивал глубоко только основные моменты тут пришлось более делать безопаснее
сеть и родился вот такой конфиг конечно же из кусков и скорее всего в корне не правильный.
Подскажие еще по теме если есть два провайдера как сделать так чтобы вслучае подения первого включался второй?
И еще вопрос по поводу DMZ зоны как ее настроить и нужен ли второй белый IP под нее ?
Спасибо.
###############
# КОНФИГ IPFW #
###############
# Ключ -q SSH.
fw="/sbin/ipfw -q add"
#
# Интерфейс смотрит в инет.
lanout="em0"
#
# Интерфейс смотрит в локалку.
lanin="em1"
#
# Внешний IP интернета.
ipout="111.58.59.13"
#
# Внутренний IP из LAN.
ipin="192.168.1.2"
#
# Внутренняя сеть.
netin="192.168.1.0/24"
#
# Внешняя сеть.
netout="111.58.59.13/24"
#
# Шаблон внутреннего адреса.
# Что тут вписывается?
ip_lan="XX.XX.XX.XX"
#
# Кому из локалки разрешен доступ к шлюзу.
ip_allow_in="192.168.1.3,192.168.1.4"
#
# То же самое, но из инета.
# Указывается IP компа из вне
ip_allow_out="178.88.99.2"
#
# Порты http,ftp.
port="80,20,21"
#
# Сервер DNS.
dns_ip="192.168.1.55,8.8.8.8"
#
# FTP
port_ftp_d="20,21"
#
# Mail_server
ip_mail="192.168.1.56"
#
###########
# Правила #
###########
#
# Разрешаем траффик по внутреннему интерфейсу loopback.
${fw} 10 allow ip from any to any via lo0
#
# Запрещаем откуда-то лезть на внутренний интерфейс и с него лезть куда-то.
${fw} 20 deny ip from any to 127.0.0.0/8
${fw} 30 deny ip from 127.0.0.0/8 to any
#
# Учет траффика
${fw} 40 count ip from any to any in via ${lanout} # скачано
${fw} 50 count ip from any to any out via ${lanout} # передано
#
# WEB сайты
${fw} 60 count ip from any to any 80,443 out via ${lanout}
${fw} 70 count ip from any 80,443 to any in via ${lanout}
#
# Серверам которым в инет не надо.
# Файловый сервер
${fw} 80 deny ip from ${ip_lan}.50 to any in via ${lanin}
${fw} 90 deny ip from any to ${ip_lan}.50 out via ${lanin}
#
# Режем частные сети на внешнем интерфейсе
${fw} 100 deny ip from any to 0.0.0.0/8 in via ${lanout}
${fw} 120 deny ip from any to 172.16.0.0/12 in via ${lanout}
${fw} 130 deny ip from any to 169.254.0.0/16 in via ${lanout}
${fw} 140 deny ip from any to 224.0.0.0/4 in via ${lanout}
${fw} 150 deny ip from any to 240.0.0.0/4 in via ${lanout}
#
# Режем фрагментированные icmp
${fw} 160 deny icmp from any to any frag
${fw} 170 deny icmp from any to 255.255.255.255 in via ${lanout}
${fw} 180 deny icmp from any to 255.255.255.255 out via ${lanout}
${fw} 190 deny ip from 0.0.0.0/8 to any out via ${lanout}
${fw} 200 deny ip from 172.16.0.0/12 to any out via ${lanout}
${fw} 210 deny ip from 169.254.0.0/16 to any out via ${lanout}
${fw} 220 deny ip from 224.0.0.0/4 to any out via ${lanout}
${fw} 230 deny ip from 240.0.0.0/4 to any out via ${lanout}
#
# NAT
${fw} 240 divert natd ip from ${netin} to any out via ${lanout}
${fw} 250 divert natd ip from any to ${ipout} in via ${lanout}
#
# TCP
${fw} 260 allow tcp from any to any established
#
# Режем пинги с наружи, но не внутри
${fw} 270 allow icmp from any to any out icmptypes 8
${fw} 280 allow icmp from any to any in via ${lanin} icmptypes 8
${fw} 290 allow icmp from any to any out via ${lanin} icmptypes 0
${fw} 300 allow icmp from any to any in icmptypes 0
${fw} 310 allow icmp from any to any out via ${lanin} icmptypes 3
${fw} 320 deny icmp from any to any in via ${lanout} icmptypes 8
${fw} 330 deny icmp from any to any out via ${lanout} icmptypes 3
#
# Разрешаем траффик внутренней сети на внутреннем интерфейсе.
${fw} 340 allow ip from ${netin} to me in via ${lanin}
${fw} 350 allow ip from me to ${netin} out via ${lanin}
${fw} 360 allow ip from any to ${netin} in via ${lanin}
${fw} 370 allow ip from any to ${netin} out via ${lanin}
${fw} 380 allow ip from ${netin} to any in via ${lanin}
#
# Разрешаем DNS на внешку
${fw} 390 allow udp from ${ipout} to any 53 out via ${lanout}
${fw} 400 allow udp from any 53 to ${ipout} in via ${lanout}
${fw} 410 allow udp from any 53 to ${dns_ip} in via ${lanout}
${fw} 420 allow udp from any 53 to any in via ${lanout}
#
# Доступ по OpenVPN на внешку
# тут указывается сеть клиента openvpn
${fw} 430 allow udp from any to me 5555 in via ${lanout}
${fw} 440 allow udp from me 5555 to any out via ${lanout}
${fw} 450 allow all from 192.168.5.0/24 to 192.168.1.0/24
#
# Перенаправление портов на почтовый сервер
${fw} 460 allow tcp from any to ${ip_mail} 25,110 in via ${lanout}
${fw} 470 allow tcp from me to any 110,25 out via ${lanout}
${fw} 480 allow tcp from ${ip_mail},111.58.59.13 to any 53,110
${fw} 490 allow tcp from 111.58.59.13 to any 80 out via ${lanout}
${fw} 500 allow tcp from any to ${ip_mail} 80,110,25 in via ${lanout}
#
# Разрешаем NTP на внешку
${fw} 510 allow udp from me to any 123 out via ${lanout}
#
# Разрешаем RDP в нутри сети
${fw} 520 allow tcp from any to ${ip_lan}.8 3389
#
# Разрешаем http,https,ftp на внешку
${fw} 530 allow tcp from me to any ${port} out via ${lanout}
#
# FTP
${fw} 540 allow tcp from any to any ${port_ftp_d} via ${lanout}
${fw} 550 allow tcp from any ${port_ftp_d} to me
#
# Зарезаем торенты
${fw} 560 deny udp from me 51216 to any out via ${lanout}
#
# Зарезаем активность по UDP 80 порт
${fw} 570 deny udp from any to me 80 in via ${lanout}
#
#${fw} 580 allow all from any to any
#${fw} 590 deny all from any to any
#