ทำไมไม่ควรรูทเพื่อเข้าสู่ระบบผ่านทาง ssh?


10

เหตุใดจึงควรปิดใช้งานการเข้าถึงรูทสำหรับ ssh ฉันมักจะได้ยินว่าเป็นเพราะเหตุผลด้านความปลอดภัย แต่ฉันไม่เข้าใจ อะไรคือสิ่งที่แตกต่างจากการล็อกอินที่ไม่ใช่รูทsudo su -? วิธีที่ต้องการในการจัดการงานที่ต้องการการอนุญาตพิเศษคืออะไร

ขอบคุณ

โทมัส

security  ssh  root 

คำตอบ:


6

Sudo เป็นวิธีที่ต้องการเมื่อคุณต้องการมอบหมายงานผู้ดูแลระบบเนื่องจากความสามารถในการตรวจสอบและความละเอียดที่หลากหลาย Sudo อนุญาตให้บันทึกคำสั่งทั้งหมดและอนุญาตให้ผู้ดูแลระบบตั้งค่าโปรไฟล์ sudo ที่แตกต่างกันสำหรับบุคคลหรือกลุ่ม

การเข้าถึง su หรือ root เป็นทั้งหมดหรือไม่มีอะไรเลย


ฉันมีแนวโน้มที่จะเรียก FUD เกี่ยวกับเรื่องนี้ หลีกเลี่ยงการตรวจสอบเป็นที่น่ารำคาญด้วยหรือsudo -s sudo bashนอกจากว่าคุณกำลังพูดถึงการ จำกัด ชุดคำสั่ง/etc/sudoersซึ่งฉันไม่เคยเห็นใช้งานในสภาพแวดล้อมการผลิตที่ใช้ sudo โต้ตอบ เมื่อเปิดใช้งาน sudo ซอฟต์แวร์ที่เป็นอันตราย (เช่นดำเนินการโดยการพิมพ์makeหรือpython setup.pyในพื้นที่เก็บข้อมูลแบบสุ่มที่คุณเพิ่งโคลนจาก GitHub) มีสิทธิ์รูท เปรียบเทียบกับสถานการณ์ที่ปิดใช้งาน sudo และแทนที่จะใช้การเชื่อมต่อ SSH แยกต่างหากสำหรับการดำเนินการคำสั่งเป็นรูท
Feuermurmel

4

รูทเป็นบัญชีเดียวที่รับประกันว่าเปิดใช้งานและเปิดใช้งานบนเครื่องยูนิกซ์ทุกเครื่องดังนั้นจึงไม่มีเกมง่ายๆที่จะเลือกมันเพื่อพยายามบังคับใช้รหัสผ่าน หากไม่มีเครื่องมือภายนอก (เครื่องห่อหุ้มที่ฆ่าเครื่องสแกนที่เห็นได้ชัดอุปกรณ์ป้องกันการบุกรุก) เป็นเพียงเรื่องของเวลาก่อนที่รหัสผ่านจะถูกค้นพบ แม้ว่าจะมีเครื่องมือภายนอกที่ป้องกันพฤติกรรมแบบนี้ แต่ก็ยังเป็นความคิดที่ดีที่จะบังคับให้ผู้ใช้ที่เข้ามาลงชื่อเข้าใช้ในฐานะผู้ใช้ทั่วไปแล้ว su / sudo / pfexec จนถึง priv ที่ได้รับการปรับปรุง ใช่มันเป็นขั้นตอนพิเศษและนั่นหมายความว่าคุณจะต้องสร้างบัญชีผู้ใช้บนเครื่องที่แชร์ระหว่างผู้ใช้รูท แต่มันเป็นอุปสรรคอีกอย่างหนึ่งระหว่างผู้โจมตีและผู้ควบคุมกล่องที่ไม่ จำกัด


2

ความแตกต่างที่สำคัญคือผู้โจมตีต้องเดาชื่อผู้ใช้ด้วย หากคุณให้รูทเข้าสู่ระบบเขาจะต้องเดารหัสผ่าน

นอกจากนี้เขายังสามารถปลอมแปลงข้อมูลเข้าสู่ระบบของผู้ใช้ที่ได้รับคีย์ ssh หรือส่งข้อมูลโดยใช้วิธี man-in-the-middle และเขาอาจเข้าสู่ระบบโดยไม่ต้องพิมพ์รหัสผ่าน แต่ถ้าเขาเข้าสู่ระบบในฐานะผู้ใช้เขาจะต้อง sudo-ize คำสั่งและทำให้เขาถูกบังคับให้พิมพ์รหัสผ่านด้วยตนเอง หากเขาเข้าสู่ระบบในฐานะที่เป็นรูทเขาไม่จำเป็นต้องทำสิ่ง sudo-ize ดังนั้นจึงเป็นขั้นตอนความปลอดภัยน้อยลง


1

มีเครื่องนับแสนที่สแกนหา sshd'sและบังคับให้พวกมันดุร้าย "root" เป็นบัญชีที่ดีที่จะลองใช้ก่อนเพราะถ้าเกิดว่าผิดพลาดคุณจะเป็นเจ้าของเครื่องโดยสมบูรณ์ นอกจากนี้ยังเป็นบัญชีทั่วไปในระบบ * nix ทั้งหมดยกเว้นว่าคุณจะปิดใช้งานการเข้าสู่ระบบรูท มันเป็นวิธีปฏิบัติด้านความปลอดภัยที่ดีมากในการทำเช่นนี้


1
จำเป็นต้องปิดใช้งานการล็อกอินรูทเพื่อป้องกันการใช้กำลังดุ การปิดใช้งานการรับรองความถูกต้องโดยใช้รหัสผ่านจะช่วยปกป้องคุณจากการสแกนของผู้คนและยังช่วยให้คุณสามารถตรวจสอบสิทธิ์ในฐานะผู้ที่มีความเสี่ยงเพียงเล็กน้อย การเรียกใช้ IPS ที่ฆ่าการเชื่อมต่อหลังจากความพยายามที่ล้มเหลวสองสามครั้งจะมีประโยชน์มากกว่าเพียงแค่บล็อกการเข้าถึงรูท
Zoredache

0

ข้อได้เปรียบหลักของสิ่งนี้คือช่วยให้สามารถควบคุมการเข้าถึงได้อย่างยืดหยุ่นมากขึ้น: หากผู้ใช้มีสิทธิ์รูทผ่าน sudo การให้สิทธิ์รูทหรือนำพวกเขาออกไปได้ง่ายตามความจำเป็น ในทางกลับกันถ้าคุณส่งรูต pw ให้คนอื่นคุณไม่สามารถถอดมันออกได้ (เว้นแต่คุณจะเป็น Men In Black ;-)) คุณสามารถเปลี่ยนรูต pw ได้ซึ่งจะส่งผลกระทบต่อทุกคน

ในบริบทนั้นการลงชื่อเข้าใช้รูทโดยตรงไม่จำเป็น b / c ไม่มีใครมีรูต pw

(คุณจะต้องใช้รูท pw สำหรับการเข้าถึงฉุกเฉินที่คอนโซลในโหมดผู้ใช้คนเดียว แต่ควรมีข้อกำหนดพิเศษสำหรับสิ่งนั้น)


0

แต่ HP-UX ไม่เคยบังคับให้เข้าถึงรูตผ่าน ssh ได้ทำไม?


3
เพราะมันเก่าและไม่มีใครใช้มัน
โกง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.