Ugrás a tartalomra
Secret Knock

SSH elrejtése portkopogtatással

Egy nyitott SSH-port bejelentkezési kísérleteket vonz az internet minden tájáról. A portkopogtatás zárva tartja a portot, amíg nem bizonyítja, hogy ismer egy titkot — ezután csak az Ön címének nyitja meg, néhány másodpercre.

knockd és nftables használatával

Alapértelmezés szerint dobja el az SSH-t, és csak egy időkorláttal rendelkező készletben szereplő címekről fogadja el. A knockd hozzáadja a kopogtató címet ehhez a készlethez; az nftables eltávolítja, amikor lejár az időkorlát, a már létrejött SSH-munkamenet pedig tovább működik.

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 (részlet)

A készletet feltöltő knockd szakasz:

[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

A tartós hozzáférést külön kezelje

Ha egyes címeket tartósan is engedélyez, tartsa őket külön, időkorlát nélküli készletben. Egy már időkorlátos készletben szereplő cím hozzáadása nem állítja vissza annak időkorlátját, ezért a kétféle bejegyzés egy készletben való keverése kizárhatja Önt, amikor lejár az időzítő.

Vagy használjon fwknop-ot

A fwknop SPA erősebb egy sorozatnál: egy titkosított, hitelesített csomag, amely nem játszható vissza. Lásd a fwknop útmutatóját.

Az iPhone-jától az SSH-ig

  1. 1Tartsa lenyomva a sárgaréz kopogtatót. A Secret Knock ellenőrzi, hogy a 22-es port válaszol-e, és megjeleníti, mennyi ideig marad nyitva.
  2. 2Az SSH megnyitása az SSH-alkalmazásban nyitja meg a kiszolgálót egy ssh:// hivatkozással.
  3. 3Az „Az ajtó maradjon nyitva, amíg a képernyője látható” beállítás röviddel az időablak lejárta előtt ismét kopogást küld, miközben az ajtó a képernyőn látható.

Minden példa a GitHubon → Az oldal minden konfigurációja másolásra készen: github.com/mobilcomm/secretknock-examples (közkincs).

Kérdések

Ez helyettesíti az SSH-kulcsokat?

Nem. A portkopogtatás elrejti a szolgáltatást; használjon erős SSH-kulcsokat, és tiltsa le a jelszavas bejelentkezést is.

Útmutatók a beállításához