Сховайте 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
}
} Розділ 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 } Тримайте постійний доступ окремо
Якщо ви також назавжди дозволяєте доступ для деяких адрес, зберігайте їх в окремому наборі без обмеження часу дії. Додавання адреси, яка вже є в наборі з обмеженим часом дії, не скидає цей час, тому поєднання обох типів записів в одному наборі може заблокувати вам доступ, коли спливе таймер.
Або використовуйте fwknop
fwknop SPA надійніший за послідовність: один зашифрований, автентифікований пакет, який неможливо відтворити повторно. Дивіться посібник із fwknop.
Від iPhone до SSH
- 1Утримуйте латунний дверний молоток. Secret Knock перевіряє, чи відповідає порт 22, і показує, як довго він залишається відкритим.
- 2Відкрити SSH відкриває вашу програму SSH за допомогою посилання ssh:// для сервера.
- 3Параметр «Тримати двері відкритими, поки відкрито їхній екран» повторює стукіт незадовго до завершення вікна, поки двері відображаються на екрані.
Усі приклади на GitHub → Усі конфігурації з цієї сторінки, готові до копіювання: github.com/mobilcomm/secretknock-examples (суспільне надбання).
Запитання
Чи замінює це ключі SSH?
Ні. Порт-нокінг приховує службу; також використовуйте надійні ключі SSH і вимкніть вхід за паролем.