Вопрос или проблема
У меня есть сетевое хранилище (NAS), которое подключается к двум различным Wi-Fi сетям в зависимости от его местоположения (оно не всегда находится на одном и том же месте). NAS реализован с использованием компьютера Raspberry Pi. Обычно эти Wi-Fi сети предоставляют доступ в интернет подключенным к ним компьютерам. Я не могу изменить настройки Wi-Fi сетей. По причинам безопасности я хотел бы настроить NAS так, чтобы
- оно полностью отклоняло любое интернет-соединение в обоих направлениях, независимо от того, к какой Wi-Fi сети оно подключено, и
- оставалось доступным из локальной сети Wi-Fi.
Идея в том, что только компьютеры, напрямую подключенные к Wi-Fi, могут получить доступ к NAS.
Возможно ли это? Как лучше это сделать? Я не очень разбираюсь в сетях, так что извините, если это может быть что-то тривиальное.
Я пытаюсь (источник)
iptables -A INPUT -s $NETWORK_ADDRESS/$MASK -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -d $NETWORK_ADDRESS/$MASK -j ACCEPT
iptables -A OUTPUT -j DROP
Однако это блокирует не только доступ в интернет, но и доступ к локальной сети.
Ответ или решение
Задача изолировать NAS от интернета, сохранив при этом доступ к внутренней сети LAN, действительно имеет большое значение для обеспечения безопасности данных. Рассмотрим, как этого можно достичь, учитывая вашу конфигурацию на базе Raspberry Pi и среду Linux.
Теория
Для достижения вашей цели можно воспользоваться встроенными средствами контроля сетевого трафика в Linux, таких как iptables. Iptables позволяет контролировать, какие пакеты данных могут проходить через ваше устройство, исходя из заданных правил. Основная идея заключается в том, чтобы создать такие правила, которые допускают только локальный трафик и отклоняют все, что идет во внешние сети, то есть в интернет.
Пример
Давайте рассмотрим пример использования iptables для реализации вашей задачи. Ваш код имеет правильное направление, однако его нужно настроить так, чтобы он лучше соответствовал вашим требованиям.
-
Во-первых, нужно разрешить весь входящий и исходящий трафик внутри локальной сети Wi-Fi. Для этого определим сетевой адрес и маску сети для каждой из подключаемых сетей Wi-Fi. Предположим, это могут быть диапазоны 192.168.1.0/24 и 192.168.2.0/24 (это примеры, измените их под свои реальные параметры).
-
Затем необходимо создать правила для блокировки любых других попыток соединения, которые могли бы перенаправить ваш трафик в интернет.
Вот пример набора правил, которые можно добавить в ваш скрипт iptables:
# Очистить предыдущие правила, если это необходимо
iptables -F
# Разрешить входящий доступ из локальной сети
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
# Разрешить исходящий доступ к локальной сети
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.2.0/24 -j ACCEPT
# Закрыть весь другой входящий и исходящий трафик
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
Применение
Теперь применим эти правила для достижения изоляции NAS:
-
Ваша Raspberry Pi будет обрабатывать только локальный трафик, разрешая подключения только от других устройств внутри одной из указанных вами сетей Wi-Fi. Таким образом, NAS будет доступен только тем устройствам, которые находятся в одной локальной сети с ним, что исключает возможности удаленного доступа из интернета.
-
Защита от утечки данных через интернет достигается блокировкой всех нежелательных исходящих соединений, которые могли бы уйти в глобальную сеть.
-
Эти изменения временные, так как перезапуск iptables или системы сбросит правила. Для постоянного результата добавьте эти команды в скрипт запуска, например,
/etc/rc.local
, если он поддерживается в вашей системе. Это гарантирует, что правила будут применяться при каждом запуске Raspberry Pi.
Также обратите внимание, что в некоторых ситуациях использование firewalld вместо iptables может упростить управление, особенно если в будущем будет потребность в более сложных правилах. Firewalld предлагает более гибкие и интуитивно понятные возможности управления сетевой безопасностью.
Таким образом, применение правильно настроенных правил iptables способно обеспечить необходимую изоляцию NAS от интернета, сохраняя его открытым для локальных пользователей. Эта стратегия окажется эффективной, если настроить её в соответствии с вашими сетевыми параметрами.