Hoppa till innehållet
Secret Knock

Dölj SSH bakom portknackning

En öppen SSH-port samlar inloggningsförsök från hela internet. Portknackning håller porten stängd tills du bevisar att du känner till en hemlighet — sedan öppnas den endast för din adress, i några sekunder.

Med knockd och nftables

Blockera SSH som standard och tillåt det endast från adresser i en uppsättning med en tidsgräns. knockd lägger till den knackande adressen i uppsättningen; nftables tar bort den när tidsgränsen löper ut, och den etablerade SSH-sessionen fortsätter att fungera.

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)

Avsnittet i knockd som fyller uppsättningen:

[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

Håll permanent åtkomst separat

Om du även tillåter vissa adresser permanent ska du ha dem i en separat uppsättning utan tidsgräns. Att lägga till en adress som redan finns i en tidsbegränsad uppsättning återställer inte dess tidsgräns, så om båda typerna av poster blandas i en uppsättning kan du låsas ute när tiden löper ut.

Eller använd fwknop

fwknop SPA är starkare än en sekvens: ett krypterat, autentiserat paket som inte kan återspelas. Se guiden för fwknop.

Från din iPhone till SSH

  1. 1Håll ned mässingsknackaren. Secret Knock kontrollerar att port 22 svarar och visar hur länge den förblir öppen.
  2. 2Öppna SSH öppnar din SSH-app med en ssh://-länk för servern.
  3. 3Alternativet ”Håll dörren öppen medan dess skärm visas” knackar igen strax innan tidsfönstret stängs, medan dörren visas på skärmen.

Alla exempel på GitHub → Alla konfigurationer på den här sidan, redo att kopiera: github.com/mobilcomm/secretknock-examples (public domain).

Frågor

Ersätter detta SSH-nycklar?

Nej. Portknackning döljer tjänsten; behåll starka SSH-nycklar och inaktivera även lösenordsinloggning.

Guider för din konfiguration