Skjul SSH bak portbanking
En åpen SSH-port samler innloggingsforsøk fra hele internett. Portbanking holder porten lukket til du beviser at du kjenner en hemmelighet — og åpner den deretter bare for adressen din, i noen sekunder.
Med knockd og nftables
Avvis SSH som standard, og godta den bare fra adresser i et sett med tidsavbrudd. knockd legger bankeadressen til i settet. nftables fjerner den når tidsavbruddet utløper, og den etablerte SSH-økten fortsetter å fungere.
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
}
} Delen i knockd som fyller settet:
[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 } Hold permanent tilgang atskilt
Hvis du også tillater enkelte adresser permanent, bør du ha dem i et eget sett uten tidsavbrudd. Hvis du legger til en adresse som allerede er i et tidsbegrenset sett, tilbakestilles ikke tidsavbruddet. Hvis du blander begge typene oppføringer i ett sett, kan du derfor bli låst ute når tiden utløper.
Eller bruk fwknop
fwknop SPA er sterkere enn en sekvens: én kryptert, autentisert pakke som ikke kan gjenbrukes. Se veiledningen for fwknop.
Fra iPhone til SSH
- 1Hold inne messingdørhammeren. Secret Knock kontrollerer at port 22 svarer, og viser hvor lenge den forblir åpen.
- 2Åpne SSH åpner SSH-appen din med en ssh://-lenke for serveren.
- 3«Hold døren åpen mens skjermen vises» banker igjen like før tidsvinduet utløper, mens døren vises på skjermen.
Alle eksempler på GitHub → Alle konfigurasjonene på denne siden, klare til å kopiere: github.com/mobilcomm/secretknock-examples (public domain).
Spørsmål
Er dette en erstatning for SSH-nøkler?
Nei. Portbanking skjuler tjenesten. Behold sterke SSH-nøkler, og deaktiver også passordinnlogginger.