Mengapa sshd membutuhkan jalur absolut?

23

Mengapa sshdmembutuhkan jalur absolut saat memulai ulang, mis. /usr/sbin/sshdAlih-alihsshd

Apakah ada implikasi keamanan?

PS pesan kesalahan:

# sshd
sshd re-exec requires execution with an absolute path
bunga aster
sumber

Jawaban:

20

Ini khusus untuk OpenSSH dari versi 3.9 dan seterusnya.

Untuk setiap koneksi baru, sshd akan menjalankan ulang sendiri, untuk memastikan bahwa semua pengacakan waktu eksekusi dihasilkan kembali untuk setiap koneksi baru. Agar sshd dapat kembali menjalankan dirinya, ia perlu mengetahui path lengkap ke dirinya sendiri.

Berikut kutipan dari catatan rilis untuk 3.9:

  • Buat sshd (8) kembali menjalankan dirinya saat menerima koneksi baru. Tindakan keamanan ini memastikan bahwa semua pengacakan waktu eksekusi diterapkan kembali untuk setiap koneksi daripada sekali, selama masa proses master. Ini termasuk pemetaan mmap dan malloc, pengalamatan perpustakaan bersama, urutan pemetaan perpustakaan bersama, cookie ProPolice dan StackGhost pada sistem yang mendukung hal-hal seperti itu

Bagaimanapun, biasanya lebih baik untuk me-restart layanan menggunakan skrip init-nya (mis. /etc/init.d/sshd restart) Atau menggunakan service sshd restart. Jika tidak ada yang lain, ini akan membantu Anda memverifikasi bahwa layanan akan mulai dengan benar setelah reboot berikutnya ...

( jawaban orisinal, sekarang tidak relevan: Dugaan pertama saya /usr/sbinadalah yang tidak ada dalam $ PATH Anda. )

Jenny D
sumber
Tentu saja dalam $ PATH, kalau tidak bagaimana saya bisa mendapatkan pesan kesalahan dari sshd ;-P
daisy
6
Maksud Anda pesan kesalahan yang tidak Anda sebutkan di pos?
Jenny D
2
Buruk saya, diedit posting
daisy
6

Ini untuk mencegah seseorang dari menyuntikkan suatu sshdprogram di salah satu direktori di Anda PATH dan Anda secara tidak sengaja menjalankannya. Posting ini dari 2004 sudah menjelaskan masalah ini.

Timo
sumber
Sementara posting itu menggambarkan masalah dengan benar, kesimpulan yang diambil di utas salah. Ini bukan bug, ini fitur :-)
Jenny D
@ JennyD Menurut Anda mengapa ini bug? Saya tidak pernah menyiratkan hal itu.
Timo
Di pos yang Anda tautkan, satu tanggapan adalah "Bug yang masuk melalui pemutakhiran ke openssh terbaru". Tidak ada jawaban di utas yang menyebutkan alasan sebenarnya untuk memerlukan path lengkap - beberapa menyebutkan alasan yang sama dengan Anda, yang sangat masuk akal dan menunjukkan mengapa ide yang baik untuk menggunakan path lengkap untuk setiap program yang membuka kemungkinan login. Tapi itu bukan alasan sebenarnya untuk program khusus ini memiliki persyaratan itu.
Jenny D