Вопрос

Я настраиваю стек WAMP / LAMP на старом компьютере.Этот компьютер будет подключен к локальной сети примерно с дюжиной других компьютеров.Я заинтересован в ограничении доступа со всех остальных компьютеров, чтобы только мы с моим партнером могли получить доступ к нашему локальному серверу.Я думаю, лучший способ сделать это - заблокировать MAC-адреса всех остальных (маршрутизатор автоматически назначает IP-адреса, поэтому я не хочу зависеть от этого).Я хотел бы добавить, что у меня нет доступа к странице конфигурации маршрутизатора, поэтому это должно быть сделано с самого сервера.

Кто-нибудь может подробнее рассказать о том, как это делается?

Это было полезно?

Решение

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

Вторая вещь, которая вам поможет, - это брандмауэр.Ищите брандмауэр, который ограничивает доступ по mac-адресу (если вы используете Linux, я почти уверен, что у него уже есть такая возможность, на моем wintel я использую Comodo Personal Firewall, который позволяет мне фильтровать по физическому адресу.)

Другие советы

linux / iptables, что-то вроде черного списка, это приведет к удалению всего трафика, исходящего с указанных mac-адресов:

iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 1> -j DROP
iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 2> -j DROP

Однако я не совсем уверен, что это то, чего вы хотите, mac-адрес на самом деле не является надежным методом фильтрации вашего трафика.Большинство современных сетевых адаптеров позволяют вам изменять ваш mac-адрес, и если ip-пакет, инкапсулируемый ethernet-фреймом, прошел через маршрутизатор, mac-адрес источника в ethernet-фрейме будет адресом последнего маршрутизатора, через который он прошел, а не исходного компьютера.

Я бы посоветовал заглянуть в mod_auth_basic или что-то подобное, оно гораздо более снисходительно к ошибкам, чем iptables.И если вы все-таки решите пойти по пути iptables, я бы предложил больше похожий на белый список подход, при котором iptables по умолчанию отбрасывают определенный трафик, а затем пропускают то, что вы хотите.

iptables -A INPUT -p tcp --dport 80 -m mac --source <your mac> -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m mac --source <your partners mac> -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

Если вы не можете возиться с маршрутизатором, то вам придется ввести ограничения на самом сервере:в зависимости от того, насколько параноиком вы хотите быть, на ум приходит несколько вариантов:

  • Проще всего - настроить VirtualHost в Apache, установив в качестве имени хоста что-то уникальное, что не разрешается через DNS:просто добавьте эту запись в свой локальный файл hosts и вуаля - любой, кто обращается к серверу по IP, получит хост Apache по умолчанию (страница приветствия).
  • Средний - используйте mod_auth_basic для добавления базового (имя пользователя + пароль через htpasswd) доступа к веб-серверу
  • Сложнее всего - добавить правила iptables, чтобы блокировать весь доступ к порту 80, кроме как с данного mac
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top