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> true
dal mio laptop, usando le chiavi SSH.
Le due cose che ho già controllato / modificato sono UseDNS
e 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/user
soli 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.
messages
osecure
strace
e vedere a quale chiamata è sospeso.