Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок
Модераторы: vadim64, terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-14 20:57:57
Всем привет.
Возникла проблема с ipfw, а именно если стоит только правило 65535 deny ip from any to any, все прекрасно отрабатывает...
Добавил следубщие правила:
Код: Выделить всё
${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add allow ip from any to any via ${Lan13}
${FwCMD} add deny ip from any to any 10050 via ${Lan13}
Хочу закрыть порт 10050 на интерфейсе Lan13, но почему то не отрабатывает((( telnet на 10050 проходит...
Помогите разобраться что не так делаю?
Последний раз редактировалось
Alex Keda 2014-01-14 21:01:56, всего редактировалось 1 раз.
Причина: Товарищщи! Цените чужое время, юзайте кнопочку [code]...
-= No One Lives Forever =-
Nolf
-
Хостинг HostFood.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/
-
Alex Keda
- стреляли...
- Сообщения: 35436
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2014-01-14 21:02:41
два последних правила местами махните
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-14 21:11:11
Спасибо помогло, но вот написал еще правила:
Код: Выделить всё
${FwCMD} add deny ip from any to any via ${Lan13}
${FwCMD} add allow ip from any to any 10050-10051 via ${Lan13}
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 22 via ${Lan13}
${FwCMD} add allow udp from 10.0.1.30 to 10.0.1.45 123 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 80 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 53 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 67,68 via ${Lan13}
10.0.1.45 -адрес сервера на ктором настраиваю ipfw
Закрыть все, кроме портов 10050-10051, а также открыть ssh, ntp, web, dns и dhcp запросы... но почему то тоже не работает( Подскажите что в данном случаи не так?
-= No One Lives Forever =-
Nolf
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-14 21:23:14
Пробовал без ${FwCMD} add deny ip from any to any via ${Lan13}
но всеровно не помогает...
-= No One Lives Forever =-
Nolf
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-14 21:57:30
Нужно на сервере 10.0.1.45 закрыть все на интерфейсе igb0(${Lan13}) кроме портов 10050-10051, ssh, ntp, web, dns и dhcp.
А то что то не как не могу понять причину того что не работает(((((
-= No One Lives Forever =-
Nolf
-
snorlov
- подполковник
- Сообщения: 3924
- Зарегистрирован: 2008-09-04 11:51:25
- Откуда: Санкт-Петербург
Непрочитанное сообщение
snorlov » 2014-01-14 22:49:59
Найдите статью про ipfw на сайте и внимательно прочитайте...
snorlov
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-15 1:23:16
snorlov писал(а):Найдите статью про ipfw на сайте и внимательно прочитайте...
Читал, но как видите не понял... вот поэтому и обратился за помощью.

Буду благодарен за любую помощь или как говорится ткните в ошибку носом)

Nolf
-
lazhu
- сержант
- Сообщения: 254
- Зарегистрирован: 2013-08-10 14:28:38
-
Контактная информация:
Непрочитанное сообщение
lazhu » 2014-01-15 8:48:24
Nolf писал(а):Спасибо помогло, но вот написал еще правила:
Код: Выделить всё
${FwCMD} add deny ip from any to any via ${Lan13}
${FwCMD} add allow ip from any to any 10050-10051 via ${Lan13}
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 22 via ${Lan13}
${FwCMD} add allow udp from 10.0.1.30 to 10.0.1.45 123 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 80 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 53 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 67,68 via ${Lan13}
10.0.1.45 -адрес сервера на ктором настраиваю ipfw
Закрыть все, кроме портов 10050-10051, а также открыть ssh, ntp, web, dns и dhcp запросы... но почему то тоже не работает( Подскажите что в данном случаи не так?
deny в конец переместите
lazhu
-
FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Непрочитанное сообщение
FreeBSP » 2014-01-15 12:56:35
у меня предложение получше: разберитесь хотя бы с базовой схемой прохождения трафика через сетевой стек и файерволл
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
FreeBSP
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-15 20:44:51
Может Вы и правы, опыта написание правил у меня нет, любой человек когда то чего то не умеет делать... но как по мне главное желание и стремления чего то добиться. Не могли бы Вы объяснить чем данные правила "странные"?
lazhu писал(а):Nolf писал(а):Спасибо помогло, но вот написал еще правила:
Код: Выделить всё
${FwCMD} add deny ip from any to any via ${Lan13}
${FwCMD} add allow ip from any to any 10050-10051 via ${Lan13}
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 22 via ${Lan13}
${FwCMD} add allow udp from 10.0.1.30 to 10.0.1.45 123 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 80 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 53 via ${Lan13}
${FwCMD} add allow tcp from any to 10.0.1.45 67,68 via ${Lan13}
10.0.1.45 -адрес сервера на ктором настраиваю ipfw
Закрыть все, кроме портов 10050-10051, а также открыть ssh, ntp, web, dns и dhcp запросы... но почему то тоже не работает( Подскажите что в данном случаи не так?
deny в конец переместите
Спасибо попробую.
Если я правильно понял, то если хочешь что то определенное закрыт, а все остальное открыть:
Код: Выделить всё
${FwCMD} add deny ip from 10.0.1.0/24 to 10.0.1.45 22 via ${Lan13}
${FwCMD} add allow ip from any to any via ${Lan13}
А если хочешь что то открыть, а все остальное закрыть:
Код: Выделить всё
${FwCMD} add allow ip from 10.0.1.0/24 to 10.0.1.45 22 via ${Lan13}
${FwCMD} add deny ip from any to any via ${Lan13}
-= No One Lives Forever =-
Nolf
-
mak_v_
- проходил мимо
Непрочитанное сообщение
mak_v_ » 2014-01-15 21:02:13
Разберитесь хоя-бы как пакеты попадают под правила и как срабатывают правила.
mak_v_
-
fedextm
- рядовой
- Сообщения: 36
- Зарегистрирован: 2011-06-02 10:18:16
Непрочитанное сообщение
fedextm » 2014-01-15 21:14:54
Мне не понятно, сколько у Вас локальных интерфейсов, сколько внешних. Какие маршруты в сети, поэтому и не понятно что, куда должно ходить. Странные правила, потомучто нет понимания, а не из-за того что они не синтаксически или логически не верны.
fedextm
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-15 23:16:27
fedextm писал(а):Мне не понятно, сколько у Вас локальных интерфейсов, сколько внешних. Какие маршруты в сети, поэтому и не понятно что, куда должно ходить.
1 интерфейс, 1 сеть.
fedextm писал(а):Странные правила, потому что нет понимания, а не из-за того что они не синтаксически или логически не верны.
Хотелось бы научится понимать... тока вот как то пока не получилось в теории, решил пробовать на практике...
mak_v_ писал(а):Разберитесь хоя-бы как пакеты попадают под правила и как срабатывают правила.
Хотелось бы... но в хендбук пока не помог до конца понять...
-= No One Lives Forever =-
Nolf
-
FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Непрочитанное сообщение
FreeBSP » 2014-01-16 1:16:58
на этом сайте есть статьи, почитайте. в частности статья "сложные случаи прохождения пакетов.."
основное:
1) пакет попадает в файерволл на каждом интерйфейсе,
2) (в IPFW) на первом правиле, под которое подходит пакет, пакет выходит из файерволла, или дропается, в зависимости от правила.
3) разрешение пакета в одну сторону на одном интерфейсе не разрешает прохождение этого же пакета нигде еще, и не разрешает прохождение ответа( в stateless файерфоле, а начинать надо именно со stateless)
ну и нужно разбираться в основах адресации, маршрутизации, понимать общее строение сетевого стека.. вроде ничего не забыл
будет это все - можно и обсуждать рулсет. понятно, что хочется практиковаться, но если упираешься в незнание/непонимание = то надо восполнять недостаток теории.
вот задача: осознать все вышенаписанное, разобраться с прохождением пакетов и откомментировать написаный рулсет, вот прям каждое правило когда и что оно делает с пакетами. потом расписать прохождение пакетов через эти правила
на закуcку:
http://ru.wikipedia.org/wiki/%D0%A1%D0% ... %D1%8C_OSI
http://ru.wikipedia.org/wiki/%D0%A1%D1% ... %B2_TCP/IP
http://ru.wikipedia.org/wiki/IP
http://ru.wikipedia.org/wiki/ICMP
http://ru.wikipedia.org/wiki/TCP
http://ru.wikipedia.org/wiki/UDP
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
FreeBSP
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-16 13:04:38
Спасибо за информацию. Много интересного нашел, как говорится есть куда учится) Но пока остановимся на элементарных правилах.
Ниже описал правила те что хочу применить.
Код: Выделить всё
#!/bin/sh
FwCMD="ipfw -q add"
Lan13="igb0"
Lan14="igb1"
${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0 # Разрешить любой трафик по внутреннему интерфейсу.
${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 (входящий и исходящий трафик)
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 22 via ${Lan13} # Разрешаем ssh
${FwCMD} add allow udp from 10.0.1.30 to 10.0.1.45 123 via ${Lan13} # Разрешить только UDP c сервера 10.0.1.30 на мой сервер по 123 порту
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 80 via ${Lan13} # Разрешаем web
${FwCMD} add allow tcp from 10.0.1.0/24 to 10.0.1.45 53 via ${Lan13} # Разрешаем DNS
${FwCMD} add deny ip from any to any via ${Lan13} # А данным правилом запрещаем все что не разрешено више на интерфейсе igb0
# На втором интерфейсе разрешаем только in и out трафик на порт 10050, все остальной запрещаем
${FwCMD} add deny ip from any to any via ${Lan14}
${FwCMD} add allow ip from 10.0.2.0/24 to 10.0.2.45 10050 via ${Lan14}
-= No One Lives Forever =-
Nolf
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-16 13:12:16
Код: Выделить всё
# На втором интерфейсе разрешаем только in и out трафик на порт 10050, все остальной запрещаем
${FwCMD} add allow ip from 10.0.2.0/24 to 10.0.2.45 10050 via ${Lan14}
${FwCMD} add deny ip from any to any via ${Lan14}
-= No One Lives Forever =-
Nolf
-
FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Непрочитанное сообщение
FreeBSP » 2014-01-16 21:42:36
Код: Выделить всё
${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 (входящий и исходящий трафик)
найти и обосновать ошибку

в описании
советую перечитать три положения из моего прошлого поста
с многими остальными правилами такой же косяк4
и убрать чек-стейт. или обосновать зачем он нужен
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
FreeBSP
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-17 10:27:05
FreeBSP писал(а):Код: Выделить всё
${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 (входящий и исходящий трафик)
найти и обосновать ошибку

в описании
советую перечитать три положения из моего прошлого поста
с многими остальными правилами такой же косяк4
и убрать чек-стейт. или обосновать зачем он нужен
Правильней будет написать описание вот так: Разрешить любой трафик с сети 10.0.1.1-10.0.1.255 на сервер по портам 10050-10051 на интерфейсе igb0 (входящий и исходящий трафик)
Что качается check-state то учитывая что я не использую динамические правила то данная команда не уместна.
-= No One Lives Forever =-
Nolf
-
FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Непрочитанное сообщение
FreeBSP » 2014-01-17 10:40:12
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 на сервер ... (входящий и исходящий трафик)
в данной ситуации тут логическое противоречие
направление действительно не указано, но это не значит что все будет бегать. трафик из сети пойдет, а вот ответы с сервера в сеть - нет, потому что им явно не разрешено
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
FreeBSP
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-17 15:35:52
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}
Или в самом начале добавить правило:
Будет так:
Код: Выделить всё
${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-тий вариант использовать динамические правила, но к ним вернемся посже)
-= No One Lives Forever =-
Nolf
-
snorlov
- подполковник
- Сообщения: 3924
- Зарегистрирован: 2008-09-04 11:51:25
- Откуда: Санкт-Петербург
Непрочитанное сообщение
snorlov » 2014-01-17 16:53:07
В основном правильно, еще раз читаем статья и включаем извилины, понимаем, что пакеты могут не только приходить/уходить с интерйфейса/файера, но видоизменяться внутри файера...
P.S.Файер, дело(тело

) достаточно тонкое и гибкое...
snorlov
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-17 21:46:38
Всем огромниешое спасибо за Вашу помощь. Потихонбку начал разбираться.
Но вот мне не очень понятно пока один моммент, а именно почему не работает правила:
Код: Выделить всё
${FwCMD} add allow udp from any to me 161 in via ${Lan13}
${FwCMD} add allow udp from me 161 to any out via ${Lan13}
а вот динамическрое правило:
Код: Выделить всё
${FwCMD} add allow udp from any to any 161 keep-state
работает. Такая же ситуация и с открытием dns... Объясните пожалуйста почему так? Вроде как все логически но не работает

-= No One Lives Forever =-
Nolf
-
FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Непрочитанное сообщение
FreeBSP » 2014-01-18 1:28:33
весь рулсет покажи. двух первых правил достаточно для работы snmp
НО
третье правило сильно отличается от того что делают первые два
ну и проверь в тот ли интерфейс шнурок воткнут

Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
FreeBSP
-
Nolf
- мл. сержант
- Сообщения: 91
- Зарегистрирован: 2013-03-20 22:03:07
- Откуда: Ukraine, Kyiv
Непрочитанное сообщение
Nolf » 2014-01-18 11:18:52
FreeBSP писал(а):весь рулсет покажи. двух первых правил достаточно для работы snmp
НО
третье правило сильно отличается от того что делают первые два
ну и проверь в тот ли интерфейс шнурок воткнут

Привожу весь рулсет:
Код: Выделить всё
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 allow icmp from any to any via ${Lan13}
${FwCMD} add allow tcp from any to me 10050 in via ${Lan13}
${FwCMD} add allow tcp from me to any 10050 out via ${Lan13}
${FwCMD} add allow tcp from any to me 10051 in via ${Lan13}
${FwCMD} add allow tcp from me to any 10051 out via ${Lan13}
${FwCMD} add allow udp from any to any 161 keep-state
#${FwCMD} add allow udp from any to me 161 in via ${Lan13}
#${FwCMD} add allow udp from me 161 to any out via ${Lan13}
${FwCMD} add allow tcp from any to any 25 keep-state
#${FwCMD} add allow tcp from me 25 to any out via ${Lan13}
${FwCMD} add allow tcp from any to me 22 via ${Lan13}
${FwCMD} add allow udp from any to any 123 keep-state
#${FwCMD} add allow udp from any to me 123 in via ${Lan13}
#${FwCMD} add allow udp from me to any 123 out via ${Lan13}
${FwCMD} add allow tcp from any to me 80 via ${Lan13}
${FwCMD} add allow udp from any to any 53 keep-state
#${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 tcp from any to any via ${Lan13}
${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}
ntp, dns, smtp, snmp работают только динамические правила, все остальное работает нормально (zabbix, web, ssh, ping

)
-= No One Lives Forever =-
Nolf