SSH - 1 blocco in "Accesso alla sessione interattiva" (non DNS; possibilmente relativo a SELinux)


9

Sto riscontrando un problema con CentOS 6.7 in cui gli accessi SSH sono 1s in più rispetto a qualsiasi macchina non 6.7 su questa rete (es. 7.2, 5.11). L'esecuzione del debug sul lato client ha mostrato l'arresto in "Accesso alla sessione interattiva".

Il comando che sto usando per basare questo test è time ssh <host> truedal mio laptop, usando le chiavi SSH.

Le due cose che ho già controllato / modificato sono UseDNSe GSSAPIAuthentication, ed entrambe sono disabilitate.

Ho avviato un demone separato su una porta diversa con il debug attivo e ho scoperto dove si verifica il blocco breve:

debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context

{1s hang}

debug3: ssh_selinux_setup_exec_context: done

SELinux è impostato su "permissivo". Non sono sicuro del motivo per cui si preoccuperebbe anche di "impostare contesti". C'è un modo per far andare meglio questi due senza disabilitare del tutto SELinux? Mi rendo conto che 1s non è molto, ma uso questa macchina particolare come gateway SSH per host con whitelist IP (questa è una macchina IP statica) e si aggiunge per tutto il giorno.

Dopo aver eseguito uno strace, l'hang è un po 'più granulare:

22:16:05.445032 open("/selinux/user", O_RDWR|O_LARGEFILE) = 4 <0.000090>
22:16:05.445235 write(4, "unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 unconfined_u", 56) = 56 <0.334742>
22:16:05.780128 read(4, "18\0unconfined_u:system_r:prelink_mask_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_mount_t:s0-s0:c0.c1023\0unconfined_u:system_r:abrt_helper_t:s0-s0:c0.c1023\0unconfined_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_notrans_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_execmem_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_java_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_mono_t:s0-s0:c0.c1023\0unconfined_u:system_r:chkpwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:passwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:updpwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:mount_t:s0-s0:c0.c1023\0unconfined_u:system_r:rssh_t:s0-s0:c0.c1023\0unconfined_u:system_r:xauth_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_t:s0-s0:c0.c1023\0unconfined_u:system_r:openshift_t:s0-s0:c0.c1023\0unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023\0unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023\0", 4095) = 929 <0.000079>

Scrivere in /selinux/usersoli 350 ms.

Aggiornamento 1 - Cose che ho provato da allora :

  • In aggiornamento. Molte delle scatole hanno richiesto aggiornamenti. Ciò non ha avuto alcun effetto materiale sui tempi di accesso.
  • semodule -d unconfined- Ciò ha avuto un effetto positivo, riducendo i tempi di accesso di circa 500 ms. Tuttavia, i miei box C7 e C5.11 (che ho (ri) imparato hanno SELinux disabilitato) in media ~ 525ms
  • Confronto tra le mie macchine C6.7: risulta che le scatole a 64 bit sono più veloci delle mie scatole a 32 bit. Forse questo è un momento di "duh" per alcuni, ma dal momento che nessuna di queste scatole è particolarmente tassata, non mi aspettavo una variazione di 100-300ms. Sono stato in grado di rompere il segno 1s (850ms) su uno degli host a 64 bit. Il più basso a 32 bit è stato 1.085s

chiedo troppo? 10-1200 ms è un tempo di accesso accettabile per le macchine permissive di selinux? Curioso quali sono i parametri di riferimento di altre persone.


Controlla i log di sistema.
Michael Hampton,

Ho ... Sfortunatamente, nulla di degno di nota in messagesosecure
Morgon,

@Morgon: Hai verificato se stai eseguendo qualcosa come "fail2ban" - fail2ban.org - in quella macchina e / o se hai impostato "iptables" in qualche modo che potrebbe fare una sorta di "limitazione della velocità" per connessioni SSH in arrivo a seconda degli indirizzi IP di origine?
ricmarques,

4
Se i log non aiutano, probabilmente dovresti usare stracee vedere a quale chiamata è sospeso.
Andrew B,

1
Grazie, @AndrewB. L'ho pubblicato qui: pastebin.com/raw/3c08tcMd . se cerchi "/ selinux / user", vedrai l'hangout 1s mentre provi a scrivere su quel file. - Seguendo questo percorso, ho trovato un post marginalmente correlato sulla disabilitazione di domini "non confinati" ( bugzilla.redhat.com/show_bug.cgi?id=811656#c9 ). Questo fa radere ~ 0,5 secondi dai miei accessi, ma ancora 0,5 secondi più lentamente di Cent7 / FC4. Sto ancora cercando di estrapolare quell'ultimo po 'di prestazioni, se possibile.
Morgon,

Risposte:


1

Questo potrebbe non essere correlato, ma la lentezza relativa a selinux è stata segnalata per gli account basati su IPA qui: https://access.redhat.com/discussions/3499951

La soluzione per quel caso è:

Ho guardato nei forum degli utenti SSSD e IPA e poiché i miei sistemi non usano SELINUX, sono andato avanti e l'ho aggiunto alla sezione del dominio nella configurazione sssd:

selinux_provider=none

Dopo questo il processo di accesso è immediato, come previsto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.