Ограничить доступ с определенных компьютеров к моему веб-приложению в локальной сети

Я пытаюсь развернуть веб-приложение локальной сети, которое не должно требовать входа клиента.

Требуется заблокировать доступ к приложению определенных компьютеров (не пользователей, а всего несколько компьютеров, у приложения нет страницы входа в систему, поэтому пользователи являются анонимными) в локальной сети. В локальной сети более 100 машин, пытаясь заблокировать 20 машин. Думайте об этом как о внесении в черный список машин.

Мои опасения:

  • Могу ли я сделать фильтрацию по MAC-адресу?
  • Если нет, я должен делать фильтрацию на основе IP? Это может быть невозможно, так как в локальной сети настроен динамический IP-адрес.

Есть ли другой способ, через код, который позволяет мне динамически конфигурировать сервер? Содержит ли запрос какую-либо специфическую информацию о клиент-машине, которая позволяет мне это делать?

На самом деле я не имею контроля над сетью, как для клиента. Я также не имею никакого отношения к используемым коммутаторам, клиентской ОС, бюджету и т. Д.

Топология локальной сети: Token Ring, сервер работает под управлением RedHat Linux.

Веб-приложение написано на Java, развернуто поверх TomCat, но решение не обязательно должно быть ограничено. Я обычно хочу знать, можем ли мы отбросить все запросы от определенных машин, которые находятся в сети, к нашему приложению.

1 ответ

В Linux есть опция arptables, которая позволяет вам создавать брандмауэр, который использует MAC-адреса вместо ip-адресов.

Например что-то вроде:

arptables -A IN --source-mac AA:BB:CC:DD:EE:FF -j DROP
Другие вопросы по тегам