Gå til innhold
Secret Knock

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
    }
}
/etc/nftables.conf (utdrag)

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 }
/etc/knockd.conf

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

  1. 1Hold inne messingdørhammeren. Secret Knock kontrollerer at port 22 svarer, og viser hvor lenge den forblir åpen.
  2. 2Åpne SSH åpner SSH-appen din med en ssh://-lenke for serveren.
  3. 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.

Veiledninger for oppsettet ditt