Назад | Перейти на главную страницу

Могу ли я ограничить доступ к веб-сайту apache для клиента, IP-адрес которого принадлежит интернет-провайдеру, который выделяет IP-адреса через DHCP?

У меня есть веб-сайт, который я хочу использовать в административных целях. Мне нужно быть уверенным, что только люди с определенных машин могут войти в систему. проблема в том, что они находятся в сетях ISP. Правильно ли я получу правильный IP-адрес для использования с помощью команды ip / ifconfig, или мне нужно беспокоиться о том, что NAT используется интернет-провайдером?

Вы Делать неправильно мой друг.

Помимо локального NAT и «NAT операторского класса» (что означает информацию, которую вы получаете ifconfig в клиентских системах это может быть частный адрес, который вы не можете использовать в списках доступа вашего сервера), безопасность на основе IP - это фарс: интернет-провайдеры могут изменять назначения общедоступных сетей, конечные пользователи могут использовать динамические IP-адреса или кто-то может подделать BGP и лгут мимо вашей безопасности.


Если вы хотите должным образом защитить свой сайт, мои рекомендации будут следующими:

  1. SSL с взаимной аутентификацией сертификатов
    Очень безопасен, поддерживается практически всеми браузерами, но администрировать немного неудобно, потому что вам нужно выдавать клиентские сертификаты всем своим пользователям и объяснять, как их установить (а сертификаты привязаны к машинам, на которые вы их устанавливаете. , поэтому ваши пользователи не смогут войти в систему из дома бабушки).
    Это того стоит, если вам нужна безопасность.

  2. SSL и двухфакторная аутентификация
    Использование чего-то вроде Google Authenticator в дополнение к имени пользователя / паролю, предоставляя вашим пользователям настоящую двухфакторную аутентификацию (что-то, что вы знаете - имя пользователя / пароль, и что-то, что у вас есть - устройство с запущенным Authenticator).
    Для этого может потребоваться небольшая работа с вашей стороны, либо в вашем приложении, либо на сервере с чем-то вроде mod_auth_external, но это очень хорошая безопасность: он не страдает ограничениями взаимной проверки подлинности сертификатов, и его практически невозможно перебрать.

  3. SSL и аутентификация по имени пользователя / паролю
    Только так безопасно, как имя пользователя / пароль, но именно поэтому у нас есть хорошие политики паролей.
    Это уязвимо для атак методом грубой силы, поэтому необходимо использовать методы смягчения.

Самый простой способ определить это - запустить в системе, которую вы планируете разрешить доступ, выполнить следующее.

lynx ipchicken.com

Если он соответствует вашему ifconfig, все будет в порядке. Если нет, и это домашний маршрутизатор, вы будете доверять машинам, стоящим за индивидуальным маршрутизатором. Другой способ сделать это - потребовать vpn с учетными данными и сделать этот сайт доступным только в вашей сети. Тогда вам могут потребоваться ключи или сертификат.