SSH - 1 tergantung pada “Memasuki sesi interaktif” (Bukan DNS; mungkin terkait SELinux)

9

Saya mengalami masalah pada CentOS 6.7 di mana login SSH adalah 1s lebih banyak daripada mesin non-6.7 di jaringan ini (mis. 7.2, 5.11). Menjalankan debugging di sisi klien menunjukkan hang di "Memasuki sesi interaktif".

Perintah yang saya gunakan untuk mendasarkan tes ini adalah time ssh <host> truedari laptop saya, menggunakan SSH Keys.

Dua hal yang sudah saya periksa / modifikasi adalah UseDNSdan GSSAPIAuthentication, dan keduanya dinonaktifkan.

Saya memulai daemon terpisah pada port yang berbeda dengan debugging aktif, dan telah menemukan di mana hang pendek terjadi:

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

{1s hang}

debug3: ssh_selinux_setup_exec_context: done

SELinux diatur ke 'permisif'. Saya tidak yakin mengapa itu akan mengganggu dengan "pengaturan konteks". Apakah ada cara untuk membuat keduanya rukun lebih baik tanpa menonaktifkan SELinux sama sekali? Saya menyadari 1s tidak banyak, tetapi saya menggunakan mesin khusus ini sebagai gateway SSH ke host dengan daftar putih IP (ini adalah mesin IP statis), dan ia bertambah sepanjang hari.

Setelah menjalankan strace, hang sedikit lebih 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, "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>

Menulis untuk /selinux/usermengambil 350 ms saja.

Pembaruan 1 - Hal-hal yang saya coba sejak :

  • Memperbarui. Banyak kotak membutuhkan pembaruan. Ini tidak memiliki efek material pada waktu masuk.
  • semodule -d unconfined- Ini memiliki efek positif, mengurangi waktu login sekitar 500 ms. Namun, kotak C7 dan C5.11 saya (yang telah saya pelajari sejak saat itu telah SELinux dinonaktifkan) rata-rata ~ 525ms
  • Membandingkan mesin C6.7 saya - Ternyata kotak 64bit lebih cepat daripada kotak 32-bit saya. Mungkin ini adalah momen 'duh' untuk beberapa orang, tetapi karena tidak ada satu pun dari kotak ini yang dikenakan pajak, saya tidak mengharapkan varian 100-300ms. Saya dapat mematahkan tanda 1s (850ms) pada salah satu host 64bit. Yang terendah pada 32bit adalah 1,085

Apakah saya terlalu banyak bertanya? Apakah 10-1200ms merupakan waktu masuk yang dapat diterima untuk mesin selinux permisif? Ingin tahu apa tolok ukur orang lain.

Tolol
sumber
Periksa log sistem Anda.
Michael Hampton
Saya punya ... Sayangnya, tidak ada yang penting di messagesatausecure
Morgon
@Morgon: Sudahkah Anda mengecek jika Anda menjalankan sesuatu seperti "fail2ban" - fail2ban.org - di mesin itu dan / atau jika Anda telah mengatur "iptables" dengan cara yang mungkin melakukan semacam "pembatasan tarif" untuk koneksi SSH yang masuk tergantung pada alamat IP sumber?
ricmarques
4
Jika log tidak membantu, Anda mungkin harus menggunakan stracedan melihat panggilan apa yang digunakan .
Andrew B
1
Terima kasih, @AndrewB. Saya telah mempostingnya di sini: pastebin.com/raw/3c08tcMd . jika Anda mencari "/ selinux / pengguna", Anda akan melihat hang 1s saat mencoba menulis ke file itu. - Menjelajahi jalur itu, saya menemukan posting yang berhubungan dengan marginal tentang menonaktifkan domain 'tidak dibatasi' ( bugzilla.redhat.com/show_bug.cgi?id=811656#c9 ). Ini memang mencukur ~ .5 detik dari login saya, tetapi masih .5 detik lebih lambat dari Cent7 / FC4. Masih mencari untuk meningkatkan kinerja terakhir, jika mungkin.
Morgon

Jawaban:

1

Ini mungkin tidak terkait, tetapi lambatnya selinux terkait telah dilaporkan untuk akun berbasis IPA di sini: https://access.redhat.com/discussions/3499951

Solusi untuk kasus itu adalah:

Saya melihat ke forum pengguna SSSD dan IPA dan karena sistem saya tidak menggunakan SELINUX, saya melanjutkan dan menambahkan ini ke bagian domain dalam konfigurasi sssd:

selinux_provider=none

Setelah ini proses login segera, seperti yang diharapkan.

chutz
sumber