Поразительные порты (на английском стук в порт) это без сомнения практика, которую должны знать все мы, кто управляет серверами, здесь я подробно объясняю, что это такое и как это реализовать и настроить
Прямо сейчас те из нас, кто управляет сервером, имеют SSH-доступ к этому серверу, некоторые меняем порт SSH по умолчанию и он больше не использует порт 22, а другие просто оставляют его таким (что-то не рекомендуется), однако сервер разрешил доступ SSH через какой-то порт, и это уже «уязвимость».
В лице Стук порта мы можем добиться следующего:
1. Доступ по SSH не разрешен ни для одного порта. Если у нас настроен SSH для порта 9191 (например), этот порт (9191) будет закрыт для всех.
2. Если кто-то захочет получить доступ к серверу по SSH, очевидно, он не сможет этого сделать, потому что порт 9191 закрыт ... но, если мы используем «магическую» или секретную комбинацию, этот порт будет открыт, например:
1. Я подключаюсь к порту 7000 сервера через telnet
2. Делаю еще один телнет на порт 8000 сервера
3. Делаю еще один телнет на порт 9000 сервера
4. Сервер обнаруживает, что кто-то сделал секретную комбинацию (коснитесь портов 7000, 8000 и 9000 в этом порядке) и откроет порт 9191, чтобы вход был запрошен SSH (он откроет его только для IP-адреса, с которого была сделана комбинация) номер порта удовлетворительный).
5. Теперь, чтобы закрыть SSH, я просто подключился к порту 3500
6. Сделаю еще телнет на порт 4500
7. И напоследок еще один телнет на порт 5500
8. Выполнение этой другой секретной комбинации, которую обнаруживает сервер, снова закроет порт 9191.
Другими словами, объясняя это еще проще ...
В лице Стук порта на нашем сервере могут быть закрыты определенные порты, но когда сервер обнаруживает это из X IP была создана правильная комбинация портов (конфигурация, ранее определенная в файле конфигурации) явно выполнит на себе определенную команду (команда также определено в файле конфигурации).
Понятно, да?
Как установить демон для блокировки портов?
Я делаю это с пакетом Kockd, что позволит нам очень, очень просто и быстро реализовать и настроить Стук порта.
Установите пакет: knockd
Как настроить блокировку портов с помощью knockd?
После установки мы переходим к его настройке, для этого мы редактируем (как root) файл /etc/knockd.conf:
nano /etc/knockd.conf
Как вы можете видеть в этом файле, уже существует конфигурация по умолчанию:
Объяснить настройки по умолчанию очень просто.
- Первый, использовать системный журнал означает, что для записи активности (журнала) мы будем использовать / Вар / Журнал / системный журнал.
- Во-вторых, в разделе [открытьSSH] Здесь, очевидно, пойдут инструкции по открытию SSH: сначала у нас есть последовательность портов (секретная комбинация), которая настроена по умолчанию (порт 7000, порт 8000 и, наконец, порт 9000). Очевидно, что порты можно изменить (на самом деле я рекомендую), поскольку их необязательно должно быть 3, их может быть больше или меньше, это зависит от вас.
- В третьих, seq_timeout = 5 означает время ожидания выполнения секретной комбинации портов. По умолчанию он установлен в 5 секунд, это означает, что как только мы начнем выполнять блокировку порта (то есть, когда мы telnet на порт 7000), у нас есть максимум 5 секунд, чтобы завершить правильную последовательность, если прошло 5 секунд и мы еще не закончили стук порта, тогда это будет просто так, как если бы последовательность была недопустимой.
- В-четвертых, команду это не требует особых объяснений. Это будет просто команда, которую сервер выполнит, когда обнаружит комбинацию, определенную выше. Команда, которая установлена по умолчанию, она открывает порт 22 (измените этот порт на свой SSH-порт) только на IP-адрес, который создал правильную комбинацию портов.
- Пятое, tcpflags = син В этой строке мы указываем тип пакетов, которые сервер распознает как действительные для стучащего порта.
Затем есть раздел, чтобы закрыть SSH, где конфигурация по умолчанию - это не что иное, как та же последовательность портов, указанная выше, но в обратном порядке.
Вот конфигурация с некоторыми изменениями:
Как запустить демон knockd?
Чтобы запустить его, мы должны сначала изменить (как root) файл / и т.д. / по умолчанию / knockd:
nano /etc/default/knockd
Там мы меняем строку номер 12, которая гласит: «START_KNOCKD = 0»И измените это 0 на 1, мы получим:«START_KNOCKD = 1«
Как только это будет сделано, мы просто запустим его:
service knockd start
И вуаля, он настроен и работает.
Порт стучит с нокаутом и работает!
Как вы можете видеть в предыдущей конфигурации, если постукивает по порту 1000, затем по 2000 и, наконец, по 3000, то откроется порт 2222 (мой SSH), ну, здесь другой компьютер, выполняющий стук по порту:
Как только я нажимаю [Enter] на Knock №1, на №2 и, наконец, на №3, порт откроется, вот журнал:
Как вы можете видеть, когда выбивается порт 1000, этап 1 был зарегистрирован, затем в 2000 он будет этапом 2 и, наконец, в 3 с 3000, при этом выполняется команда, которую я объявил в .conf, и все. .
Тогда для закрытия порта достаточно было бы выбить 9000, 8000 и наконец 7000, вот лог:

И вот на этом объяснение использования заканчивается
Как видите, блокирование портов действительно интересно и полезно, потому что, хотя мы не хотим просто открывать порт после определенной комбинации портов, команда или порядок, который будет выполнять сервер, могут отличаться, то есть ... вместо открытия порта мы можем объявить об уничтожении процесса, остановке службы, такой как apache или mysql, и т. д. предел - ваше воображение.
Ну а пока что статья ... Я далеко не специалист в этом вопросе, но мне хотелось поделиться с вами этим интересным процессом.
Привет