Рейтинг:0

Apache mod_authz_host с динамическим IPv и диапазоном

флаг br

Я использую Apache 2.4 на Debian Bullseye в локальной сети за маршрутизатором DSL с динамическими адресами IPv4 и IPv6. Мой веб-сервер работает как конечная точка TLS и обслуживает множество страниц. Некоторые из этих страниц должны быть доступны в Интернете, а другие страницы должны быть доступны только в моей локальной сети. Доступ из Интернета работает, но я не могу заставить работать страницы только для локальной сети. В моей конфигурации Apache есть следующее:

<Location /localonlystuff>
    Require local
    Require ip 192.168.0.0/24
</Location>

Это разрешает доступ с локального хоста (ОК), со всех хостов в моем сегменте локальной сети с использованием IPv4 (частная сеть 192.168.0.0/24) и запрещает любой доступ из Интернета. Однако он не разрешает доступ с хостов в моем сегменте локальной сети с использованием IPv6. Поскольку здесь не разрешен диапазон IPv6, Apache отказывает им в доступе.

Теоретически я мог бы просто добавить Требовать IP-адрес 1234:5678:9012:3456::/64 в файл, показанный выше. Однако мой диапазон IPv6 динамически назначается моим интернет-провайдером и меняется каждые 24 часа, поэтому статическая запись не будет правильной в течение длительного времени. Я подумал о разрешении fe80::, но разрешение DNS в моей сети указывает на префиксы, предоставленные провайдером, а не на локальные адреса ссылок.

Я прочитал документацию о mod_authz_host и видел раздел о Требовать хост. Это, вероятно, даст то, что я хочу (мой маршрутизатор устанавливает локальный домен с обратным просмотром), но я боюсь, что этот метод будет подвержен таким вещам, как отравление DNS-кэша или спуфинговые атаки, позволяющие посторонним проникнуть в мою сеть. Я бы предпочел решение, локальное для моего сервера, где я говорю эквивалент Требовать интерфейс lan0 чтобы разрешить всем клиентам в сетевых диапазонах, настроенных на lan0 во время запроса - аналогично тому, как вы можете заставить Apache прослушивать все IP-адреса на данном интерфейсе. Однако я не нашел никакой документации на этот счет.

Есть ли способ добиться этой функциональности (разрешить только хосты из локальной сети IPv6), возможно, с помощью средств, отличных от mod_authn_host?

Я также открыт для предложений, отличных от проверки подлинности. Я могу много возиться с конфигурацией моего Apache, но вряд ли смогу внести какие-либо изменения в конфигурацию своего маршрутизатора. Также учтите, что у меня есть только один SSL-сервер virutal_host с сертификатом Let's Encrypt.

Ответить или комментировать

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