Как я могу использовать встроенную утилиту межсетевого экрана Parallels Virtuozzo (называемую фактически psa-firewall
под капотом, по-видимому,psa-firewall
кажется отдельным интерфейсом Plesk - в любом случае, это в основном пользовательский интерфейс для ограниченного управления iptables) для настройки VPS простое правило, которое запрещает доступ к порту для всех подключений, кроме определенных указанных IP-адресов?
У меня была идея, что правила брандмауэра VZ - например, правила iptables, в которые (как я полагаю) они переведены - выполнялись по порядку сверху вниз, и что я мог заблокировать доступ ко всему порту, кроме указанных IP-адресов (в этом случае , SSH на порту 22), имея узкие правила «Разрешить» в списке, для IP-адреса xx.xx.xx.xx и порта 22, а затем правило «Отклонить» в конце для любого IP-адреса и порта 22.
Идея заключалась в том, что для запросов с именованных IP-адресов будет достигнуто правило Разрешить, поэтому правило Отклонить никогда не будет достигнуто. Во всем остальном правило Разрешить будет проигнорировано, а правило отклонения ниже его будет достигнуто.
Но это не сработало. Сначала это работало точно так, как и планировалось, но ~ 20 минут спустя я обнаружил, что не использую SSH, и единственный способ вернуться обратно - это удалить правило Reject и добавить (избыточное) правило Allow all to port 22 наверх списка.
При дальнейшем тестировании кажется, что порядок правил в пользовательском интерфейсе утилиты брандмауэра VZ не точно определяет порядок в результирующей конфигурации. Например, я обнаружил, что наличие правила «Разрешить все до 22» в верхней части списка и «Отклонить все до 22» в нижней части, кажется, блокирует все соединения, как и в случае с обратным порядком.
У меня была теория, что утилита добавляет в список вновь активированные правила, но кажется, что наличие правила «отвергнуть все» всегда побеждает любые правила accept-one независимо от положения или порядка в списке, в который они добавляются.
Я не могу понять шаблон, и я не могу найти соответствующие ресурсы в этой утилите, которые объясняют это. Я также не могу найти другие подходы.
Причина, по которой я использую утилиту брандмауэра VZ, а не просто использую iptables напрямую, заключается в том, что я хочу, чтобы администраторы могли обновлять правила и добавлять IP-адреса из белого списка без какой-либо опасности их постоянной блокировки. Полезно иметь возможность администрировать доступ по SSH с помощью инструмента, который не зависит от самого себя и требует доступа по SSH.
п.с. Найти информацию о качестве с помощью утилиты брандмауэра VZ очень сложно. Куда бы я ни посмотрел, я всегда обращаюсь либо к ужасно неполным ресурсам в стиле «для чайников», либо к информации о прямой настройке iptables. Я не могу найти ничего о том, как настройки пользовательского интерфейса интерпретируются за кулисами или как они связаны с существующими настройками iptables. Также будут приветствоваться любые общие указания на подробную информацию о качестве того, что происходит за кулисами утилиты брандмауэра VZ.