ทำไม Ubuntu จึงมีบัญชีรูทที่ถูกปิดการใช้งาน?


57

Ubuntu ปิดใช้งานการเข้าสู่ระบบรูทด้วย "เหตุผลด้านความปลอดภัย" อย่างไรก็ตามสำหรับฉันดูเหมือนว่ามันไม่ได้ช่วยเรื่องความปลอดภัยเลย

หากผู้บุกรุกจัดการเพื่อรับรหัสผ่านการเข้าสู่ระบบของคุณสำหรับ Ubuntu เขาก็มีรหัสผ่านผู้ใช้ขั้นสูงเนื่องจากเป็นเช่นเดียวกับรหัสผ่านการเข้าสู่ระบบ

อย่างไรก็ตามหากจำเป็นต้องใช้รหัสผ่านรูทการมีชื่อเข้าใช้งานจะไม่ช่วยผู้บุกรุกได้มากนักใช่มั้ย

ดังนั้นโดยทั่วไปสิ่งที่ฉันต้องการทราบคือ: ทำไม Ubuntu จึงเลือกปิดการใช้งานรหัสผ่านรูท เหตุผลด้านความปลอดภัยคืออะไร

โปรดอย่าตอบตามสิ่งที่คุณ "คิด" เป็นเหตุผล - ฉันกำลังมองหาคำตอบจากแหล่งข้อมูลอย่างเป็นทางการหรือเชื่อมโยงกับพวกเขา


6
ดูว่าสิ่งนี้จะช่วยให้
มิทช์

5
เหตุผลในการใช้ sudo นั้นเหมือนกับเหตุผลที่ sudo ถูกสร้างขึ้นตั้งแต่แรก
Thorbjørn Ravn Andersen

2
Canonical รู้สึกว่ามันเป็นความสมดุลที่ใกล้เคียงที่สุดระหว่างการใช้งานและความปลอดภัยสำหรับผู้ใช้ Windows และ OSX ที่ไม่มีพื้นฐานด้านการบริหารระบบ จุดทั้งหมดของการมี distro บนเดสก์ท็อปคือการดึงดูดผู้ที่ไม่ต้องการเรียนรู้เกี่ยวกับ Linux แต่ต้องการที่จะสามารถค้นหาสิ่งที่ต้องการเรียกใช้คลิกพวกเขาและทำให้พวกเขาทำงาน เมื่อผู้ใช้ "ปกติ" อยากรู้อยากเห็นมากกว่าการทำเว็บ / เมล / pr0n / เกมทันใดนั้นอูบุนตูก็สามารถเป็นประตูสู่ทุกสิ่งที่ Unixy เจ๋ง ๆ ที่พวกเขาเคยได้ยินเกี่ยวกับ (รวมถึง "เปิดใช้งาน") - ลองsudo su)
zxq9

1
หากใครบางคน pwns บัญชีของคุณพวกเขาสามารถจับภาพรหัสผ่านรูทในขณะที่คุณพิมพ์มันถ้าคุณเคยsuจากบัญชีของคุณเพื่อรูท จุดของคุณเกี่ยวกับการเพิ่มสิทธิ์ใช้เฉพาะเมื่อคุณเข้าสู่ระบบในฐานะ root บนคอนโซลแยกต่างหากและไม่ทำอะไรเลยในฐานะ root ที่ไว้วางใจไฟล์ใด ๆ ที่บัญชีปกติของคุณมีสิทธิ์เข้าถึงเพื่อเขียน ดังที่คำตอบที่มีอยู่บอกว่าสาเหตุหลักคือการกีดกันมือใหม่จากการคิดว่า root เป็นบัญชีที่คุณควรเข้าสู่ระบบและใช้งาน
Peter Cordes

2
โปรดดูเพิ่มเติมว่าวิธีใดที่ปลอดภัยที่สุดในการรับสิทธิ์รูท: sudo, su หรือล็อกอิน บน Unix / Linux Stack Exchange
mattdm

คำตอบ:


81

มิทช์โพสต์ลิงก์ที่ดีในความคิดเห็น: ทำไมการลงชื่อเข้าใช้ในฐานะรูทจึงไม่ดี และเว็บไซต์ Debian มีประโยชน์หลักที่ระบุไว้ในวิกิของพวกเขา :

ทำไมsudo?

การใช้sudoดีกว่า (ปลอดภัย) กว่าเปิดเซสชันในฐานะรูทด้วยเหตุผลหลายประการรวมถึง:

  • ไม่มีใครจำเป็นต้องรู้รหัสผ่านรูท ( sudoแจ้งให้ใส่รหัสผ่านของผู้ใช้ปัจจุบัน) สามารถให้สิทธิ์พิเศษแก่ผู้ใช้แต่ละคนเป็นการชั่วคราวแล้วนำออกไปโดยไม่จำเป็นต้องเปลี่ยนรหัสผ่าน

  • ง่ายต่อการเรียกใช้คำสั่งที่ต้องการสิทธิ์พิเศษผ่านทางsudo; เวลาที่เหลือคุณทำงานในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษซึ่งช่วยลดความเสียหายที่อาจเกิดจากข้อผิดพลาด

  • การตรวจสอบ / การบันทึก: เมื่อsudoคำสั่งถูกดำเนินการชื่อผู้ใช้เดิมและคำสั่งจะถูกบันทึกไว้

สำหรับเหตุผลข้างต้นการสลับไปใช้รูทการใช้sudo -i(หรือsudo su) มักจะถูกคัดค้านเนื่องจากมันยกเลิกคุณสมบัติข้างต้น

เกี่ยวกับ Ubuntuข้อดีและข้อเสียมีอยู่ในวิกิของเรา :

ประโยชน์ของการใช้ sudo

มีประโยชน์หลายประการสำหรับ Ubuntu ที่ทำให้การปิดใช้งานการเข้าสู่ระบบรูทเป็นค่าเริ่มต้น ได้แก่ :

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

  • หลีกเลี่ยงการลงชื่อเข้าใช้แบบโต้ตอบ "ฉันสามารถทำอะไรก็ได้" ตามค่าเริ่มต้น คุณจะได้รับแจ้งให้ใส่รหัสผ่านก่อนที่การเปลี่ยนแปลงครั้งสำคัญจะเกิดขึ้นซึ่งจะทำให้คุณคิดถึงผลที่จะตามมาจากสิ่งที่คุณทำ

  • sudo เพิ่มรายการบันทึกการทำงานของคำสั่ง (ใน/var/log/auth.log) หากคุณทำผิดพลาดคุณสามารถย้อนกลับไปดูว่ามีคำสั่งอะไรบ้าง

  • บนเซิร์ฟเวอร์แคร็กเกอร์ทุกคนที่พยายามจะบังคับให้พวกเขารู้ว่ามันมีชื่อบัญชีรูทและจะลองก่อน สิ่งที่พวกเขาไม่รู้คือชื่อผู้ใช้ของผู้ใช้รายอื่นของคุณ เนื่องจากรหัสผ่านของบัญชีรูทถูกล็อคการโจมตีครั้งนี้จะไม่มีความหมายเนื่องจากไม่มีรหัสผ่านที่จะถอดรหัสหรือเดาได้ตั้งแต่แรก

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

  • การรับรองความถูกต้องจะหมดอายุโดยอัตโนมัติหลังจากเวลาสั้น ๆ (ซึ่งสามารถกำหนดให้น้อยที่สุดตามต้องการหรือ 0) ดังนั้นหากคุณเดินออกจากเทอร์มินัลหลังจากรันคำสั่งในฐานะรูทโดยใช้ sudo คุณจะไม่เปิดให้รูทเทอร์มินัลเปิดไปเรื่อย ๆ

ข้อเสียของการใช้ sudo

แม้ว่าเดสก์ท็อปประโยชน์ของการใช้ sudo นั้นยอดเยี่ยมมีปัญหาที่เป็นไปได้ซึ่งจำเป็นต้องมีการบันทึก:

  • การเปลี่ยนทิศทางเอาต์พุตของคำสั่งที่รันด้วย sudo ต้องใช้วิธีอื่น ตัวอย่างเช่นพิจารณาsudo ls > /root/somefile จะไม่ทำงานเนื่องจากเป็นเชลล์ที่พยายามเขียนลงไฟล์ดังกล่าว คุณสามารถใช้ls | sudo tee -a /root/somefileเพื่อผนวกหรือls | sudo tee /root/somefileเขียนทับเนื้อหา นอกจากนี้คุณยังสามารถผ่านคำสั่งทั้งกระบวนการเปลือกทำงานภายใต้ sudo จะมีไฟล์ที่เขียนไปด้วยสิทธิ์ root sudo sh -c "ls > /root/somefile"เช่น

  • ในสภาพแวดล้อมของสำนักงานผู้ใช้ภายในระบบเท่านั้นที่เป็นรูท ผู้ใช้รายอื่นทั้งหมดจะถูกนำเข้าโดยใช้เทคนิค NSS เช่น nss-ldap ในการตั้งค่าเวิร์กสเตชันหรือแก้ไขในกรณีที่เครือข่ายล้มเหลวโดยที่ nss-ldap ใช้งานไม่ได้ต้องใช้รูท สิ่งนี้มีแนวโน้มที่จะออกจากระบบไม่สามารถใช้งานได้เว้นแต่จะแตก ผู้ใช้ท้องถิ่นเพิ่มเติมหรือรหัสผ่านรูตที่เปิดใช้งานจำเป็นต้องใช้ที่นี่ บัญชีผู้ใช้ภายในควรมี $ HOME ในดิสก์ภายในเครื่องไม่ใช่บน NFS (หรือระบบไฟล์เครือข่ายอื่น ๆ ) และ. profile / .bashrc ที่ไม่ได้อ้างอิงไฟล์ใด ๆ บนการเมาท์ NFS โดยปกติจะเป็นกรณีของรูท แต่หากเพิ่มบัญชีช่วยเหลือที่ไม่ใช่รูทคุณจะต้องใช้ความระมัดระวังเหล่านี้ด้วยตนเอง อย่างไรก็ตามข้อดีของการใช้ผู้ใช้โลคัลกับ sudo ก็คือคำสั่งนั้นสามารถติดตามได้อย่างง่ายดายดังที่กล่าวไว้ในประโยชน์ด้านบน

และเรามักจะมีมัน (จากการเปิดตัวครั้งแรกมาก)


การอ้างอิงที่เก่าที่สุดที่ฉันพบพูดเกี่ยวกับ 4.10 ที่มี "sudo"

SHUTTLEWORTH เปิดตัว Linux UBUNTU LINUX

... Ubuntu Linux ที่ใช้ Debian นั้นมี Gnome 2.8, kernel 2.6.8.1, OpenOffice.org 1.1.2 และมาพร้อมกับขั้นตอนการติดตั้งแบบข้อความ แต่ใช้งานง่าย Ubuntu ได้ปิดการใช้งานผู้ใช้รูทที่ต้องการใช้ sudo เหมือนที่ Mac OSX ทำ ...


คุณลักษณะด้านความปลอดภัยที่หายไปสองประการจากข้อดี : (i.) (สำหรับ GUI) ไม่มีใครสามารถได้รับ 'สิทธิ์ยกระดับ' โดยไม่ต้องเข้าถึงภายในแบบโต้ตอบ (พิมพ์รหัสผ่านที่แป้นพิมพ์); (ii.) สิทธิ์ 'ยกระดับสิทธิ์' มอบให้สำหรับคำสั่ง sudo'd เท่านั้นไม่ใช่งาน / กระทู้ใด ๆสำหรับผู้ใช้ (หรือรูท)
david6

ดูเหมือนว่าจะไม่สนใจคะแนนที่ยกมาจากคำถามต้นฉบับและปิดบังข้อมูลอื่น ๆ มากมายว่าทำไมถึงดี
paul23

6

ฉันเชื่อว่าสิ่งที่เขียนบนหน้าความช่วยเหลือนั้นชัดเจนเพียงพอและเพียงพอ

Ubuntu เป็น "สำหรับทุกคน"และแม้ว่าคุณจะดีพอคุณไม่จำเป็นต้องเข้าถึงรูทเพื่อทำลายคอมพิวเตอร์ของคุณในเวลาเดียวกันคุณไม่จำเป็นต้องใช้มันเกือบทั้งหมด (และคุณรู้วิธีเปิดใช้งานได้ง่าย)
ดังนั้นปัญหาไม่ได้อยู่กับคนที่ "ดีพอ" แต่สำหรับคนอื่น ๆ นั่นอาจมาจาก Linux จากอีกโลกหนึ่งของการคำนวณและผลกระทบแรกคือกับ Ubuntu (และเราเป็นจำนวนมาก)

หากคุณไม่ใช่ผู้เชี่ยวชาญและไม่ทราบว่ามีอะไรrootและวิธีจัดการกับมันอย่างถูกต้องคุณไม่ต้องการและไม่จำเป็นต้องเปิดใช้งาน (และความเสี่ยงตัวอย่างเช่นเข้าสู่ระบบกราฟิกด้วย)
มันเป็นการดีกว่าที่จะเรียนรู้วิธีการทำสิ่งต่าง ๆ ในด้านที่ปลอดภัยแล้วไปยังเส้นทางที่ยากขึ้นและอันตรายกว่าเริ่มต้นด้วยวิธีที่ยากลำบากและทำให้การติดตั้ง / เวิร์กสเตชันของคุณเสียหาย ระบบ.
โดยทั่วไปการป้องกันดีกว่าการรักษา

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