
Поднимите безопасность через неясность на новый уровень (это плохая идея, пожалуйста, на самом деле не используйте это)
Некоторые люди меняют порт SSH на своих серверах, чтобы сделать его немного сложнее для поиска ботами или другими неприятными сущностями, и хотя это обычно рассматривается как действие безопасности через неясность, это очень хорошо снижает количество автоматических входов, которые вы постоянно видите в /var/log/auth.log.
Однако что, если мы сможем довести это до абсурда? Что, если мы сможем использовать TOTP коды, которые обычно используются как второй фактор для входа на веб-сайты, чтобы фактически узнать, на каком порту слушает sshd?
Для этого я представляю totp-ssh-flux — способ сделать так, чтобы ваш порт sshd менялся каждые 30 секунд, возможно, вызывая у ваших противников небольшое разочарование.
Демо:

Здесь вы видите, как мой телефон (с помощью стандартного TOTP-клиента) генерирует коды, которые я затем использую как порт для подключения по SSH к серверу.
Программное обеспечение за этим довольно простое. Оно работает в цикле, который выполняет следующее:
Замечательная особенность в том, что из-за выполнения в PREROUTING, даже если срок действия кода истекает, установленные соединения остаются активными.
На момент написания проект представляет собой всего один файл. Вам потребуется установить golang, затем go get и go build.
Запустите программу от root (это необходимо, извините, она редактирует iptables).
При первом запуске программа сгенерирует токен для хоста в /etc/ssh-flux-key (вы можете использовать опцию -keypath, чтобы изменить его) и вы сможете ввести его на своём телефоне или других клиентах.
Вы можете убедиться, что она работает, выполнив watch iptables -vL -t nat и наблюдая, как правила iptables вставляются и удаляются.
Хотите ещё больше безумия в таком же духе? Подпишитесь на меня в Twitter @benjojo12