Зачем нужна геофильтрация для NAS и как она работает
Сетевые протоколы хранения данных - SMB, NFS и iSCSI - являются критически важными сервисами в инфраструктуре любой организации. Их открытые порты (445, 2049, 3260) часто подвергаются массовому автоматизированному сканированию и попыткам подбора учетных данных. Геофильтрация на межсетевом экране TrueNAS позволяет заблокировать трафик из стран или регионов, где у вашего бизнеса нет активности. Это первый и эффективный рубеж защиты, который отсекает фоновый «шум» атак и снижает поверхность атаки.
Принцип работы основан на геолокации IP-адресов. Сервисы определения геопозиции сопоставляют IP-адрес с его вероятным географическим происхождением (страной или регионом). На основе этих данных вы создаете списки CIDR-блоков IP-адресов для конкретных территорий и применяете их как источник для запрещающих правил в межсетевом экране TrueNAS. Этот метод широко используется крупными платформами для защиты, например, для ограничения верификации аккаунтов через телефонные номера из определенных стран.
Каким угрозам противостоит блокировка по геолокации
Геофильтрация служит барьером против конкретных автоматизированных угроз, классифицированных OWASP Automated Threats (OAT).
- OAT-020 Automated Probing (Автоматизированное сканирование): Массовые сканы портов из определенных географических зон для поиска уязвимых сервисов. Блокировка трафика из этих регионов резко сокращает количество таких попыток.
- OAT-001 Credential Stuffing (Подбор учетных данных): Автоматический перебор пар логин-пароль из утечек данных. Если атаки часто исходят из стран, не связанных с вашими пользователями, геофильтрация предотвращает их на уровне сети.
Протоколы хранения данных особенно привлекательны для таких атак, поскольку предоставляют прямой доступ к файлам и блочным устройствам. Геофильтрация не является панацеей, но она создает эффективный фильтр грубого трафика, снижая нагрузку на систему и вероятность успеха начальной стадии атаки.
Подготовка: Получение и обновление списков IP-адресов по странам
Для создания правила геофильтрации вам нужен актуальный список IP-адресов в формате CIDR для целевой страны или региона. Эти списки публично доступны от различных проектов.
Популярные и проверенные источники включают:
- ipdeny.com: Предоставляет ежедневно обновляемые списки IP-адресов по странам в формате CIDR.
- db-ip.com: Коммерческий сервис с высококачественными данными геолокации, также предлагает бесплатные списки.
- Публичные репозитории GitHub: Многие проекты агрегируют и поддерживают списки CIDR для блокировки.
Критерии выбора источника: актуальность обновлений, полнота покрытия страны и удобный формат данных (CIDR). Для примера вы можете скачать список для России или для региона «Восточная Европа» (Грузия, Молдова, Беларусь, Армения, Азербайджан).
Как автоматизировать обновление списков блокировки
Чтобы правила не устаревали, необходимо настроить автоматическое обновление списков IP. Это можно сделать через cron-задачу в TrueNAS.
Пример bash-скрипта для загрузки списка с ipdeny.com и его обработки:
#!/bin/bash
# Загрузка списка CIDR для России
wget -O /mnt/pool/dataset/firewall/ru_cidr.txt http://www.ipdeny.com/ipblocks/data/countries/ru.zone
# Очистка файла от возможных пустых строк
sed '/^$/d' /mnt/pool/dataset/firewall/ru_cidr.txt > /mnt/pool/dataset/firewall/ru_cidr_clean.txt
# Логирование
echo "$(date): CIDR list for Russia updated" >> /mnt/pool/dataset/firewall/update.logДля создания cron-задачи в TrueNAS:
- Перейдите в раздел Система -> Задачи по расписанию.
- Нажмите Добавить.
- Выберите тип задачи Сценарий.
- В поле «Сценарий» вставьте путь к вашему скрипту, например,
/mnt/pool/dataset/scripts/update_cidr.sh. - Настройте расписание, например, Еженедельно.
- Убедитесь, что пользователь для задачи имеет права на чтение/запись в целевой директории.
Рекомендуемая частота обновления - еженедельно, так как распределение IP-адресов меняется не слишком быстро, но требует регулярной корректировки.
Пошаговая настройка правил межсетевого экрана в TrueNAS
После подготовки списка CIDR можно создать правило фильтрации в TrueNAS. Интерфейс управления межсетевым экраном находится в разделе Сеть -> Межсетевой экран (в TrueNAS SCALE) или в аналогичном разделе в CORE.
- В интерфейсе межсетевого экрана нажмите Добавить для создания нового правила.
- Выберите действие Запретить.
- В поле Интерфейс выберите сетевой интерфейс, на котором ожидается трафик (например, тот, который используется для файловых шаров).
- В поле Протокол выберите нужный: TCP для SMB (порт 445) и iSCSI (порт 3260), или TCP/UDP для NFS (порт 2049).
- В поле Порт укажите конкретный порт службы: 445, 2049 или 3260.
- Ключевой шаг: В поле Источник вместо указания конкретного IP выберите тип Сеть. В появившемся поле введите CIDR-адреса из вашего подготовленного файла. Можно ввести несколько диапазонов через запятую или указать путь к файлу, если система поддерживает его чтение напрямую.
- Настройте Приоритет правила. Для запрещающих правил геофильтрации обычно устанавливается средний или низкий приоритет, чтобы они не перекрывали разрешающие правила для доверенных сетей.
- Нажмите Сохранить и Применить изменения.
Правила применяются немедленно. Вы можете создавать несколько правил для разных комбинаций: блокировка всей страны, блокировка региона (например, нескольких стран Центральной Азии), или даже блокировка всего трафика кроме нескольких разрешенных стран.
Пример: Блокировка доступа к SMB-шарам из определенного региона
Рассмотрим конкретный кейс блокировки подключений к порту 445/TCP (SMB) из диапазонов IP стран Центральной Азии (Казахстан, Узбекистан, Кыргызстан, Таджикистан, Туркменистан).
- Шаг 1: Загрузка списка CIDR для региона. Скачайте или создайте объединенный файл, содержащий CIDR-блоки для всех пяти стран. Поместите его в доступное место на TrueNAS, например,
/mnt/pool/dataset/firewall/central_asia_cidr.txt. - Шаг 2: Создание правила в TrueNAS. В интерфейсе межсетевого экрана создайте новое правило с параметрами: Действие: Запретить, Интерфейс: eth0 (или ваш основной), Протокол: TCP, Порт: 445. В поле «Источник» (тип «Сеть») введите содержимое вашего файла или путь к нему.
- Шаг 3: Применение и активация правила. Сохраните правило и убедитесь, что оно активно. Теперь попытки подключения к SMB-шарам с IP-адресов из указанных стран будут блокироваться на уровне сетевого интерфейса.
Для комплексной защиты сетевого доступа к файлам в TrueNAS, включая тонкую настройку SMB и NFS, обратитесь к нашему практическому руководству по настройке SMB, NFS и FTP.
Гарантия доступности: как не заблокировать легитимных пользователей
Самая распространенная ошибка при настройке геофильтрации - случайная блокировка доверенных пользователей. Чтобы избежать этого, необходимо четко выделить доверенные сети и правильно расставить приоритеты правил.
К доверенным сетям обычно относятся:
- Фиксированный IP-адрес корпоративного офиса.
- Диапазон IP-адресов вашего VPN-сервиса.
- IP-адреса облачных сервисов, используемых администраторами для управления.
- Сети ключевых партнеров или клиентов.
Принцип конфигурации: «Разрешить прежде, чем запретить». Сначала создаются разрешающие правила (Allow) для доверенных IP или CIDR-диапазонов на нужные порты. Эти правила должны иметь более высокий приоритет (меньшее числовое значение в поле «Приоритет»), чем запрещающие правила геофильтрации. Таким образом, трафик из доверенной сети будет разрешен, даже если его исходный IP географически относится к заблокированной стране.
Крайне важно провести тестирование доступа из доверенной сети перед применением глобальных запретов. Используйте команды типа telnet или nmap с хоста в доверенной сети, чтобы убедиться, что порты остаются открытыми после настройки всех правил.
Создание правила-исключения для корпоративного VPN
Рассмотрим пример, когда все сотрудники компании подключены через центральный VPN-сервер с фиксированным IP-адресом 203.0.113.10.
- Определите CIDR-диапазон VPN. В данном случае это может быть один адрес
203.0.113.10/32. - В интерфейсе межсетевого экрана TrueNAS создайте новое правило с параметрами: Действие: Разрешить, Интерфейс: eth0, Протокол: TCP, Порт: 445,2049,3260 (или все необходимые). В поле «Источник» (тип «Сеть») введите
203.0.113.10/32. - Установите для этого правила высокий приоритет, например, 10. Убедитесь, что ваше запрещающее правило геофильтрации имеет более низкий приоритет, например, 50.
- Сохраните и примените изменения. Теперь трафик от VPN-сервера будет разрешен, несмотря на любые географические ограничения.
Для более сложных сетевых архитектур, включающих несколько VLAN, принципы создания правил остаются схожими. Детали настройки маршрутизации и межсетевого экрана между сегментами описаны в руководстве по маршрутизации между VLAN в TrueNAS Scale.
Проверка и тестирование работоспособности правил
После настройки необходимо убедиться, что правила работают корректно: трафик из заблокированных регионов блокируется, а из доверенных сетей проходит.
Метод 1: Проверка извне. Используйте утилиту nmap или telnet с хоста, находящегося в заблокированной стране (или через VPN, имитирующий такой IP). Пример команды для проверки порта SMB:nmap -p 445 your.truenas.server.ip
Если правило работает, сканер покажет состояние порта как filtered, или соединение telnet завершится таймаутом.
Метод 2: Анализ логов. В TrueNAS перейдите в раздел Система -> Логи. Выберите журнал межсетевого экрана. Ищите записи с действиями DROP или REJECT для IP-адресов, которые должны быть заблокированы. Это подтвердит, что правило применяется.
Метод 3: Проверка из доверенной сети. С хоста в доверенной сети (например, из офиса) попробуйте подключиться к файловому шарению или iSCSI target. Убедитесь, что доступ работает без изменений. Можно также использовать nmap для проверки, что порты открыты (open состояние).
Эти методы дают практическое подтверждение, что ваша конфигурация безопасности выполняет свою функцию.
Решение проблем: что делать, если геофильтрация не работает
Если после настройки трафик не блокируется или, наоборот, блокируется легитимный доступ, выполните пошаговую диагностику.
Типичные ошибки и их решение:
- Неправильный порядок правил: Запрещающее правило имеет более высокий приоритет (меньшее число) чем разрешающее для доверенной сети. Проверьте порядок в списке правил межсетевого экрана. Правила с более высоким приоритетом выполняются первыми.
- Ошибка в CIDR-формате: Список IP содержит некорректные записи или пробелы. Проверьте ваш файл CIDR, убедитесь, что каждый адрес записан в формате, например,
192.0.2.0/24. Используйте скрипт очистки, как показано выше. - Применение правила не к тому интерфейсу: Правило создано для интерфейса
eth1, но трафик поступает наeth0. Убедитесь, что правило назначено на правильный активный интерфейс. - Правило отключено: Проверьте, что правило активно (не имеет отметки «Отключено»).
Диагностика:
- Проверьте логи межсетевого экрана в Система -> Логи. Отсутствие записей DROP может означать, что трафик не попадает под условия правила.
- Убедитесь, что ваш список IP-адресов актуальен. IP-адреса могут меняться.
- Временно добавьте правило, блокирующее один конкретный тестовый IP-адрес из заблокированной страны, чтобы проверить базовую функциональность брандмауэра.
Аварийный откат: Если вы полностью заблокировали себе доступ и не можете исправить правило через веб-интерфейс, используйте консоль TrueNAS (CLI). Вы можете временно отключить все правила межсетевого экрана или удалить конкретное правило через командную строку. Например, в TrueNAS SCALE правила часто управляются через iptables или nftables. Используйте команды для просмотра и удаления правил (iptables -L, iptables -D ...). Однако это временное решение; после восстановления доступа необходимо исправить конфигурацию в интерфейсе.
Важность тестовой среды: Для избежания проблем в рабочей среде рекомендуется сначала опробовать всю настройку геофильтрации на тестовом сервере TrueNAS или в нерабочее время на основной системе, когда влияние на пользователей минимально.
Геофильтрация - это часть более широкой стратегии защиты сетевых служб. Для комплексного подхода к блокировке нежелательного трафика, включая защиту от DDoS и brute-force, ознакомьтесь с материалами по блокировке IP-адресов и автоматизации в 2026 году.
Использование единого агрегатора API, например AiTunnel, может упростить интеграцию различных сервисов и управление доступом для администраторов, работающих с множеством инструментов.