เหตุใดจึงsshd
ต้องใช้พา ธ สัมบูรณ์เมื่อรีสตาร์ทเช่น/usr/sbin/sshd
แทนที่จะเป็นsshd
มีผลกระทบด้านความปลอดภัยหรือไม่?
ป.ล. ข้อผิดพลาด:
# sshd
sshd re-exec requires execution with an absolute path
เหตุใดจึงsshd
ต้องใช้พา ธ สัมบูรณ์เมื่อรีสตาร์ทเช่น/usr/sbin/sshd
แทนที่จะเป็นsshd
มีผลกระทบด้านความปลอดภัยหรือไม่?
ป.ล. ข้อผิดพลาด:
# sshd
sshd re-exec requires execution with an absolute path
คำตอบ:
นี่คือเฉพาะสำหรับ OpenSSH จากรุ่น 3.9 เป็นต้นไป
สำหรับการเชื่อมต่อใหม่ทุกครั้ง sshd จะเรียกใช้งานตัวเองอีกครั้งเพื่อให้แน่ใจว่าการสุ่มเวลาดำเนินการทั้งหมดจะถูกสร้างขึ้นใหม่สำหรับการเชื่อมต่อใหม่แต่ละครั้ง เพื่อให้ sshd เรียกใช้งานตัวเองอีกครั้งจำเป็นต้องทราบเส้นทางแบบเต็มไปยังตัวเอง
นี่คือคำพูดจากบันทึกประจำรุ่นสำหรับ 3.9:
- ทำให้ sshd (8) เรียกใช้ตัวเองอีกครั้งเมื่อยอมรับการเชื่อมต่อใหม่ มาตรการความปลอดภัยนี้ทำให้มั่นใจได้ว่าการสุ่มเวลาดำเนินการทั้งหมดจะถูกนำมาใช้ใหม่สำหรับการเชื่อมต่อแต่ละครั้งแทนที่จะใช้เพียงครั้งเดียวตลอดอายุการใช้งานของกระบวนการหลัก ซึ่งรวมถึงการจับคู่ mmap และ malloc, การกำหนดที่อยู่ไลบรารีที่ใช้ร่วมกัน, ลำดับการจับคู่ไลบรารีที่ใช้ร่วมกัน, ProPolice และคุกกี้ StackGhost บนระบบที่รองรับสิ่งดังกล่าว
ในกรณีใด ๆ ก็มักจะดีกว่าที่จะเริ่มบริการโดยใช้ทั้งสคริปต์ init (เช่น/etc/init.d/sshd restart
) service sshd restart
หรือการใช้ หากไม่มีอะไรอื่นจะช่วยให้คุณตรวจสอบว่าบริการจะเริ่มต้นอย่างถูกต้องหลังจากรีบูตครั้งถัดไป ...
( คำตอบดั้งเดิมตอนนี้ไม่เกี่ยวข้อง: การคาดเดาครั้งแรกของฉัน/usr/sbin
คือว่าไม่ได้อยู่ใน $ PATH ของคุณ )
นี่คือการป้องกันไม่ให้ใครบางคนฉีดsshd
โปรแกรมบางแห่งในหนึ่งในไดเรกทอรีในของคุณPATH
และคุณดำเนินการโดยไม่ได้ตั้งใจ โพสต์นี้ตั้งแต่ปี 2004 ได้อธิบายถึงปัญหาแล้ว