Уровень 2-доступная DMZ: ebtables?

368
iAdjunct

Я хотел бы создать топологию сети, в которой все устройства IoT (принтер, видеорегистратор, термостат, проигрыватель BluRay и т. Д.) Находятся в демилитаризованной зоне, а остальные мои устройства - в локальной сети. Обратите внимание, что использование DMZ здесь отличается от настроек DMZ на маршрутизаторах и относится к «зоне сети, в которую я помещаю устройства, которым я не доверяю, чтобы не пытаться взломать мою сеть».

Обычно это делается путем создания многоуровневых шлюзов (т. Е. Наличия шлюза в демилитаризованной зоне для защиты локальной сети) или создания собственного трехстороннего шлюза со специальными правилами iptables. Я делал оба раньше, но оба страдают от проблемы, заключающейся в том, что они представляют собой решение уровня 3, и я ищу решение уровня 2, прежде всего для сохранения работы mDNS и Service Discovery.

Я думаю, что хочу разрешить:

LAN - [что угодно] -> DMZ

DMZ - [установлено + трансляция + DHCP] -> локальная сеть

Однако, глядя на ebtablesдокументацию, я не вижу различия между установленными ip-соединениями и новыми ip-соединениями, что является обязательной особенностью моего плана.

Итак, есть две возможности:

1) Определение того, как использовать, ebtablesчтобы делать то, что я хочу; или же

2) Использование подхода с двойным NAT и наличие устройства (RasPi или чего-то еще) прослушивают широковещательные передачи Service Discovery в DMZ и ретранслируют их в локальной сети.

Последний вопрос: какой подход возможен и / или прост в управлении с точки зрения того, как долго я буду возиться с вещами, чтобы заставить его работать?

Примечание: добавление тегов iptablesвместо, ebtablesпотому что я, очевидно, не могу создать этот тег ...

1
Как вы определяете «установленное» IP-соединение? Вы имеете в виду TCP, учитывая, что IP не имеет состояния? Paul 8 лет назад 1
Уровень 2 проблематичен для того, что вы хотите, так как это полностью одноранговая сеть. Существуют коммутаторы, которые могут создавать частные VLAN (устройства в одной и той же VLAN не могут общаться друг с другом) или ACL на уровне MAC уровня 2 (которые некрасивые, основанные на MAC-адресах каждого устройства). Ron Maupin 8 лет назад 0
Да, я имею в виду TCP (или эмулируется / предполагается в UDP). Я использую этот термин, потому что именно так к нему относится `iptables`. iAdjunct 8 лет назад 0

1 ответ на вопрос

0
MariusMatutiae

Во-первых, ebtablesэто протокол Link-Layer, и, как таковой, он не может ничего знать о ESTABLISHED, RELATEDсоединениях. Согласно Википедии ,

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

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

Что касается вашего второго решения, мне не ясно, чего вы пытаетесь достичь. Как правило, DMZ используются для ограничения объема трафика, передаваемого между ним и локальной сетью без DMZ, именно для предотвращения обнаружения и / или зондирования сети и т. Д. Вы вместо этого пытаетесь увеличить протоколы и связи между ними.

Если вы хотите сделать это, почему бы не создать единую локальную сеть, охватывающую как DMZ, так и не DMZ, а затем проследить трафик iptables? Таким образом, вы разрешите не-IP-трафик между ними, но можете заблокировать IP-трафик, например, сбросить все соединения ssh / telnet из одной зоны в другую.

В качестве альтернативы вы можете использовать своего рода Man in the Middle, то есть компьютер с интерфейсом в не-DMZ и интерфейс в DMZ, с включенной переадресацией IPv4, но управляемой iptablesи dhcp-relayразрешающей передачу запросов DHCP (версия обеспечивается dnsmaqособенно проста в установке). Кроме того, вы можете включить Proxy-ARP на этом компьютере MIM, чтобы он отвечал на запросы ARP от имени компьютеров, находящихся на карантине.

Это не ответ на вопрос. Во-первых, я знаю, что ebtables - это layer-2; тем не менее, он имеет возможность отслеживать пакеты и фильтровать их по IP-адресу источника, IP-адресу назначения, порту и т. д. Кроме того, общедоступным веб-серверам и IoT требуется другой тип DMZ: тот, который вы изолируете, и тот, который вы хотите использовать, но не доверяете свободному правлению. Я также специально упомянул, что я не хочу использовать iptables или иметь собственный шлюз. iAdjunct 8 лет назад 0
@iAdjunct Я думаю, что вы ошибаетесь: вы должны прочитать, что Барт де Шаймер, автор ebtables, говорит о своих возможностях, особенно в связи с ESTABLISHED., https://sourceforge.net/p/ebtables/mailman/message / 2821657 / MariusMatutiae 8 лет назад 0
Все, что говорит мне, - это то, что ebtables не отслеживает их. Однако это не дает уверенности в том, что iptables будет применяться к мостовым соединениям, когда трафик проходит через мост и не предназначен для локального компьютера. iAdjunct 8 лет назад 0
@iAdjunct Точно, `ebtables` ничего не знает об УСТАНОВЛЕННОМ, СОЕДИНЕННОМ. Так что твой вопрос н. 1 ответ. Что касается нежелания использовать iptables или пользовательский шлюз, это все равно, что бить ногами и ругаться: они делают ваше настроение прозрачным, но не делают решение ближе. MariusMatutiae 8 лет назад 0
Я не могу сказать, к чему идет ваш последний абзац в вашем ответе (он действует как мост или ворота? Неясно). Не могли бы вы уточнить это в редакции? iAdjunct 8 лет назад 0

Похожие вопросы