Port knoking - это когда 22 порт например к службе SSH по умолчанию закрыт, но при последовательной отправке пакетов на другие порты службы knockd, например 1234, 1111, 2321 служба это видит и открывает порт 22 на фаерволе чтобы Вы могли подключиться.
Простыми словами - когда по умолчанию замочной скважины в двери нет, но при определенной последовательности нажатия на дверь - она появляется.
С одной стороны кажется что это хорошее решение - но это только сперва. Если подумать - то решение всё же плохое и вот почему:
1. Новые порты и еще одна служба
Сама служба открывает порты для получения последовательности, а наличие лишних портов как бы там ни было - только добавляет уязвимостей.
2. Возможность перехвата
По умолчанию служба knockd работает без шифрования и существует возможность перехвата последовательности отправленных пакетов.
Есть модифицированные решения, например cryptknock, где отправляется определенная строка, где проверяется совпадение, но сам пакет не обновлялся 8 лет.
3. PHP скрипт как альтернатива
Например, если у Вас по умолчанию открыт 443 порт для сайта, более безопасным вариантом будет php скрипт, который в свою очередь будет разрешать доступ к ssh и при этом не нужна никакая дополнительная служба.
4. Дополнительные действия
Такая особенность несет в себе регулярные дополнительные действия и это вызывает усталость, что снижает удобство взаимодействия и как следствие эффективность работы.
Как вывод, использование port knoking - плохое решение.
5. Proxy & VPN
Если речь идет о безопасности и удобстве, особенно когда необходимо ее реализовать на нескольких серверах, то port knoking выглядит совсем кустарным способом, когда Вы просто можете создать VPS со статическим IP и разрешить доступ только с него. Данный вариант является лучшей альтернативой, о том какими преимуществами обладает прокси мы описали в статье:
Proxy - как сервер доступа, повышаем безопасность VPS сервера