IPFW для Web-сервера на FreeBSD 6.3

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Андрей Никитин
проходил мимо

IPFW для Web-сервера на FreeBSD 6.3

Непрочитанное сообщение Андрей Никитин » 2008-05-06 11:46:52

Здравствуйте!

Новичок во FreeBSD, собираю Web-сервер, а в будущем почтовый на той же машине.
Имеется 1 интерфейс, который будет смотреть в интернет (пока он смотрит в локалку).

Задача - разрешить http и ssh (попозже https, ftp (sftp) и почту).

В результате чтения документации, статей и форумов подобрал следующий набор правил для ipfw (чуть пониже)...

Достаточно ли указанных правил для IPFW (т.е. не нужно ли чего сюда дописать - другие компоненты защиты сейчас не рассматриваю)?

И еще маленький вопросик - на этом форуме есть поиск (или для него надо регистрироваться)?

Спасибо!

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

#!/bin/sh

FwCMD="/sbin/ipfw -q  " # IPFW binary

# При переносе в интернет - заменить
external_if="fxp0"              # External interface
external_ip="192.168.0.196"     # IP
external_nw="192.168.0.0"       # local network
external_mk="24"

# При переносе в интернет - заменить
ip_adm="192.168.0.108"          # Admin ip for SSH, etc
ip_dns="192.168.0.1"            # DNS Server (and gate)

loopback_if="lo0"               # Loopback interface

${FwCMD} -f flush

${FwCMD} add check-state

# Deny private networks

${FwCMD} add deny log ip from 172.16.0.0/12 to any
${FwCMD} add deny log ip from any to 172.16.0.0/12

${FwCMD} add deny log ip from 127.0.0.1/8 to any
${FwCMD} add deny log ip from any to 127.0.0.1/8

${FwCMD} add deny log ip from 10.0.0.0/8 to any
${FwCMD} add deny log ip from any to 10.0.0.0/8

${FwCMD} add deny log ip from 169.254.0.0/16 to any
${FwCMD} add deny log ip from any to 169.254.0.0/16

# Раскомментировать при переносе в интернет
# ${FwCMD} add deny log ip from 192.168.0.0/16 to any
# ${FwCMD} add deny log ip from any to 192.168.0.0/16

# Multicast dispatches
${FwCMD} add deny ip from any to 240.0.0.0/4 in
${FwCMD} add deny ip from any to 240.0.0.0/4 out

# ${FwCMD} add deny log ip from 192.0.2.0/24    to any
# ${FwCMD} add deny log ip from 204.152.64.0/23 to any

# ${FwCMD} add deny tcp from any to any 137 in
# ${FwCMD} add deny tcp from any to any 138 in
# ${FwCMD} add deny tcp from any to any 139 in 
# ${FwCMD} add deny tcp from any to any 81  in

# Loopback
${FwCMD} add 5000 allow ip from any to any via ${loopback_if}

# Allow ICMP type from any to any

# OLD
${FwCMD} add deny icmp from any to any frag

# IN OLD  - 0,3,5,8,11 
${FwCMD} add pipe 10 icmp from any to any icmptypes 0,8,11
${FwCMD} pipe 10 config bw 64000

# For TraceRouting
# ${FwCMD} add allow udp from ${external_ip} to any 33434-33600

# For SSH 
${FwCMD} add allow tcp from ${ip_adm} 1024-65535 to ${external_ip} ssh in via ${external_if}
${FwCMD} add allow tcp from ${external_ip} ssh to ${ip_adm} 1024-65535 out via ${external_if}

# Allow DNS Req
${FwCMD} add allow udp from ${external_ip} to ${ip_dns} 53 out via ${external_if}
${FwCMD} add allow udp from ${ip_dns} 53 to ${external_ip} in via ${external_if}

# For Web Server
${FwCMD} add allow tcp from ${external_nw}/${external_mk} 1024-65525 to ${external_ip} http in via ${external_if}
${FwCMD} add allow tcp from ${external_ip} http to ${external_nw}/${external_mk} 1024-65525 out via ${external_if}

# deny all
${FwCMD} add deny from any to any via ${external_if}
На OpenNet встречал еще и такие вставки (у меня закомментированы), но думаю, что это уже лишнее...

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

# ${FwCMD} add deny log ip from 192.0.2.0/24    to any
# ${FwCMD} add deny log ip from 204.152.64.0/23 to any

# ${FwCMD} add deny tcp from any to any 137 in
# ${FwCMD} add deny tcp from any to any 138 in
# ${FwCMD} add deny tcp from any to any 139 in 
# ${FwCMD} add deny tcp from any to any 81  in

Хостинговая компания 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/

Аватара пользователя
GreenDay
мл. сержант
Сообщения: 100
Зарегистрирован: 2008-02-21 20:25:39
Откуда: Новосибирск
Контактная информация:

Re: IPFW для Web-сервера на FreeBSD 6.3

Непрочитанное сообщение GreenDay » 2008-05-06 12:33:00

а не проще сначала поставить, потом уже смотреть чего не работает и спрашивать по поводу этого?
а то так можно темы завести аля
хочу установить FreeBSD - где лучше скачать образ диска?
Бесполезно рассказывать о высоком моральном облике коллектива человеку, имеющему доступ к логам прокси-сервера этого коллектива.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW для Web-сервера на FreeBSD 6.3

Непрочитанное сообщение hizel » 2008-05-06 12:37:22

не проще ли просто

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

ipfw add allow tcp from any to me 80,22 in
ipfw add allow tcp from me 22,80 to any out
ipfw add deny from any to any
чем меньше правил, тем вероятнее что вы не ошибетесь ;)

Пы.Сы. Ах да поиск присутствует, как минимум у зарегистрированных пользователей
если не хотите регистрироватся воспользуйтес Google: строка поиска site:forum.lissyara.su
этот форум хорошо индексируется, прямо таки реактивно
вот пишется внизу форума
Зарегистрированные пользователи: Google [Bot], Google Adsense [Bot], hizel, Yahoo [Bot], YandexDirect [bot]
Bot-ы присутствуют постоянно ;)
Последний раз редактировалось hizel 2008-05-06 12:42:46, всего редактировалось 1 раз.
Причина: Пы.Сы.
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.