URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 4049
[ Назад ]

Исходное сообщение
"пакеты на дефолтном правиле ipfw"

Отправлено roman_d , 06-Июл-13 06:12 
Здравствуйте!

Этот вопрос, наверное, сто раз уже задавали но хоть убейте, не могу найти ответ.
Вопрос такой: откуда постоянно появляются какие-то пакеты на дефолтном правиле ipfw? Причём именно постоянно, а не только при загрузке или изменении конфигурации ipfw.

Хвост списка правил:
00501   19460    2198109 deny log ip from any to any in recv rl1
00502    5528     315327 deny log ip from any to any out xmit rl1
00999       0          0 deny log ip from any to any
65535     149       9543 allow ip from any to any

Каким образом пакеты проходят "deny ip from any to any" и попадают в "allow ip from any to any"? Идентичные же, по сути, правила.


Содержание

Сообщения в этом обсуждении
"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 06-Июл-13 06:44 
>[оверквотинг удален]
> 00502    5528     315327 deny log
> ip from any to any out xmit rl1
> 00999       0    
>      0 deny log ip from any
> to any
> 65535     149      
> 9543 allow ip from any to any
> Каким образом пакеты проходят "deny ip from any to any" и попадают
> в "allow ip from any to any"? Идентичные же, по сути,
> правила.

Так вы там, в последнем правиле, также логирование включите
и посмотрите, что там такое происходит.
Туда сыплются пакеты проходящие через интерфейс lo0


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 06-Июл-13 07:17 
> Так вы там, в последнем правиле, также логирование включите
> и посмотрите, что там такое происходит.
> Туда сыплются пакеты проходящие через интерфейс lo0

Дефолтное правило не редактируется, насколько мне известно. Как на нём можно включить логгирование?

Пакеты, проходящие через lo0 отсеиваются предыдущим правилом - я не привёл его, но оно есть.


"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 06-Июл-13 07:21 
>> Так вы там, в последнем правиле, также логирование включите
>> и посмотрите, что там такое происходит.
>> Туда сыплются пакеты проходящие через интерфейс lo0
> Дефолтное правило не редактируется, насколько мне известно. Как на нём можно включить
> логгирование?
> Пакеты, проходящие через lo0 отсеиваются предыдущим правилом - я не привёл его,
> но оно есть.

Ну так добавьте ручками перед последним правилом
add 65534 allow log all from any to any


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 06-Июл-13 07:33 
> Ну так добавьте ручками перед последним правилом
> add 65534 allow log all from any to any

Простите, но в чём принципиальная разница с моим вариантом?
00999 deny log ip from any to any


"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 06-Июл-13 07:38 
>> Ну так добавьте ручками перед последним правилом
>> add 65534 allow log all from any to any
> Простите, но в чём принципиальная разница с моим вариантом?
> 00999 deny log ip from any to any

Ещё тест на внимательность.
Разницу между deny и allow видите?
Это и есть _принципиальная_ разница.
Вы же хотите узнать, что попадает, то есть проходит,
то есть разрешено, а не запрещено?


"пакеты на дефолтном правиле ipfw"
Отправлено PavelR , 06-Июл-13 08:53 
>>> Ну так добавьте ручками перед последним правилом
>>> add 65534 allow log all from any to any
>> Простите, но в чём принципиальная разница с моим вариантом?
>> 00999 deny log ip from any to any
> Ещё тест на внимательность.
> Разницу между deny и allow видите?

Я не вижу. Разжуйте мне разницу, но не в контексте отдельного правила,
а в контексте, как эти два правила работают вместе:

00999       0          0 deny log ip from any to any
65535     149       9543 allow ip from any to any



"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 06-Июл-13 09:30 
>[оверквотинг удален]
>>> 00999 deny log ip from any to any
>> Ещё тест на внимательность.
>> Разницу между deny и allow видите?
> Я не вижу. Разжуйте мне разницу, но не в контексте отдельного правила,
> а в контексте, как эти два правила работают вместе:
> 00999       0    
>      0 deny log ip from any
> to any
> 65535     149      
> 9543 allow ip from any to any

Правило 65535 дефолтное правило.
Оно загружается первым, ядро собрано с
options IPFIREWALL_DEFAULT_TO_ACCEPT

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

После загрузки счетчики будут оставаться неизменными.
А счетчики с правилом перед 65535 с deny будут увеличиваться.


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 06-Июл-13 10:17 
>>>>Вопрос такой: откуда постоянно появляются какие-то пакеты
>>>>на дефолтном правиле ipfw? Причём именно постоянно,
>>>>а не только при загрузке или изменении конфигурации ipfw.
>>>>а не только при загрузке или изменении конфигурации ipfw.
>>>>а не только при загрузке или изменении конфигурации ipfw.
>>> Ещё тест на внимательность.

Простите, пожалуйста, не удержался.


"пакеты на дефолтном правиле ipfw"
Отправлено PavelR , 06-Июл-13 12:13 
>[оверквотинг удален]
>>>> 00999 deny log ip from any to any
>>> Ещё тест на внимательность.
>>> Разницу между deny и allow видите?
>> Я не вижу. Разжуйте мне разницу, но не в контексте отдельного правила,
>> а в контексте, как эти два правила работают вместе:
>> 00999       0
>>      0 deny log ip from any
>> to any
>> 65535     149
>> 9543 allow ip from any to any

[какое-то непонятное объяснение skipped]

>Ещё тест на внимательность.
>Разницу между deny и allow видите?
>Это и есть _принципиальная_ разница.

Так в чем _принципиальная_ разница между этими правилами, в контексте обсуждаемого вопроса?
Вы вот взяли, попытались выделиться тем, что, мол, знаете какую-то _принципиальную_ разницу.

Зачем так делать, если этой принципиальной разницы нет? Пальцы были выгнуты порожняком.


"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 06-Июл-13 12:54 
>[оверквотинг удален]
>>> to any
>>> 65535     149
>>> 9543 allow ip from any to any
> [какое-то непонятное объяснение skipped]
>>Ещё тест на внимательность.
>>Разницу между deny и allow видите?
>>Это и есть _принципиальная_ разница.
> Так в чем _принципиальная_ разница между этими правилами, в контексте обсуждаемого вопроса?
> Вы вот взяли, попытались выделиться тем, что, мол, знаете какую-то _принципиальную_ разницу.
> Зачем так делать, если этой принципиальной разницы нет? Пальцы были выгнуты порожняком.

Хы, если у кого и присутствует распальцовка, то уж точно не у меня.

Персонально для вас, "разжёвываю".

Правило 65535 задаёт политику фаервола системы по умолчанию.
Запретительную или разрешительную.

Если в ядро добавлена опция
options IPFIREWALL_DEFAULT_TO_ACCEPT
то последнее правило при загрузке будет
65535 allow ip from any to any

То есть пакеты будут пропускаться фаерволом.

Если же вышеуказанной опции в ядре нет (с ней не собирали),
то последнее правило будет
65535 deny ip from any to any

То есть политика фаервола запретительная.

Ну и разумеется, при загрузке система ничего не знает
о дополнительных правилах фаервола добавленных, пользователем.
Их может и не быть вовсе.

Но система стартовать должна и загружает базис, фундамент, так сказать, то есть основное правило 65535
А вот deny оно или allow это и зависит от вышесказанного.
И пакеты успевают попасть под это правило, до загрузки остальных пользовательских правил.

После загрузки пользовательских правил, последнее не будет изменяться
если перед ним, предпоследним, добавлено правило с any to any
Причём не важно, deny оно или allow

Вот и вся принципиальная разница.
Если вы этого не видите, это ваши проблемы.
Я разжевал, проглотите?


"пакеты на дефолтном правиле ipfw"
Отправлено PavelR , 06-Июл-13 13:24 
> Вот и вся принципиальная разница.
> Если вы этого не видите, это ваши проблемы.
> Я разжевал, проглотите?

Вы отвечаете не по теме моего вопроса.
Чтобы вам было понятнее, разжую мой вопрос вам.

человек приводит правила:

>00999       0          0 deny log ip from any to any
>65535     149       9543 allow ip from any to any

вы ему советуете:

>Ну так добавьте ручками перед последним правилом
>add 65534 allow log all from any to any

он спрашивает:

>Простите, но в чём принципиальная разница с моим вариантом?
>00999 deny log ip from any to any

вы ему отвечаете:

>Разницу между deny и allow видите?
>Это и есть _принципиальная_ разница.

Этим самым вы утверждаете, что на наборе правил, где deny заменен на allow, т.е так:

00999       0          0 allow log ip from any to any
65535     149       9543 allow ip from any to any


счетчики будут вести себя _принципиально_ по-другому.

Убедите меня в том, что они будут вести себя по-другому. Пока у вас это не получилось и ваше сообщение www.opennet.ru/openforum/vsluhforumID15/4049.html#5 - пустое пальцегнутие.
Собственно, что ваш вышеприведенный ответ, что ваше сообщение #5 - всё это всё ответы не по теме вопроса, на который вы отвечаете.


"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 06-Июл-13 13:36 
>[оверквотинг удален]
>      0 allow log ip from any
> to any
> 65535     149      
> 9543 allow ip from any to any
> счетчики будут вести себя _принципиально_ по-другому.
> Убедите меня в том, что они будут вести себя по-другому. Пока у
> вас это не получилось и ваше сообщение www.opennet.ru/openforum/vsluhforumID15/4049.html#5
> - пустое пальцегнутие.
> Собственно, что ваш вышеприведенный ответ, что ваше сообщение #5 - всё это
> всё ответы не по теме вопроса, на который вы отвечаете.

Не передёргивайте.
Вы что, действительно не видите разницы?!
У него логирование стоит на deny, а хочет узнать, что проходит в allow.
Я ему советую поставить логирование на allow
deny log all from any to any
allow log all from any to any
что именно логировать разницу видите?
Отброшенные или пропущенные пакеты?


"пакеты на дефолтном правиле ipfw"
Отправлено PavelR , 07-Июл-13 11:49 
>[оверквотинг удален]
>> всё ответы не по теме вопроса, на который вы отвечаете.
> Не передёргивайте.
> Вы что, действительно не видите разницы?!
> У него логирование стоит на deny, а хочет узнать, что проходит в
> allow.
> Я ему советую поставить логирование на allow
> deny log all from any to any
> allow log all from any to any
> что именно логировать разницу видите?
> Отброшенные или пропущенные пакеты?

А есть принципиальная разница ? До правила дойдут ровно те же пакеты и счетчики должны расти точно также. Ну может быть будут больше расти, т.к. соединение установится и будет большая активность.


"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 07-Июл-13 12:57 
>[оверквотинг удален]
>> У него логирование стоит на deny, а хочет узнать, что проходит в
>> allow.
>> Я ему советую поставить логирование на allow
>> deny log all from any to any
>> allow log all from any to any
>> что именно логировать разницу видите?
>> Отброшенные или пропущенные пакеты?
> А есть принципиальная разница ? До правила дойдут ровно те же пакеты
> и счетчики должны расти точно также. Ну может быть будут больше
> расти, т.к. соединение установится и будет большая активность.

Всё-всё. Я сдаюсь, вы победили.
Разницы нету. Никакой.


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 09-Июл-13 06:23 
> Я ему советую поставить логирование на allow
> deny log all from any to any
> allow log all from any to any
> что именно логировать разницу видите?
> Отброшенные или пропущенные пакеты?

Мне кажется, я заметил неточность в Ваших рассуждениях.
Дело в том, что, насколько я понимаю, правило срабатывает на проходящий пакет в том случае, если пакет соответствует определенным _условиям_ (т.е. протокол, источник/адресат, направление, интерфейс). А логгирование как раз и отражает факт срабатывания правила.

Понимаете? Условие - срабатывание - логгирование - действие.

И вы как раз привносите в эту цепочку совершенно лишние соображения насчёт действия, которое предпринимается уже _после_ проверки условия и логгирования пакета. Они не то, чтобы совсем лишние, они лишние в контексте данной проблемы. Именно на это PavelR и пытался обратить Ваше внимание.

Позволю себе процитировать Вас же: "Это всё есть в man ipfw".
Очередной, прошу прощения, тест на внимательность.


"пакеты на дефолтном правиле ipfw"
Отправлено михалыч , 09-Июл-13 09:46 
>[оверквотинг удален]
> Дело в том, что, насколько я понимаю, правило срабатывает на проходящий пакет
> в том случае, если пакет соответствует определенным _условиям_ (т.е. протокол, источник/адресат,
> направление, интерфейс). А логгирование как раз и отражает факт срабатывания правила.
> Понимаете? Условие - срабатывание - логгирование - действие.
> И вы как раз привносите в эту цепочку совершенно лишние соображения насчёт
> действия, которое предпринимается уже _после_ проверки условия и логгирования пакета.
> Они не то, чтобы совсем лишние, они лишние в контексте данной
> проблемы. Именно на это PavelR и пытался обратить Ваше внимание.
> Позволю себе процитировать Вас же: "Это всё есть в man ipfw".
> Очередной, прошу прощения, тест на внимательность.

Ну да, кто бы говорил про внимательность.
http://www.opennet.me/openforum/vsluhforumID15/4049.html#21
Смотрим на приведённый вами "хвост списка правил"

00999       0          0 deny log ip from any to any
65535     149       9543 allow ip from any to any

что видим? Да нечто странное!
То, чего, по теории, быть не должно, да и не может быть.
Если счётчик пакетов правила 999 с deny по нулям, то откуда в таком случае на последнем правиле взялись пакеты?

Если будет с точностью до наоборот, то есть

999  allow ip from any to any
65535 deny ip from any to any

то и в таком случае, на последнем правиле счетчик по прежнему ДОЛЖЕН быть по нулям.
Опять же в теории. На практике же у вас картина другая.

Я всего лишь хотел вам подсказать, что логируемые пакеты, если они помечены как deny, БУДУТ попадать в /var/log/security
Но пакеты как allow (неважно, до этого правила или после) туда попадать НЕ будут. Не взирая ни на что. Потому как ключевое слово log отсутствует.
Вас же удивляло то, каким образом в последнее правило попадают пакеты.
Но лог по этому правилу вы не вели. И я вам изначально и советовал, добавить аналогичное предпоследнее правило с уже включённым логированием этих пакетов. Ведь невозможно отслеживать пакеты, логирование которых не включено!
Только тогда эти пакеты попали бы в /var/log/security и вы бы смогли их отследить, в теории!
Ибо на практике таких пакетов, после загрузки, не будет. Но это вы и сами увидели бы.

Но в добавок ко всему этому, тут, как всегда, вдруг оказывается, что самокат не мой (или не только мой), тут ещё люди на нём катаются, и чего-то там крутят, рычажки какие-то.

Так, что именно ВАША невнимательность, в конечном итоге и привела к этому пустому флейму.
А цитата про man ipfw - это прямое руководство к действию для вас, меньше подобных тем будет.


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 06-Июл-13 08:53 
> Ещё тест на внимательность.
> Разницу между deny и allow видите?
> Это и есть _принципиальная_ разница.
> Вы же хотите узнать, что попадает, то есть проходит,
> то есть разрешено, а не запрещено?

Понимаете, проблема в том, что какие-то пакеты проходят через пользовательские правила, невзирая на то, что эти правила, по идее, должны применяться ко всем пакетам (ip from any to any). Какое действие задано для этих правил - вопрос второстепенный.

Тем не менее, я добавил правило согласно Вашему совету. Посмотрим.


"пакеты на дефолтном правиле ipfw"
Отправлено PavelR , 06-Июл-13 08:54 
>> Так вы там, в последнем правиле, также логирование включите
>> и посмотрите, что там такое происходит.
>> Туда сыплются пакеты проходящие через интерфейс lo0
> Дефолтное правило не редактируется, насколько мне известно. Как на нём можно включить
> логгирование?
> Пакеты, проходящие через lo0 отсеиваются предыдущим правилом - я не привёл его,
> но оно есть.

Занулите дефолтное правило после загрузки системы.
Если после зануления счетчики всё таки начнут расти, сообщите.


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 06-Июл-13 08:58 
> Занулите дефолтное правило после загрузки системы.
> Если после зануления счетчики всё таки начнут расти, сообщите.

Сделано.

Насколько я понимаю, Вы считаете, что в моих условиях дефолтное правило всё-таки не должно срабатывать?



"пакеты на дефолтном правиле ipfw"
Отправлено PavelR , 06-Июл-13 12:09 
>> Занулите дефолтное правило после загрузки системы.
>> Если после зануления счетчики всё таки начнут расти, сообщите.
> Сделано.
> Насколько я понимаю, Вы считаете, что в моих условиях дефолтное правило всё-таки
> не должно срабатывать?

я считаю, что в это правило попадают пакеты в момент после загрузки ядра, но до загрузки набора ваших правил. Либо аналогичным образом, в моменты между ipfw flush и загрузкой нового набора правил.


"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 09-Июл-13 05:36 
>>> Если после зануления счетчики всё таки начнут расти, сообщите.

:-)
Не растут! Благодарю Вас за наводку!
Павел, вас даже неверные исходные данные не могут ввести в заблуждение!
http://www.opennet.me/openforum/vsluhforumID15/4049.html#21


"пакеты на дефолтном правиле ipfw"
Отправлено mr_gfd , 07-Июл-13 15:57 
sysctl net.inet.ip.fw.one_pass
?

"пакеты на дефолтном правиле ipfw"
Отправлено mr_gfd , 07-Июл-13 16:02 
net.inet6.ip6.fw.enable ?
ну и, для полноты картины,
ipfw -d show

"пакеты на дефолтном правиле ipfw"
Отправлено roman_d , 09-Июл-13 05:34 
Приношу свои извинения участникам обсуждения!

В исходных условиях задачи мною была допущена ошибка. Вот эта предпосылка: "причём именно постоянно, а не только при загрузке или изменении конфигурации ipfw" - оказалась ложной. С машиной работаю не только я и несколько раз без моего ведома конфигурация ipfw менялась.

Я этого в расчет не принял, и потому с удивлением смотрел на рост счётчика дефолтного правила.