Ограничить доступ с определенных компьютеров к моему веб-приложению в локальной сети
Я пытаюсь развернуть веб-приложение локальной сети, которое не должно требовать входа клиента.
Требуется заблокировать доступ к приложению определенных компьютеров (не пользователей, а всего несколько компьютеров, у приложения нет страницы входа в систему, поэтому пользователи являются анонимными) в локальной сети. В локальной сети более 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