È possibile ottenere sshd (openssh) per registrare la chiave pubblica di tentativi di accesso basati su chiavi falliti?

1

Come ho capito sshd (openssh nel mio caso) tipicamente fa / può registrare l'impronta digitale / hash della chiave pubblica delle connessioni in entrata che stanno tentando di autenticarsi tramite la chiave.

Quello che sto cercando è la chiave pubblica completa delle connessioni in entrata, in particolare gli accessi non riusciti. È possibile?

Se sì, come?

    
posta Catskul 04.12.2018 - 19:32
fonte

2 risposte

0

Apparentemente questa non è una caratteristica corrente di openssh.

Per il mio bene, ho scritto la funzione e può essere trovata qui:

link

diff --git a/auth2-pubkey.c b/auth2-pubkey.c
index 2fb5950..82cce57 100644
--- a/auth2-pubkey.c
+++ b/auth2-pubkey.c
@@ -122,6 +122,17 @@ userauth_pubkey(struct ssh *ssh)
                    "(received %d, expected %d)", __func__, key->type, pktype);
                goto done;
        }
+       if (log_level_get() >= SYSLOG_LEVEL_DEBUG1) {
+               if ((b = sshbuf_new()) == NULL)
+                       fatal("%s: sshbuf_new failed", __func__);
+               if ((r = sshkey_format_text(key, b)) != 0)
+                       fatal("%s: sshkey_format_text failed: %s", __func__,
+                               ssh_err(r));
+               debug("%s: public key of %s: %s", __func__, authctxt->user,
+                       sshbuf_ptr(b));
+               sshbuf_free(b);
+               b = NULL;
+       }
        if (sshkey_type_plain(key->type) == KEY_RSA &&
            (ssh->compat & SSH_BUG_RSASIGMD5) != 0) {
                logit("Refusing RSA key because client uses unsafe "
    
risposta data 04.12.2018 - 22:42
fonte
0

È possibile impostare il livello di registro su VERBOSE o superiore (DEBUG3) nel file sshd_config.

ad es .: LogLevel DEBUG3

Questo registrerà gli hash (per la configurazione di Cent-OS) dei tasti offerti in / var / log / secure

    
risposta data 04.12.2018 - 21:15
fonte

Leggi altre domande sui tag