fwknop

fwknop - одна из реализаций Port knoсking.
Как сказано в документации на http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html
fwknop использует Single Packet Authorization.
Механизм работы такой - в системе для подключения к какому-либо сервису извне ( чаще всего - ssh ) настраивается файрвол для разрешения прохождения только установленых соединений.
Например, для FreeBSD, примерно так:
ipfw add 5000 allow ip from any to any via em0 established
fwknop слушает подключения на каком-либо порту и в случае принятия пакета, соответствующего заданным критериям, кратковременно открывает порт для возможности установки соединения извне, используя механизм ipfw, после чего закрывает порт, а дальнейшая работа происходит благодаря наличию вышеуказанного правила файрвола. Чтобы пакет, полученный на заданном порту вызвал срабатывание механизма, он проходит авторизацию, проверку на соответствие ограничениям в конфиге fwknopd, проверяется на отсутствие совпаденния с ранее принятыми пакетами. Доступны различные настройки. Более подробно в документации и в конфигурационных файлах.
Для использования под FreeBSD устанавливаем на сервере.
В системе появляется каталог /usr/local/etc/fwknop с файлами
access.conf.sample
fwknop.conf.sample
Создаем ключи на клиенте и переносим их безопасным способом на сервер в конфиг файлы как написано тут:
http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html#quick-start
Создаем на основе example файлов рабочие файлы.
Для access.conf добавляем в конце файла секцию, начинающуюся с SOURSE:

SOURCE                     ANY
OPEN_PORTS            tcp/1234
FW_ACCESS_TIMEOUT     30
MAX_FW_TIMEOUT     90
REQUIRE_SOURCE_ADDRESS     Y
KEY_BASE64                 Sz80RjpLPlhH2olGuKBUamHKcmqMBsS5PZgLaMugUsg=
HMAC_KEY_BASE64            c0TOaMJ2aMQdYTh4Aa25Dqolm7PrLo2zNWAtBoVwSepkvH6nLcW78Cjb9zaVT2SQd03kaaV+Ckx3FhCh5ohNM5Q==

Где последние две строки это ключи, созданные на клиентской машине.
Для fwknop.conf раскомментируем строки, внося изменения в случае необходимости
 PCAP_INTF                   em0;
 PCAP_FILTER                 udp port 12345;
 IPFW_START_RULE_NUM         10000;
 IPFW_MAX_RULES              1000;
 FLUSH_IPFW_AT_INIT           Y;
 FLUSH_IPFW_AT_EXIT           Y;
 IPFW_ACTIVE_SET_NUM         1;
 IPFW_EXPIRE_SET_NUM         2;
 IPFW_EXPIRE_PURGE_INTERVAL  30;
 FIREWALL_EXE                /sbin/ipfw;

Опции хорошо комментированы в файлах примеров.
После этого можно запускать fwknopd.
На клиентской машине устанавливаем клиент, настраиваем и работаем.
Под windows можно использовать morpheus-fwknop, fwknop-gui.
Хорошая статья про Port Knoking
http://blogerator.org/page/pozadi-zakrytyh-dverej-port-knocking-bezopasn...
http://blogerator.org/page/pozadi-dverej-port-knosking-skrytyj-setevoj-d...
http://blogerator.org/page/pozadi-dverej-port-knocking-security-obscurit...