Документация / Брандмауэр сервера и Host Access

Брандмауэр сервера и Host Access

Панель может управлять штатным брандмауэром сервера, так что для открытия порта или блокировки адреса сеанс SSH не нужен. Она работает с ufw (Debian и Ubuntu) и firewalld (семейство RHEL: AlmaLinux, Rocky, CloudLinux). Раздел предназначен только для администратора сервера и находится в Система → Безопасность → Брандмауэр. Если на сервере нет работающего брандмауэра, карточка сообщает об этом и ничего изменить не предлагает.

Брандмауэр на сервере — это один из уровней. У большинства провайдеров есть ещё отдельный облачный файрвол, который вы настраиваете у провайдера. Порт должен быть разрешён в обоих. См. Заметки о VPS-провайдерах.

Страховка: каждое изменение отменяется само

Ошибка в настройке брандмауэра — классический способ заблокировать себе доступ к собственному серверу. Поэтому каждое изменение, которое вы здесь делаете, временное:

  1. Вы открываете порт, блокируете адрес или сохраняете список. Изменение вступает в силу сразу.
  2. Появляется окно Сохранить эти изменения брандмауэра? с обратным отсчётом в 3 минуты.
  3. Убедитесь, что эта панель по-прежнему работает и что вы всё ещё можете войти по SSH. Затем нажмите Сохранить изменения. Нажмите Отменить сейчас, чтобы вернуться назад немедленно.
  4. Если вы ничего не делаете, по окончании отсчёта брандмауэр возвращается в прежнее состояние.

Отсчёт хранится на сервере, а не в браузере, и переживает перезапуск панели или всего сервера. Если сама отмена не может завершиться (например, брандмауэр занят), сервер продолжает пытаться самостоятельно, а карточка сообщает, что часть изменений пока не удалось отменить.

Если сервер остановился, пока изменения ждали решения, и запись о том, что нужно отменить, повреждена, панель не гадает. Она показывает Проверьте брандмауэр, просит вас просмотреть списки и вернуть всё, что вы не хотели оставлять, и не вносит новых изменений, пока вы не нажмёте Я проверил.

Открытые порты и заблокированные адреса

В списке Открытые порты показано, что брандмауэр пропускает. Чтобы открыть порт, введите один порт, например 8080, или диапазон, например 3000-3010, выберите TCP или UDP и нажмите кнопку. Рядом с портом из списка есть кнопка, закрывающая его.

В списке Заблокированные адреса показаны адреса, которым отказано в доступе. Введите IP-адрес или сеть, например 203.0.113.0/24, и нажмите «Блокировать». Карточка показывает ваш собственный адрес, чтобы вы видели, какой он.

От чего панель отказывается

Эти правила отключить нельзя. Они нужны, чтобы опечатка не могла вывести сервер из строя.

Вы пытаетесь Панель отказывает, потому что
Закрыть SSH, порт 80 или порт 443 Они сохраняют сервер доступным. Порт SSH читается из собственных настроек SSH-сервера, поэтому нестандартный порт SSH тоже защищён.
Открыть закрытый порт: 6379 (Redis), 11211 (Memcached), 27017 (MongoDB), 9080 (собственный бэкенд панели), 8891 (подписыватель DKIM) или 8100-8999 (бэкенды сайтов отдельных аккаунтов) Они слушают без пароля или находятся за передним веб-сервером. Открыв их, вы позволили бы посетителям обойти его защиту.
Заблокировать собственный адрес Вы отрезали бы себя от сервера. Если панель не видит ваш адрес, она ничего не блокирует.
Заблокировать адрес, принадлежащий этому серверу Сервер заблокировал бы сам себя.
Заблокировать очень широкую сеть Всё, что шире /8 для IPv4 или /16 для IPv6, отклоняется.

Host Access: кто может подключаться

В разделе Кто может подключаться (Host Access) можно указать, что к одной из четырёх служб доступ имеют только адреса из списка. Всем остальным брандмауэр отказывает.

Служба Какие порты охватывает
SSH Порт(ы) SSH этого сервера (никогда не 80 и не 443, даже если SSH использует их)
FTP 21, 990 и пассивный диапазон 30000-30100
Вход в почту 110, 143, 465, 587, 993, 995
База данных 3306

Сайты и входящая почта (порт 25) никогда не ограничиваются. Под входом в почту имеются в виду места, где люди читают и отправляют свою почту; другие почтовые серверы по-прежнему достучатся до вас на порту 25.

Чтобы ограничить службу, нажмите Ограничить списком…, запишите по одному адресу или сети в строке (не более 15) и нажмите Сохранить список. Правила:

  • Для SSH в списке обязательно должен быть ваш собственный адрес, иначе панель его не сохранит. Если вы входите ещё и с другого компьютера или через VPN, добавьте и тот адрес. Кнопка Добавить мой адрес подставляет ваш.
  • Сеть, слишком широкая, чтобы быть настоящим ограничением, отклоняется (шире /8 для IPv4, /16 для IPv6).
  • Разрешить всем… (или Удалить список… для базы данных, которая по умолчанию закрыта снаружи) снимает список. В firewalld это возвращает службу всем так, как её первоначально настроил установщик.
  • Как и любое другое изменение, список остаётся временным в течение 3 минут, пока вы не нажмёте Сохранить изменения.

Если список не удаётся сохранить

  • «Этот брандмауэр пропускает все соединения, которые не упомянуты ни в одном правиле» — список ничего бы не ограничил, потому что брандмауэр принимает всё, что не запрещено. Сначала настройте брандмауэр на отклонение входящих соединений по умолчанию (в ufw — ufw default deny incoming; в firewalld задайте для цели активной зоны значение default или REJECT).
  • «Другое правило, созданное вне панели, тоже открывает эти порты» — например, правило с ограничением частоты, с журналированием или более широкое, которое вы добавили вручную. Панель его не трогает и показывает службу как не поддающуюся управлению. Сначала удалите это правило сами, иначе список ничего не ограничит.

Повторный запуск установщика

Повторный запуск install.sh или обновление панели не открывает заново порт, который вы ограничили в Host Access. Списки остаются такими, какими вы их оставили.

Чего это не делает

  • Это не заменяет защиту на уровне аккаунтов: блокировка перебора паролей, списки блокировки IP в каждом аккаунте и брандмауэр веб-приложений — отдельные функции.
  • Оно не управляет отключённым вами брандмауэром и правилами в инструментах, отличных от ufw и firewalld.
  • Ничто здесь не меняет облачный файрвол у вашего провайдера.

См. также: Устранение неполадок · Заметки о VPS-провайдерах