SSH-1이 "대화식 세션 시작"에서 정지합니다 (DNS 아님; SELinux 관련 가능)


9

CentOS 6.7에서 SSH 로그인이이 네트워크의 6.7이 아닌 머신보다 1s 더 많은 문제가 있습니다 (예 : 7.2, 5.11). 클라이언트 측에서 디버깅을 실행하면 "대화식 세션 시작"에서 정지가 발생했습니다.

이 테스트의 기반이되는 명령은 time ssh <host> trueSSH 키를 사용하는 랩톱에서 나왔습니다.

수정 이미 확인 한 두 가지 / 있습니다 UseDNSGSSAPIAuthentication, 둘 다 사용할 수 없습니다.

디버깅을 켜고 다른 포트에서 별도의 데몬을 시작했으며 짧은 중단이 발생하는 위치를 찾았습니다.

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

{1s hang}

debug3: ssh_selinux_setup_exec_context: done

SELinux가 'permissive'로 설정되었습니다. 왜 "설정 컨텍스트"로 귀찮게하는지 모르겠습니다. SELinux를 모두 비활성화하지 않고이 두 가지를 더 잘 활용할 수있는 방법이 있습니까? 나는 1s가별로 없다는 것을 알고 있지만이 특정 시스템을 IP 화이트리스트 (이것은 정적 IP 시스템)의 호스트에 대한 SSH 게이트웨이로 사용하며 하루 종일 추가됩니다.

strace를 실행 한 후 중단은 조금 더 세분화됩니다.

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>

쓰기 /selinux/user는 350ms 만 걸립니다.

업데이트 1-내가 시도한 것 :

  • 업데이트 중입니다. 많은 상자에 업데이트가 필요했습니다. 이것은 로그인 시간에 중대한 영향을 미치지 않았습니다.
  • semodule -d unconfined-로그인 시간이 약 500ms 단축되는 긍정적 인 효과가 있습니다. 그러나 내 C7 및 C5.11 상자 (SELinux를 비활성화 한 이후로 배우고 있음)는 평균 ~ 525ms입니다.
  • 내 C6.7 컴퓨터 비교-64 비트 박스가 32 비트 박스보다 빠릅니다. 어쩌면 이것은 어떤 사람들에게는 'duh'순간 일 것입니다. 그러나이 상자들 중 어느 것도 특별히 세금이 부과되지 않기 때문에, 100-300ms의 변화를 기대하지 않았습니다. 64 비트 호스트 중 하나에서 1s 마크 (850ms)를 깰 수있었습니다. 32 비트에서 가장 낮은 것은 1.085입니다.

내가 너무 많이 묻는가? selinux-permissive 머신에 대해 10-1200ms가 허용되는 로그인 시간입니까? 다른 사람들의 벤치 마크가 무엇인지 궁금합니다.


시스템 로그를 확인하십시오.
Michael Hampton

나는 ... 불행히도, messages또는 주목할만한 점은 없다secure
Morgon

@Morgon : 당신은 "fail2ban"같은 것을 실행하는 경우는 ckecked 되세요 - fail2ban.org - 해당 시스템 및 / 또는 당신이에 "속도 제한"어떤 종류의 일을 할 수있는 몇 가지 방법 "의 iptables"을 설정 한 경우 소스 IP 주소에 따라 들어오는 SSH 연결
ricmarques

4
로그가 도움이되지 않으면 사용중인 strace통화를 확인하고 사용해야 합니다.
Andrew B

1
감사합니다, @AndrewB. pastebin.com/raw/3c08tcMd에 게시했습니다 . "/ selinux / user"를 검색하면 해당 파일에 쓰려고 시도하는 동안 1s 정지 시간이 표시됩니다. -그 길을 따라 가면서 '비 확정 된'도메인 비활성화에 대한 한계 관련 게시물을 발견했습니다 ( bugzilla.redhat.com/show_bug.cgi?id=811656#c9 ). 이것은 내 로그인에서 ~ .5 초를 면도하지만 Cent7 / FC4보다 여전히 .5 초 느립니다. 가능한 경우, 마지막 성능을 유지하려고합니다.
Morgon

답변:


1

이것은 관련이 없지만 selinux 관련 속도 저하는 IPA 기반 계정에 대해보고되었습니다 : https://access.redhat.com/discussions/3499951

이 경우의 해결책은 다음과 같습니다.

SSSD 및 IPA 사용자 포럼을 조사한 결과 시스템에서 SELINUX를 사용하지 않으므로 sssd 구성의 도메인 섹션에 추가했습니다.

selinux_provider=none

이 후 로그인 프로세스가 예상대로 즉시 이루어집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.