IPFW для критики

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 5:57:10

Доброго времени суток уважаемый All. Для критики хочу выложить свои правила ipfw. Набор правил собирался на протяжении нескольких лет. Может кому то будет полезен.

ядро собрано с параметрами:

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

options         ROUTETABLES=2
#netgraph(4) system
options         NETGRAPH
options         NETGRAPH_PPPOE
options         NETGRAPH_SOCKET
options         NETGRAPH_ETHER
options         NETGRAPH_TEE

#firewall
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=200
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
Сами правила. буду комментировать в самом коде, для удобочитаемости.

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

#!/bin/sh

fwcmd="/sbin/ipfw"

ext_if=Сетевая карта, смотрит в сторону инета
int_if=Сетевая карта, смотрит в сторону локалки
ext_ip=Внешний айпи выданный провайдером

${fwcmd} -f flush

no comments ;)
${fwcmd} add 90 allow ip from 127.0.0.1 to 127.0.0.1

###########################################################
# global counter
###########################################################
Здесь чтобы неотправлял почту через другие почтовые сервера, полезно, когда поселиться вирус и начингает спамить в НАТ.
${fwcmd} add 900 reset log tcp from 10.0.0.0/8 to any 25 out xmit ${ext_if}
###########################################################
# denying external connection to proxy
###########################################################
${fwcmd} add 1000 deny log tcp from any to me 3128,1080 in via ${ext_if}
${fwcmd} add 1010 skipto 1040 ip from 10.209.109.0/24 to 10.209.109.1
${fwcmd} add 1020 skipto 1040 ip from 10.209.109.1 to 10.209.109.0/24
${fwcmd} add 1030 deny log tcp from any to me 3128,1080
${fwcmd} add 1031 deny log udp from any to me 3128,1080
${fwcmd} add 1032 deny tcp from 10.209.109.0/24 to any 1080,2080

# allowing our ftp, http
${fwcmd} add 2000 skipto 3600 tcp from 10.209.109.0/24 to me 80,21

# denying some packets
${fwcmd} add 3000 deny log ip from 10.209.109.0/24 to any in recv ${ext_if}
${fwcmd} add 3040 deny log ip from 224.0.0.0/8 to any in recv ${ext_if}
${fwcmd} add 3050 deny ip from any to any frag
${fwcmd} add 3060 deny icmp from any to any in via ${ext_if} icmptype 5,9,13,14,15,16,17

###########################################################
# Allow incoming connections
###########################################################
${fwcmd} add 3500 allow tcp from any to me ssh,pop3s,pop3,http,ftp,1,11,15,79,111 limit dst-addr 30 via ${ext_if}
${fwcmd} add 3510 allow tcp from any to me smtp limit dst-addr 15 via ${ext_if}
${fwcmd} add 3520 allow tcp from me ssh,pop3s,pop3,http,smtp,ftp to any via ${ext_if}

# natd
${fwcmd} add 4000 divert natd ip from any to ${ext_ip} in recv ${ext_if}

###########################################################
# transparent proxy
###########################################################
${fwcmd} add 6000 skipto 6500 tcp from 10.209.109.1 to any
${fwcmd} add 6001 skipto 6500 tcp from any to me
${fwcmd} add 6100 fwd 127.0.0.1,3128 tcp from 10.209.109.0/24 to any 80,81,82,88,3128,8080,8101,21,443 out xmit ${ext_if}

# check-state
${fwcmd} add 6500 check-state

# Запретить подключения ко мне
${fwcmd} add 6510 deny tcp from any to me 113,135,137,138,139,445 in via ${ext_if}
${fwcmd} add 6520 deny udp from any to me 113,135,137,138,139,445 in via ${ext_if}
${fwcmd} add 6550 deny log tcp from any to me 1-1023 in via ${ext_if}
${fwcmd} add 6560 deny log udp from any to me 1-1023 in via ${ext_if}
${fwcmd} add 6570 deny log tcp from any to me 3306 in via ${ext_if}          # MySQL
${fwcmd} add 6580 skipto 6600 ip from 10.209.109.0/24 to any in via ${int_if}
${fwcmd} add 6582 skipto 6600 ip from 0.0.0.0 to 255.255.255.255 in via ${int_if}
${fwcmd} add 6585 deny ip from 192.168.0.0/16 to any in via ${int_if}
${fwcmd} add 6590 deny ip from any to any in via ${int_if}

###########################################################
# natd разрешаем только те айпи, которым необходимо ходить на нат
###########################################################
${fwcmd} add 8000 skipto 9000 ip from 10.209.109.1 to any

#Остальным запрещаем ходить на NAT
${fwcmd} add 8900 skipto 10000 ip from 10.209.109.0/24 to any

${fwcmd} add 9000 divert natd ip from 10.209.109.0/24 to any out xmit ${ext_if}

# denying packets from local net to external
${fwcmd} add 10000 deny ip from 10.0.0.0/8 to any out xmit ${ext_if}
${fwcmd} add 10010 deny ip from 192.168.0.0/16 to any out xmit ${ext_if}

##########################################################
# allowing everything else
##########################################################
${fwcmd} add 65000 allow ip from any to any

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

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 7:43:44

а в моих фаерах токо два правила divet и pass all
и за все 5 лет на моей памяти никто еще ничего не взломал

итого
зачем городить конфиги с трех етажными матами?

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение MASiK » 2009-07-30 8:19:58

В моих конфигах Kernel Nat

И они с годами только короче становятся

Так как чем проще конфиг, тем быстрее канал
(Лично моя заметка)

Вы бы попробовали откинуть пороною взлома, и сделать немного по проще конфиг, скорости прибавило бы :)
Самурай

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение princeps » 2009-07-30 8:20:50

paradox писал(а):и за все 5 лет на моей памяти никто еще ничего не взломал
Козырный фарт?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 8:24:01

Козырный фарт?
банальное понимание технологий

Гость
проходил мимо

Re: IPFW для критики

Непрочитанное сообщение Гость » 2009-07-30 10:04:46

На моей памяти ломали mysql если не был закрыт порт из вне. По поводу городить не городить, каждый выбиррает для себя свой путь истины :)

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 10:09:48

не ну никто ж не спорит
каждый усложняет по своиму это его юникс вей
но как заметил самурай
с годами и опытом он становиться все проще и меньше ))
токо новички начитавшись про грозных хакеров хотят что бы в фаерволе было как можно больше правил

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:10:54

MASiK писал(а):В моих конфигах Kernel Nat

И они с годами только короче становятся

Так как чем проще конфиг, тем быстрее канал
(Лично моя заметка)

Вы бы попробовали откинуть пороною взлома, и сделать немного по проще конфиг, скорости прибавило бы :)
При том, что мой провайдер выдает мне 10Мбит - скорость скачивания 1Мб/сек. Насколько еще скорость должна увеличиться? Из-за настроек брандмауэра скорость ни как не влияет.

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:12:37

paradox писал(а):не ну никто ж не спорит
каждый усложняет по своиму это его юникс вей
но как заметил самурай
с годами и опытом он становиться все проще и меньше ))
токо новички начитавшись про грозных хакеров хотят что бы в фаерволе было как можно больше правил

Хотелось бы по сабжу что нить услашать :)

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение ProFTP » 2009-07-30 10:13:55

а что в этом конфиге ключевое?

у всех вроде бы одинаково!! только я например natd все время использую или иногда divet
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:22:21

ProFTP писал(а):а что в этом конфиге ключевое?

у всех вроде бы одинаково!! только я например natd все время использую или иногда divet
Ну наверное сам набор правил в целом :)

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение ProFTP » 2009-07-30 10:32:10

наверное желателно закрыть еще публичные сети...

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

deny ip from any to 172.16.0.0/12 in
deny ip from any to 192.168.0.0/16 in
deny ip from any to 0.0.0.0/8 in
deny ip from any to 169.254.0.0/16 in
deny ip from any to 240.0.0.0/4 in
deny ip from any to 224.0.0.0/3 in
deny ip from any to 192.0.2.0/24 in
deny ip from any to any not antispoof in
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 10:32:35

по сабжу
options NETGRAPH
options NETGRAPH_PPPOE
options NETGRAPH_SOCKET
options NETGRAPH_ETHER
options NETGRAPH_TEE
это лишнее
изучите loader.conf
${fwcmd} add 90 allow ip from 127.0.0.1 to 127.0.0.1
а если вдруг у меня лупбек имеет другой айпи?))) дадаа такое возможно
например 127.0.0.4/24
илидругой
так что any to any via lo0 и токо так и не как иначе


deny log
вы хотите сказать что вы читаете отчеты руту? и в логи заглядываете?)) по секрюрити

использование skipto дурной тон

deny frag я бы не делал

разрешать выборочное icmp это не есть гут

check-state это конечно хорошо
но без keep-state оно бесполезно

ну итд
долго всматриваться
сами разберитесь)

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 10:34:08

наверное желателно закрыть еще публичные сети...
имеет смысл токо если ты админишь у провайдеров укоторых есть своя AS
когда ты клинет у провайдера
то блочить эти сети нет смысла

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение princeps » 2009-07-30 10:35:36

А я как-то наблюдал спуфинг на своем внешнем интерфейсе, хотя не провайдер.
я бы вот здесь

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

${fwcmd} add 65000 allow ip from any to any
сделал бы наоборот, deny
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение ProFTP » 2009-07-30 10:42:51

princeps писал(а):А я как-то наблюдал спуфинг на своем внешнем интерфейсе
и что ты делал?

еще может: в безопасности в /etc/sysctl.conf есть опции по безопасности, которые делают "черную дырку", если поставить, то сканеры не смогут просканировать порты, или сканер выдаст ложную информацию
paradox писал(а): имеет смысл токо если ты админишь у провайдеров укоторых есть своя AS
ко мне кстате на домашниый сервер кто-то заходит на ftp, и влогах было видно айпи с публичного айпи... может провайдер их не блокиреут...
Последний раз редактировалось ProFTP 2009-07-30 10:50:21, всего редактировалось 2 раза.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:43:42

paradox писал(а): изучите loader.conf
да да, хорошее замечание :)
${fwcmd} add 90 allow ip from 127.0.0.1 to 127.0.0.1
а если вдруг у меня лупбек имеет другой айпи?))) дадаа такое возможно
например 127.0.0.4/24
илидругой
так что any to any via lo0 и токо так и не как иначе
учту
deny log
вы хотите сказать что вы читаете отчеты руту? и в логи заглядываете?)) по секрюрити
иногда бывает :)
использование skipto дурной тон
Чего дурного? я бы сказал даже очень хороший тон )
deny frag я бы не делал
разрешать выборочное icmp это не есть гут
почему?

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:44:38

princeps писал(а):А я как-то наблюдал спуфинг на своем внешнем интерфейсе, хотя не провайдер.
я бы вот здесь

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

${fwcmd} add 65000 allow ip from any to any
сделал бы наоборот, deny
ядро собрано с опцией DENY )

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:46:39

paradox писал(а):
наверное желателно закрыть еще публичные сети...
имеет смысл токо если ты админишь у провайдеров укоторых есть своя AS
когда ты клинет у провайдера
то блочить эти сети нет смысла
если только кто то пытается подставить такой айпи )

и в твоей физ. сети есть не только твоя допустим 192.168.0.0/24 а еще А и С сети :)

хотя все равно не чего не выйдет )

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 10:51:11

Чего дурного? я бы сказал даже очень хороший тон )
skipto
это как
goto в програмировании
если его используют значит человек неможет выровнять логику (в фаерволе или в программировании)
если только кто то пытается подставить такой айпи )
да пусть подставляет
куда токо он выйдет если подставить сеть кторой нет на интрефейсе
а спуфинг отвергаеться правильным via на интерфейсе
и в твоей физ. сети есть не только твоя допустим 192.168.0.0/24 а еще А и С сети
дурной тон в одной визической сети на одном физ интерфейсе держать много альясов
в таких случаях лучше включать vlan и подключать коммутатор

ну про icmp это долгая философия

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

Re: IPFW для критики

Непрочитанное сообщение FireWall » 2009-07-30 10:59:31

paradox писал(а):
Чего дурного? я бы сказал даже очень хороший тон

skipto
это как
goto в програмировании
если его используют значит человек неможет выровнять логику (в фаерволе или в программировании)
с натом я не смог найти реализацию лучше. Так гибче получается :)

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение princeps » 2009-07-30 11:06:18

paradox писал(а):а спуфинг отвергаеться правильным via на интерфейсе
расскажи подробней
ProFTP писал(а): princeps писал(а):А я как-то наблюдал спуфинг на своем внешнем интерфейсе
и что ты делал?
Ничего, у меня были deny на публичные сети на внешнем интерфейсе, просто валились пакеты с 10.0.что-то там. У провайдера тоже могут лохи работать. Даже не могут, а точно работают, особенно в нашей провинции.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 11:06:51

нат обычно работает одним правилом divert via интерфейс в инет
а дальше все без всяких скипту отстраиваеться

исключение составляют балансировки и ассимитричный инет
где одним дивертом не обойдешься

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW для критики

Непрочитанное сообщение paradox » 2009-07-30 11:08:09

via in via out нужных сетей на нужном интерфейсе
и после этого я не представляю как спуфингом человек вообще выйдет через этот интерфейс

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: IPFW для критики

Непрочитанное сообщение princeps » 2009-07-30 11:19:47

paradox писал(а):via in via out нужных сетей на нужном интерфейсе
А че, мудро. тогда получается два правила вместо десяти. Странно, как в голову не пришло.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru