chroot ใน Linux คืออะไรและทำงานอย่างไร

chroot ใน Linux คืออะไรและทำงานอย่างไร
ผู้อ่านเช่นคุณช่วยสนับสนุน MUO เมื่อคุณทำการซื้อโดยใช้ลิงก์บนเว็บไซต์ของเรา เราอาจได้รับค่าคอมมิชชั่นจากพันธมิตร อ่านเพิ่มเติม.

คุณกำลังมองหาแอพพลิเคชั่นหรือบริการในพื้นที่แยกบน Linux หรือไม่? หรือบางทีคุณอาจต้องการทดสอบและดีบักแอปพลิเคชันโดยไม่รบกวนระบบที่เหลือของคุณ ถ้าใช่ คุณจะต้องเรียนรู้เกี่ยวกับ chroot ซึ่งเป็นกลไกที่มีประสิทธิภาพใน Linux ซึ่งช่วยให้คุณสร้างสภาพแวดล้อมแยกต่างหากภายในระบบของคุณ





สร้างวิดีโอประจำวัน เลื่อนเพื่อดำเนินการต่อกับเนื้อหา

เรามาสำรวจ chroot โดยละเอียด เรียนรู้เกี่ยวกับประโยชน์ของมัน กรณีการใช้งาน วิธีตั้งค่าบนระบบ Linux และถ้าจำเป็น วิธีหลีกเลี่ยง





chroot ใน Linux คืออะไร?

  สาธิตคำสั่ง chroot

chroot หรือ change-root เป็นหนึ่งในรูปแบบที่ง่ายที่สุดและเก่าแก่ของซอฟต์แวร์การบรรจุคอนเทนเนอร์ที่ช่วยให้ผู้ใช้สามารถใช้งานแอปพลิเคชันและบริการแบบแซนด์บ็อกซ์ได้อย่างปลอดภัย Sandboxing ในแง่การคำนวณคือกระบวนการแยกโปรแกรมในพื้นที่จำกัดด้วยทรัพยากรที่กำหนดไว้ล่วงหน้า





แอพที่ดีที่สุดสำหรับ windows 10 แล็ปท็อปดาวน์โหลดฟรี

หากคุณคุ้นเคยกับ นักเทียบท่าและวิธีการทำงาน คุณสามารถคิดได้ว่า chroot เป็นรุ่นที่ลดขนาดลงอย่างมาก chroot ทำงานโดยการเปลี่ยนไดเร็กทอรีรากของโปรแกรม จำกัดการเข้าถึงและการมองเห็น และทำให้มีชั้นการแยกและความปลอดภัยเพิ่มขึ้น

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



chrooting โปรแกรมเป็นวิธีที่ยอดเยี่ยมในการทดสอบความน่าเชื่อถือในพื้นที่ปลอดภัยโดยไม่ต้องแก้ไขไฟล์ของระบบจริง นอกจากนี้ คุณยังสามารถลดความเสี่ยงด้านความปลอดภัยที่เกิดจากแพ็คเกจที่ถูกบุกรุกได้ เนื่องจากในสภาพแวดล้อมที่มี chrooted แพ็คเกจที่ถูกบุกรุกจะไม่สามารถเข้าถึงและแก้ไขไฟล์ระบบที่มีความละเอียดอ่อนได้

โปรแกรมจะสามารถเข้าถึงและดูไฟล์ที่นำเข้าไปยังไดเร็กทอรี chrooted หรือที่เรียกว่า 'chroot jail' เท่านั้น สิ่งนี้ทำให้โปรแกรมและกระบวนการย่อยไม่รบกวนระบบฐาน





คุก chroot คืออะไร?

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

จะทำอย่างไรถ้า iphone ของคุณถูกแฮ็ก

ตอนนี้แนวคิดของ chroot ชัดเจนสำหรับคุณแล้ว มาลงมือปฏิบัติจริงและเรียนรู้วิธีสร้างคุก chroot และกระบวนการวางไข่ในนั้น





วิธีสร้างคุก chroot และรันโปรแกรมในนั้น

  chrooting ไดเร็กทอรีและวางไข่ bash-1

คุก chroot เป็นไดเร็กทอรีที่มีทรัพยากร ไฟล์ ไบนารี และการพึ่งพาอื่นๆ ที่จำเป็นทั้งหมดที่โปรแกรมต้องการเพื่อให้ทำงานได้อย่างถูกต้อง

อย่างไรก็ตาม สภาพแวดล้อมของคุก chroot นั้นถูกจำกัดอย่างมาก และโปรแกรมไม่สามารถเข้าถึงไฟล์ภายนอกหรือไฟล์เพิ่มเติมและทรัพยากรระบบได้ ซึ่งแตกต่างจากสภาพแวดล้อม Linux ทั่วไป

ตัวอย่างเช่น ในการรันเชลล์ Bash ในคุก chroot คุณจะต้องคัดลอกไบนารีของ Bash และการอ้างอิงทั้งหมดไปยังไดเร็กทอรี chroot

ต่อไปนี้เป็นขั้นตอนในการสร้างคุก chroot และวางไข่ Bash:

  1. เพื่อให้โปรแกรมทำงานได้สำเร็จ คุณต้องคัดลอกการอ้างอิงทั้งหมดไปยังไดเร็กทอรี chrooted ลองหาไบนารี ในกรณีนี้คือ Bash และตำแหน่งของการขึ้นต่อกันทั้งหมดโดยใช้คำสั่ง which และ ldd:
     which bash 
    ldd /usr/bin/bash
  2. ตอนนี้คุณทราบตำแหน่งของไบนารีและการขึ้นต่อกันแล้ว ให้คัดลอกไปยังไดเร็กทอรีที่คุณต้องการเปลี่ยนเป็นคุก chroot การใช้คำสั่ง mkdir สร้างไดเร็กทอรีที่จำเป็นและใช้ คำสั่งซีพี ให้คัดลอกไฟล์ทั้งหมดไปยังไดเรกทอรีที่เกี่ยวข้อง:
     mkdir bin lib lib64 && cp -r /lib/ * ./lib && cp -r /lib64/* /lib64/ && cp /bin/bash /bin/
  3. สุดท้าย เมื่อคัดลอกโปรแกรมและการขึ้นต่อกันของโปรแกรมแล้ว คุณสามารถเรียกใช้คำสั่ง chroot ด้วยสิทธิพิเศษระดับสูงโดยใช้คำนำหน้า sudo เพื่อวางสภาพแวดล้อม chroot ในไดเร็กทอรีที่เลือก ตามค่าเริ่มต้น มันจะวางไข่ Bash shell นี่คือคำสั่งให้พิมพ์:
     sudo chroot directory_name

นั่นคือขั้นตอนทั้งหมดในการสร้างคุก chroot และเรียกใช้โปรแกรมภายใน

วิธีแยกออกจากคุก chroot

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

youtube นับเป็นโซเชียลมีเดียหรือไม่

ในทางกลับกัน หากคุณเป็นผู้ทดสอบการเจาะระบบและได้เข้าสู่ระบบเซิร์ฟเวอร์ SSH ของเป้าหมายแล้ว การค้นหาว่าเป็นสภาพแวดล้อมแบบ chrooted อาจทำให้หงุดหงิดและรู้สึกเหมือนเป็นทางตัน

อย่างไรก็ตาม มีหลายวิธีที่จะหลบหนีออกจากคุก chroot ที่กำหนดค่าผิดพลาด บางวิธีต้องใช้ทักษะการเขียนโปรแกรม C ในขณะที่วิธีอื่นๆ สามารถทำได้โดยอัตโนมัติด้วยเครื่องมือ วิธีง่ายๆ ในการหลบหนี chroot คือ:

  • การโทร chroot ที่ซ้อนกัน
  • การเรียก chroot ที่ซ้อนกันพร้อมตัวอธิบายไฟล์ที่บันทึกไว้
  • เมานต์วิธีรูต
  • ศาสตราจารย์หลบหนี
  • หลบหนี

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

ตอนนี้คุณรู้ทุกอย่างเกี่ยวกับ chroot ใน Linux แล้ว

ตอนนี้คุณรู้แล้วว่า chroot คืออะไร ทำงานอย่างไร และใช้งานอย่างไร คุณควรจะสามารถใช้งานแอปพลิเคชันแบบแซนด์บ็อกซ์ได้อย่างง่ายดายจากเทอร์มินัล โปรดทราบว่า อย่างที่คุณทราบ มีหลายวิธีในการแยกตัวออกจากสภาพแวดล้อมที่มี chrooted

นี่แสดงให้เห็นว่า chroot ไม่ได้ถูกออกแบบมาเพื่อใช้เป็นคุณลักษณะด้านความปลอดภัย ดังนั้นคุณจึงควรใช้ chroot ด้วยความระมัดระวัง เนื่องจากการกำหนดค่าที่ไม่เหมาะสมอาจทำให้แบ็คไฟร์และความปลอดภัยของระบบของคุณลดลงได้

ทางที่ดีควรใช้โซลูชันแซนด์บ็อกซ์โดยเฉพาะ เช่น ซอฟต์แวร์คอนเทนเนอร์หรือเครื่องเสมือน ทั้งสองอย่างนี้เน้นที่การทำแซนด์บ็อกซ์และการรักษาความปลอดภัย ดังนั้นหากไม่มีซีโร่เดย์ใหม่ในเมือง คุณก็ไม่ต้องกังวลเกี่ยวกับความปลอดภัยและความสมบูรณ์ของระบบของคุณ

หากคุณไม่แน่ใจว่าจะเลือกระหว่างซอฟต์แวร์คอนเทนเนอร์และซอฟต์แวร์เสมือนจริง คุณควรลองใช้ทั้งสองอย่างและดูด้วยตัวคุณเองว่าซอฟต์แวร์ใดดีกว่ากัน