ผลกระทบของรายการใน / etc / securetty


19

ตามค่าเริ่มต้นบน RHEL 5.5 ฉันมี

[deuberger@saleen trunk]$ sudo cat /etc/securetty 
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11

ความแตกต่างระหว่างแต่ละประเภทรายการคืออะไร (console, vc / , และ tty ) ผลลัพธ์สุดท้ายของการเพิ่มและลบแต่ละประเภทรายการคืออะไร

ความเข้าใจของฉันคือสิ่งที่พวกเขามีผลต่อวิธีและเวลาที่คุณสามารถเข้าสู่ระบบ แต่มีผลกระทบอื่น ๆ ? และเมื่อใดที่คุณและเมื่อคุณไม่สามารถลงชื่อเข้าใช้ขึ้นอยู่กับว่ามีรายการใดบ้าง

แก้ไข 1 สิ่งที่ฉันรู้คือ tty 1-6 สอดคล้องกับว่าคุณสามารถเข้าสู่ระบบจาก 6 คอนโซลแรกที่คุณเข้าถึงโดยใช้ CTRL-ALT-F1 ถึง CTRL-ALT-F6 ฉันคิดเสมอว่านั่นเป็นคอนโซลเสมือนดังนั้นฉันจึงสับสนเล็กน้อย และสิ่งที่คอนโซลจะสอดคล้องกันด้วย? ขอบคุณ

แก้ไข 2 จะเกิดอะไรขึ้นถ้ามีในโหมดผู้ใช้คนเดียว?

คำตอบ:


34

/etc/securettyถูกปรึกษาโดยโมดูล pam_securetty เพื่อตัดสินใจว่ารูทเทอร์มินัลเสมือน (ttyS) ใดที่ได้รับอนุญาตให้ลงชื่อเข้าใช้ ในอดีต/etc/securettyเคยได้รับการปรึกษาจากโปรแกรมเช่นการเข้าสู่ระบบโดยตรง แต่ตอนนี้ PAM จัดการสิ่งนั้น ดังนั้นการเปลี่ยนแปลง/etc/securettyจะมีผลกับทุกสิ่งที่ใช้ PAM กับไฟล์การกำหนดค่าที่ใช้ pam_securetty.so ดังนั้นเฉพาะโปรแกรมเข้าสู่ระบบจะได้รับผลกระทบตามค่าเริ่มต้น /etc/pam.d/loginใช้สำหรับการล็อกอินโลคัลและ/etc/pam.d/remoteใช้สำหรับการล็อกอินรีโมต (เช่น telnet)

ประเภทรายการหลักและผลกระทบมีดังนี้:

  • หาก/etc/securettyไม่มีอยู่ root จะอนุญาตให้ล็อกอินจาก tty ใด ๆ
  • หาก/etc/securettyมีอยู่และว่างเปล่าการเข้าถึงรูทจะถูก จำกัด ในโหมดผู้ใช้เดี่ยวหรือโปรแกรมที่ไม่ได้ จำกัด โดย pam_securetty (เช่น su, sudo, ssh, scp, sftp)
  • หากคุณใช้ devfs (ระบบไฟล์ที่เลิกใช้สำหรับการจัดการ / dev) การเพิ่มรายการของรูปแบบ vc / [0-9] * จะอนุญาตให้ล็อกอินรูทจากหมายเลขคอนโซลเสมือนที่กำหนด
  • หากคุณใช้ udev (สำหรับการจัดการอุปกรณ์แบบไดนามิกและการเปลี่ยนเป็น devfs) การเพิ่มรายการของแบบฟอร์ม tty [0-9] * จะอนุญาตให้ล็อกอินรูทจากหมายเลขคอนโซลเสมือนที่กำหนด
  • การแสดงรายการคอนโซลใน securetty โดยปกติจะไม่มีผลตั้งแต่ / dev / console points ไปยังคอนโซลปัจจุบันและโดยปกติจะใช้เป็นชื่อไฟล์ tty ในโหมดผู้ใช้รายเดียวซึ่งไม่ได้รับผลกระทบจาก /etc/securetty
  • การเพิ่มรายการเช่น pts / [0-9] * จะอนุญาตให้โปรแกรมที่ใช้ pseudo-terminal (pty) และ pam_securetty เพื่อล็อกอินเข้าสู่ root โดยสมมติว่า pty ที่จัดสรรเป็นหนึ่งในรายการ เป็นความคิดที่ดีที่จะไม่รวมรายการเหล่านี้เพราะมีความเสี่ยงด้านความปลอดภัย ตัวอย่างเช่นจะอนุญาตให้บางคนลงชื่อเข้าใช้รูทผ่าน telenet ซึ่งส่งรหัสผ่านเป็นข้อความธรรมดา (โปรดทราบว่า pts / [0-9] * เป็นรูปแบบสำหรับ udev ที่ใช้ใน RHEL 5.5 ซึ่งจะแตกต่างกันหากใช้ devfs หรือรูปแบบอื่น ๆ ของการจัดการอุปกรณ์)

สำหรับโหมดผู้ใช้เดี่ยว/etc/securettyไม่ได้รับการพิจารณาเนื่องจากใช้ sulogin แทนการเข้าสู่ระบบ ดูหน้า sulogin man สำหรับข้อมูลเพิ่มเติม นอกจากนี้คุณสามารถเปลี่ยนโปรแกรมเข้าสู่ระบบที่ใช้ใน/etc/inittabแต่ละ runlevel

โปรดทราบว่าคุณไม่ควรใช้/etc/securettyเพื่อควบคุมการเข้าสู่ระบบรูทผ่าน ssh การทำเช่นการเปลี่ยนแปลงที่มูลค่าของ PermitRootLogin /etc/ssh/sshd_configใน โดยค่าเริ่มต้น/etc/pam.d/sshdไม่ได้กำหนดค่าให้ปรึกษา pam_securetty (และดังนั้น/etc/securetty) คุณสามารถเพิ่มบรรทัดเพื่อทำเช่นนั้น แต่ ssh ไม่ได้ตั้งค่า tty จริงจนกระทั่งบางครั้งหลังจากระยะ auth ดังนั้นมันไม่ทำงานตามที่คาดไว้ ในช่วงการตรวจสอบสิทธิ์และขั้นตอนของบัญชี - อย่างน้อยสำหรับ openssh - tty (PAM_TTY) จะถูกฮาร์ดโค้ดเป็น "ssh"

คำตอบข้างต้นขึ้นอยู่กับ RHEL 5.5 ส่วนใหญ่จะเกี่ยวข้องกับการกระจายปัจจุบันของระบบ * ระวังอื่น ๆ แต่มีความแตกต่างซึ่งบางส่วนที่ฉันสังเกตเห็น แต่ไม่ทั้งหมด

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

แหล่งที่มา:


+1 สำหรับการสละเวลาในการตอบสนองในเชิงลึกดังกล่าว ฉันไม่แน่ใจว่าทำไมไม่มีคำตอบที่ยอมรับได้ที่นี่ ดูเหมือนว่าคุณตอบคำถามของ OP แล้ว ฉันชอบความคิดเห็น @Alexios "vc / X และ ttyX เป็นคำพ้องความหมาย [ous] ... "
harperville

Debian เพิ่งลบ / etc / securetty มันพิจารณาแล้วว่าล้าสมัยและมีปัญหามากกว่าที่คิด มันถูกใช้สำหรับ telnet และ rlogin แต่เพื่อให้การเข้าสู่ระบบคอนเทนเนอร์ทำงาน pseudoterminals เช่น "pts / 0" จะถูกเพิ่มในบางระบบซึ่งเอาชนะวัตถุประสงค์ดั้งเดิม หากคุณต้องการ จำกัด การเข้าสู่ระบบรูทไปยังชุดอุปกรณ์เฉพาะมีกลไกที่เชื่อถือได้มากกว่า ดูbugs.debian.org/731656
dlitz

4

vc/XและttyXคำพ้องความหมาย: เส้นทางที่แตกต่างไปยังอุปกรณ์เดียวกัน จุดสำคัญของความซ้ำซ้อนคือการจับคดีต่าง ๆ เพื่อไม่ให้คุณล็อค

ตามเนื้อผ้าlogin(และอาจเป็นไปได้gettyว่าฉันจำไม่ได้แน่นอน) จะตรวจสอบ/etc/securettyและปฏิเสธการrootเข้าสู่ระบบในเทอร์มินัลที่ไม่แสดง ในระบบที่ทันสมัยมีวิธีอื่นในการทำเช่นนี้และมาตรการรักษาความปลอดภัยอื่น ๆ ด้วย ตรวจสอบเนื้อหาของ/etc/login.defs(ซึ่งครอบคลุมการsecurettyทำงานของและแนะนำโดยsecuretty(5)manpage) และ/etc/pam.d/loginที่คุณสามารถควบคุมการทำงานของคุณสมบัตินี้

เนื่องจากsecurettyมีการตรวจสอบโดยloginวิธีการเข้าสู่ระบบที่ไม่ได้ใช้login(เช่น SSH with use_login=no, X display manager ฯลฯ ) จะไม่ได้รับผลกระทบ


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