Перейти до вмісту
Secret Knock

Сховайте SSH за порт-нокінгом

Відкритий порт SSH збирає спроби входу з усього інтернету. Порт-нокінг тримає порт закритим, доки ви не доведете, що знаєте секрет, — а потім відкриває його лише для вашої адреси й лише на кілька секунд.

За допомогою knockd і nftables

Блокуйте SSH за замовчуванням і дозволяйте його лише з адрес у наборі з обмеженим часом дії. knockd додає адресу, з якої виконано стукіт, до цього набору; nftables видаляє її, коли спливає час дії, а вже встановлений сеанс SSH продовжує працювати.

table inet filter {
    set knocked4 {
        type ipv4_addr
        flags timeout
    }
    chain input {
        type filter hook input priority 0; policy drop;
        ct state established,related accept
        iif "lo" accept
        tcp dport 22 ip saddr @knocked4 accept
    }
}
/etc/nftables.conf (уривок)

Розділ knockd, який заповнює набір:

[openSSH]
    sequence      = 7311:tcp,8822:tcp,9133:udp
    seq_timeout   = 10
    tcpflags      = syn
    start_command = /usr/sbin/nft add element inet filter knocked4 { %IP% timeout 30s }
/etc/knockd.conf

Тримайте постійний доступ окремо

Якщо ви також назавжди дозволяєте доступ для деяких адрес, зберігайте їх в окремому наборі без обмеження часу дії. Додавання адреси, яка вже є в наборі з обмеженим часом дії, не скидає цей час, тому поєднання обох типів записів в одному наборі може заблокувати вам доступ, коли спливе таймер.

Або використовуйте fwknop

fwknop SPA надійніший за послідовність: один зашифрований, автентифікований пакет, який неможливо відтворити повторно. Дивіться посібник із fwknop.

Від iPhone до SSH

  1. 1Утримуйте латунний дверний молоток. Secret Knock перевіряє, чи відповідає порт 22, і показує, як довго він залишається відкритим.
  2. 2Відкрити SSH відкриває вашу програму SSH за допомогою посилання ssh:// для сервера.
  3. 3Параметр «Тримати двері відкритими, поки відкрито їхній екран» повторює стукіт незадовго до завершення вікна, поки двері відображаються на екрані.

Усі приклади на GitHub → Усі конфігурації з цієї сторінки, готові до копіювання: github.com/mobilcomm/secretknock-examples (суспільне надбання).

Запитання

Чи замінює це ключі SSH?

Ні. Порт-нокінг приховує службу; також використовуйте надійні ключі SSH і вимкніть вхід за паролем.

Посібники для вашого налаштування