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

Защита доступа через определенные порты на публичном IP-адресе

У нас есть публичный IP-адрес, размещенный на маршрутизаторе FreeBSD. У нас также есть много служб, работающих в нашей сети LAN, некоторые из наших служб должны быть доступны за пределами нашей домашней сети через общедоступный IP-адрес. До сих пор я перенаправлял определенные порты на определенный локальный IP-адрес. Пример (для сервера терминалов я перенаправил порт 2305 на локальный IP-сервер на порт 3389, и он отлично работает, когда кто-то вызывает подключение к удаленному рабочему столу на «MYpublicIPadres: 2305» и получает доступ к моему серверу терминалов.

Что я хочу сделать:

Некоторые способы защиты доступа к этой службе для конкретного клиента (машины или сети). Есть ли способ разрешить доступ к моей службе только определенным пользователям (по MAC-адресу или чему-то еще). Что я уже сделал, так это установил соединение сервер-клиент VPN, но этот метод не дает мне многого. Я также могу ограничить доступ по определенному IP-адресу, но у большинства моих клиентов нет статического общедоступного IP-адреса, они каждый раз поступают из DSL-соединений с разными IP-адресами.

Если это невозможно сделать с помощью FreeBSD, есть ли у меня альтернативы, такие как IPCOP или что-то подобное FreeBSD.

Изменить: проблемы с VPN

Как вы уже упоминали, я должен использовать решение VPN, вот проблемы, с которыми я столкнулся

Я действительно вижу здесь только 2 реалистичных варианта:

  • Используйте свой маршрутизатор FreeBSD, чтобы настроить брандмауэр, чтобы разрешить доступ только к тем портам, которые вы перенаправили с определенного IP-адреса. Это заблокирует большинство попыток «взлома» с неизвестных IP-адресов, даже если вы заблокируете его для определенного ISP или диапазона класса C. Вы не можете настроить его на разрешение на основе MAC-адреса, потому что он не транслируется на ваш компьютер через Интернет, а только IP-адрес.

  • Запустите VPN, чтобы получить безопасный доступ внутри вашей сети. Если VPN-клиент настроен правильно, он не должен отключать ваших клиентов от Интернета. В зависимости от VPN вы можете настроить его для маршрутизации только определенного трафика через VPN, а остального - через Интернет. На ум приходит простой вариант - Хамачи.

«Правильный» способ сделать это - использовать VPN. Вы можете сделать это с помощью брандмауэра / решения для блокировки портов, но самый безопасный способ (на мой взгляд) - через VPN.

Если вы не можете защитить саму службу, лучше всего подойдет VPN- или SSH-туннель.
Поскольку у ваших клиентов нет статических общедоступных IP-адресов, вы не можете ограничивать их по IP-адресу, и если клиенты входят через Интернет, вы не сможете определить их MAC-адреса (потерянные при первом переходе).

Вы можете рассмотреть что-то вроде блокировки порта для управления доступом к службе (google "port knocking" - первые несколько ссылок очень полезны для объяснения и примеров).

Подобные вещи также могут быть оснащены сценарием веб-сервера и вспомогательными программами, в которых вы можете «авторизовать» доступ с IP-адреса на определенный период времени, потенциально с помощью чего-то более сложного, чем выбивание портов, но эти реализации настолько же безопасны, насколько и базовый код)