LINUX.ORG.RU
ФорумAdmin

Архитектура разделения сетей/хостов и ipset

 ,


0

2

Всем привет.
Как вы делите возможных участников сетевого взаимодействия? Понятно, что black_list универсален. Далее как? По признакам local/remote? hosts/lans? trusted/untrusted?
Сижу ломаю голову. Есть по этому вопросу какие-либо фундаментальные наработки? Должно же быть оптимальное решение, задача ведь типовая.

★★★★★

Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от disarmer

Ну есть Сеть со всем содержимым. Если локальные сети. Есть всякие DMZ и прочие спец. «области». Бывают хосты, к которым есть особое отношение. Например, с них/к ним разрешено/запрещено. Или forward на них/с них. Количество таких вариантов может быть довольно большим, но оно явно конечно. Соответственно, возможно группировать. Далее, имеются соображения по поводу скорости обработки правил iptables, что означает, что дробить группирование очень сильно не нужно. По идее, должен быть баланс. Я так полагаю, это какая-то математическая задача, но моё образование не позволяет мне её распознать. Речь идёт об использовании в iptables на узловых сетевых машинах.
Неужели нет фундаментальных наработок по этому направлению?
Вспомнил сейчас слова «множества» и «подмножества». Которые могут пересекаться, а могут и не пересекаться.

targitaj ★★★★★
() автор топика
Последнее исправление: targitaj (всего исправлений: 2)
Ответ на: комментарий от disarmer

Задачу можно назвать «оптимизация файрволла» ))))

targitaj ★★★★★
() автор топика

Простой пример.
Делаю сет black_list для блокировки всех входящих соединений от хостов в Сети. Ок, прекрасно. А теперь мне захотелось заблокировать форвард из моих локалок на некоторые хосты в Сети. Будет ли оптимальным решением использовать ТОТ ЖЕ сет black_list, в который я добавлю нужные мне адреса или мне следует создать ОТДЕЛЬНЫЙ сет для конкретно этой задачи?

targitaj ★★★★★
() автор топика
Ответ на: комментарий от targitaj

Ясно. Думаю самым очевидным и наверняка самым производительным вариантом будет создание нескольких групп в ipset (по одной на каждое действие) и добавление ip или портов в них. Чем меньше групп/правил в iptables, тем больше производительности. Таким образом, чем меньше групп понадобится создать для решения задачи - тем лучше

Разве есть какие-то варианты лучше?

disarmer ★★★
()
Ответ на: комментарий от targitaj

Ну тут tradeoff, либо небольшие потери производительности и чуть более очевидное предназначение групп, либо наоборот. Я бы выбрал вариант с тем же сетом

disarmer ★★★
()
Последнее исправление: disarmer (всего исправлений: 1)
Ответ на: комментарий от disarmer

самым очевидным и наверняка самым производительным вариантом будет создание нескольких групп в ipset

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

targitaj ★★★★★
() автор топика
Ответ на: комментарий от targitaj

По таким, чтобы получилось как можно меньше правил в iptables. По каким признакам - будет зависеть от задач которые должен решать фаерволл. Универсального решения не может быть.

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

Ну и про человекочитаемость правил не стоит забывать, никакая производительность не стоит ошибки в фаерволе =)

disarmer ★★★
()
Последнее исправление: disarmer (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.