Настройка IPFW

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
snorlov
подполковник
Сообщения: 3713
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Настройка IPFW

Непрочитанное сообщение snorlov » 2014-01-18 11:51:12

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

${FwCMD} add deny  tcp from any to any via ${Lan13}
Запретил tcp, но не udp, замени tcp на all и посмотри что получишь...

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

Аватара пользователя
Nolf
мл. сержант
Сообщения: 82
Зарегистрирован: 2013-03-20 22:03:07
Откуда: Ukraine, Kiev
Контактная информация:

Re: Настройка IPFW

Непрочитанное сообщение Nolf » 2014-01-18 11:56:33

snorlov писал(а):

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

${FwCMD} add deny  tcp from any to any via ${Lan13}
Запретил tcp, но не udp, замени tcp на all и посмотри что получишь...
Не помогло :st:
-= No One Lives Forever =-

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Настройка IPFW

Непрочитанное сообщение FreeBSP » 2014-01-18 14:26:48

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

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

FwCMD="/sbin/ipfw -q"
Lan13="igb0"
Lan172="igb1"


${FwCMD} -f flush

# Loopback
${FwCMD} add allow ip from any to any via lo0
# а кроме lo0 127,0,0,0/8 нигде и не ходит, значит дропаем
${FwCMD} add deny ip from any to 127.0.0.0/8  
${FwCMD} add deny ip from 127.0.0.0/8 to any

# icmp
# пока оставим так
${FwCMD} add allow icmp from any to any via ${Lan13}
${FwCMD} add allow icmp from any to any via ${Lan172}

# snmp server on Lan13
${FwCMD} add allow udp from any to me 161  in via ${Lan13} # request to me
${FwCMD} add allow udp from me 161 to any out via ${Lan13} # answer from me


# deny all other traffic on Lan13
${FwCMD} add deny all from any to any via ${Lan13}


# zabbix server tcp on Lan172
${FwCMD} add allow tcp from any to me 10050 in via ${Lan172} # request to me
${FwCMD} add allow tcp from me 10050 to any out via ${Lan172} # answer from me

# zabbix server udp : todo
# zabbix trap: ???

# deny any other traffic on Lan172
${FwCMD} add deny all from any to any via ${Lan172}

# deny any other traffic
${FwCMD} add deny all from any to any
жду вопросов по рулсету, что непонятно
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Настройка IPFW

Непрочитанное сообщение FreeBSP » 2014-01-18 14:42:00

Nolf писал(а):
FreeBSP писал(а):
3) разрешение пакета в одну сторону на одном интерфейсе не разрешает прохождение этого же пакета нигде еще, и не разрешает прохождение ответа( в stateless файерфоле, а начинать надо именно со stateless)

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

${FwCMD} add allow ip from 10.0.1.0/24 to 10.0.1.45 10050-10051 via ${Lan13} # Разрешить любой трафик с сети 10.0.1.0-10.0.1.255 на сервер по портам 10050-10051 на интерфейсе igb0 (входящий и исходящий трафик)
Nolf писал(а):... трафик с сети 10.0.1.1-10.0.1.255 на сервер ... (входящий и исходящий трафик)
в данной ситуации тут логическое противоречие
направление действительно не указано, но это не значит что все будет бегать. трафик из сети пойдет, а вот ответы с сервера в сеть - нет, потому что им явно не разрешено
То есть получается что бы был ответ с севреа в сеть нужно добавить правило:

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

${FwCMD} add allow ip from 10.0.1.45 to 10.0.1.0/24 10050-10051 via ${Lan13}
нет, так разрешится трафик в сеть НА ПОРТЫ, а не С ПОРТОВ
Nolf писал(а): Или в самом начале добавить правило:

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

${FwCMD} tcp from any to any established
Будет так:

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

${FwCMD} add allow tcp from any to any established
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 10050-10051 via ${Lan13}
Или есть 3-тий вариант использовать динамические правила, но к ним вернемся посже)
established - это уже динамика
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Nolf
мл. сержант
Сообщения: 82
Зарегистрирован: 2013-03-20 22:03:07
Откуда: Ukraine, Kiev
Контактная информация:

Re: Настройка IPFW

Непрочитанное сообщение Nolf » 2014-01-18 16:22:46

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

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

FwCMD="/sbin/ipfw -q"
Lan13="igb0"
Lan172="igb1"


${FwCMD} -f flush

# Loopback
${FwCMD} add allow ip from any to any via lo0
# а кроме lo0 127,0,0,0/8 нигде и не ходит, значит дропаем
${FwCMD} add deny ip from any to 127.0.0.0/8  
${FwCMD} add deny ip from 127.0.0.0/8 to any

# icmp
# пока оставим так
${FwCMD} add allow icmp from any to any via ${Lan13}
${FwCMD} add allow icmp from any to any via ${Lan172}

# snmp server on Lan13
${FwCMD} add allow udp from any to me 161  in via ${Lan13} # request to me
${FwCMD} add allow udp from me 161 to any out via ${Lan13} # answer from me


# deny all other traffic on Lan13
${FwCMD} add deny all from any to any via ${Lan13}


# zabbix server tcp on Lan172
${FwCMD} add allow tcp from any to me 10050 in via ${Lan172} # request to me
${FwCMD} add allow tcp from me 10050 to any out via ${Lan172} # answer from me

# zabbix server udp : todo
# zabbix trap: ???

# deny any other traffic on Lan172
${FwCMD} add deny all from any to any via ${Lan172}

# deny any other traffic
${FwCMD} add deny all from any to any
жду вопросов по рулсету, что непонятно

Удалил динамику, по большому это zabbix сервер, и смотрит только в локальные сети. Фаервол нужен что бы сервер небыл шлюзом для этих сетей.

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

FwCMD="/sbin/ipfw -q"
Lan13="igb0"
Lan172="igb1"

${FwCMD} -f flush
${FwCMD} add allow ip from any to any via lo0
#${FwCMD} add allow tcp from any to any established
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

# icmp
${FwCMD} add allow icmp from any to any via ${Lan13}
${FwCMD} add allow icmp from any to any via ${Lan172}

# zabbix server agent
${FwCMD} add allow tcp from any to me 10050 in via ${Lan13}
${FwCMD} add allow tcp from me to any 10050 out via ${Lan13}

# snmp мониторинг
${FwCMD} add allow udp from any to me 161 in via ${Lan13}
${FwCMD} add allow udp from me 161 to any out via ${Lan13}

# smtp (zabbix сообщения)
${FwCMD} add allow tcp from me 25 to any out via ${Lan13}

#ssh
${FwCMD} add allow tcp from any to me 22 in via ${Lan13}
${FwCMD} add allow tcp from me to any out via ${Lan13}

#ntp синхронизация
${FwCMD} add allow udp from any to me 123 in via ${Lan13}
${FwCMD} add allow udp from me to any 123 out via ${Lan13}

# web
${FwCMD} add allow tcp from any to me 80 via ${Lan13}

#dns
${FwCMD} add allow tcp from any to me 53 via ${Lan13}
${FwCMD} add allow tcp from me to any 53 via ${Lan13}
${FwCMD} add allow udp from any to me 53 via ${Lan13}
${FwCMD} add allow udp from me to any 53 via ${Lan13}

${FwCMD} add deny all from any to any via ${Lan13}

# zabbix agent
${FwCMD} add allow tcp from any to me 10050 in via ${Lan172}
${FwCMD} add allow tcp from me 10050 to any out via ${Lan172}
${FwCMD} add deny ip from any to any via ${Lan172}
С данным рулсетом работает только web и ssh больше ничего... если добавить established, что бы создавались правила, заработает zabbix, всеровно не будет работать snmp, dns, smtp, ntp.
Вот только почему, открыто все логически.
-= No One Lives Forever =-

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Настройка IPFW

Непрочитанное сообщение FreeBSP » 2014-01-18 16:44:01

чтобы не был шлюзом достаточно выключить форвардинг и все, файер не нужен
почему порты в одном месте в конце правила, а в другом посередине? какая цель?
напрмер правила разрешат ЗАПРОСЫ откуда угодно к этому серверу и от него к любому ntp сереру. но ОТВЕТЫ на эти запросы не разрешены

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

#ntp синхронизация
${FwCMD} add allow udp from any to me 123 in via ${Lan13}
${FwCMD} add allow udp from me to any 123 out via ${Lan13}
потоки трафика какие? кто куда зачем ходит и что на сервере крутится?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Nolf
мл. сержант
Сообщения: 82
Зарегистрирован: 2013-03-20 22:03:07
Откуда: Ukraine, Kiev
Контактная информация:

Re: Настройка IPFW

Непрочитанное сообщение Nolf » 2014-01-18 16:53:35

FreeBSP писал(а):чтобы не был шлюзом достаточно выключить форвардинг и все, файер не нужен
почему порты в одном месте в конце правила, а в другом посередине? какая цель?
напрмер правила разрешат ЗАПРОСЫ откуда угодно к этому серверу и от него к любому ntp сереру. но ОТВЕТЫ на эти запросы не разрешены

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

#ntp синхронизация
${FwCMD} add allow udp from any to me 123 in via ${Lan13}
${FwCMD} add allow udp from me to any 123 out via ${Lan13}
потоки трафика какие? кто куда зачем ходит и что на сервере крутится?

Видимо ошибся, должно быть:

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

#ntp синхронизация
${FwCMD} add allow udp from any to me 123 in via ${Lan13}
${FwCMD} add allow udp from me 123 to any out via ${Lan13}
В сети есть ntp севрер, хотел разрешить синхронизацию времени.
-= No One Lives Forever =-

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Настройка IPFW

Непрочитанное сообщение FreeBSP » 2014-01-18 19:02:39

ну тогда надо разрешить трафик от тебя к ntp и обратно
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Nolf
мл. сержант
Сообщения: 82
Зарегистрирован: 2013-03-20 22:03:07
Откуда: Ukraine, Kiev
Контактная информация:

Re: Настройка IPFW

Непрочитанное сообщение Nolf » 2014-01-18 19:47:51

Все заработало, вот только пришлось правил дописать:

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

FwCMD="/sbin/ipfw -q"
Lan13="igb0"
Lan172="igb1"

${FwCMD} -f flush
${FwCMD} add allow ip from any to any via lo0
#${FwCMD} add allow tcp from any to any established
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

${FwCMD} add allow icmp from any to any via ${Lan13}
${FwCMD} add allow icmp from any to any via ${Lan172}


${FwCMD} add allow tcp from any to me 10050 via ${Lan13}
${FwCMD} add allow tcp from any 10050 to me via ${Lan13}
${FwCMD} add allow tcp from me to any 10050 via ${Lan13}
${FwCMD} add allow tcp from me 10050 to any via ${Lan13}

${FwCMD} add allow udp from any to me 161 via ${Lan13}
${FwCMD} add allow udp from any 161 to me via ${Lan13}
${FwCMD} add allow udp from me to any 161 via ${Lan13}
${FwCMD} add allow udp from me 161 to any via ${Lan13}

${FwCMD} add allow tcp from any to any 25 via ${Lan13}
${FwCMD} add allow tcp from any 25 to any via ${Lan13}
${FwCMD} add allow tcp from me to any 25 via ${Lan13}
${FwCMD} add allow tcp from me 25 to any via ${Lan13}

${FwCMD} add allow tcp from any to me 22 via ${Lan13}
${FwCMD} add allow tcp from any 22 to me via ${Lan13}
${FwCMD} add allow tcp from me to any 22 via ${Lan13}
${FwCMD} add allow tcp from me 22 to any via ${Lan13}

${FwCMD} add allow udp from 10.0.1.30 to me 123 via ${Lan13}
${FwCMD} add allow udp from 10.0.1.30 123 to me via ${Lan13}
${FwCMD} add allow udp from me to 10.0.1.30 123 via ${Lan13}
${FwCMD} add allow udp from me 123 to 10.0.1.30 via ${Lan13}

${FwCMD} add allow tcp from any to me 80 via ${Lan13}
${FwCMD} add allow tcp from any 80 to me via ${Lan13}
${FwCMD} add allow tcp from me to any 80 via ${Lan13}
${FwCMD} add allow tcp from me 80 to any via ${Lan13}

${FwCMD} add allow tcp from any to me 53 via ${Lan13}
${FwCMD} add allow tcp from any 53 to me via ${Lan13}
${FwCMD} add allow tcp from me to any 53 via ${Lan13}
${FwCMD} add allow tcp from me 53 to any via ${Lan13}
${FwCMD} add allow udp from any to me 53 via ${Lan13}
${FwCMD} add allow udp from any 53 to me via ${Lan13}
${FwCMD} add allow udp from me to any 53 via ${Lan13}
${FwCMD} add allow udp from me 53 to any via ${Lan13}

${FwCMD} add deny all from any to any via ${Lan13}

${FwCMD} add allow tcp from any to me 10050 via ${Lan172}
${FwCMD} add allow tcp from any 10050 to me via ${Lan172}
${FwCMD} add allow tcp from me to any 10050 via ${Lan172}
${FwCMD} add allow tcp from me 10050 to any via ${Lan172}
${FwCMD} add allow udp from any to me 161 via ${Lan172}
${FwCMD} add allow udp from any 161 to me via ${Lan172}
${FwCMD} add allow udp from me to any 161 via ${Lan172}
${FwCMD} add allow udp from me 161 to any via ${Lan172}

${FwCMD} add deny all from any to any via ${Lan172}
Я так полнял что бы оптимизировать (уменьшить) правила нужно использовать динамические правила?
-= No One Lives Forever =-

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Настройка IPFW

Непрочитанное сообщение FreeBSP » 2014-01-19 2:38:27

нужно понятЬ, ЧТО происходит сгруппировать по этому признаку и убрать лишнее =)
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Настройка IPFW

Непрочитанное сообщение FreeBSP » 2014-01-20 21:39:13

как успехи?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Nolf
мл. сержант
Сообщения: 82
Зарегистрирован: 2013-03-20 22:03:07
Откуда: Ukraine, Kiev
Контактная информация:

Re: Настройка IPFW

Непрочитанное сообщение Nolf » 2014-01-20 22:34:21

FreeBSP писал(а):как успехи?
пару дней выходного) в среду вернусь на работу и продолжу)))

P.s. Еще раз спасибо, что сразу не дали ответ на мои вопросы... думаю что в противном случаи не разобрался бы.
-= No One Lives Forever =-