Estou tendo um problema no CentOS 6.7, em que os logins SSH são 1s mais do que qualquer máquina não-6.7 nessa rede (por exemplo, 7.2, 5.11). A depuração em execução no lado do cliente mostrou o problema em "Inserindo sessão interativa".
O comando que estou usando para basear esse teste é time ssh <host> true
do meu laptop, usando chaves SSH.
As duas coisas que eu já verifiquei / modifiquei são UseDNS
e GSSAPIAuthentication
, e ambas estão desativadas.
Eu iniciei um daemon separado em uma porta diferente com depuração e descobri onde ocorre o atalho:
debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context
{1s hang}
debug3: ssh_selinux_setup_exec_context: done
O SELinux está definido como 'permissivo'. Eu não tenho certeza por que iria se preocupar com "contextos de configuração". Existe alguma maneira de ter esses dois se dando melhor sem desabilitar o SELinux completamente? Eu percebo que 1s não é muito, mas eu uso essa máquina em particular como um gateway SSH para hosts com listas brancas de IP (esta é uma máquina IP estática), e ela se soma ao longo do dia.
Depois de executar um strace, o travamento é um pouco mais granular:
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, "18debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context
{1s hang}
debug3: ssh_selinux_setup_exec_context: done
unconfined_u:system_r:prelink_mask_t:s0-s0:c0.c102322: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%pre%unconfined_u:system_r:prelink_mask_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_mount_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:abrt_helper_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_notrans_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_execmem_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_java_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_mono_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:chkpwd_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:passwd_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:updpwd_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:mount_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:rssh_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:xauth_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:openshift_t:s0-s0:c0.c1023%pre%unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023%pre%unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023%pre%", 4095) = 929 <0.000079>
unconfined_u:system_r:unconfined_mount_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:abrt_helper_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_notrans_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_execmem_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_java_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_mono_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:chkpwd_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:passwd_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:updpwd_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:mount_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:rssh_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:xauth_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:unconfined_t:s0-s0:c0.c1023%pre%unconfined_u:system_r:openshift_t:s0-s0:c0.c1023%pre%unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023%pre%unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023%pre%", 4095) = 929 <0.000079>
Escrever para /selinux/user
leva apenas 350ms.
Atualização 1 - coisas que tentei desde :
semodule -d unconfined
- Isso teve um efeito positivo, reduzindo os tempos de login em aproximadamente 500 ms. No entanto, minhas caixas C7 e C5.11 (que eu já (re) aprendi possuem o SELinux desabilitado) têm média ~ 525ms Estou pedindo demais? É 10-1200ms um tempo de login aceitável para máquinas permissivas selinux? Curioso como são os benchmarks das outras pessoas.