ความสามารถในการบันทึก SSH เทียบเท่ากับการบันทึก su สำหรับการรับรองความถูกต้องส่วนตัว / สาธารณะหรือไม่?


11

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

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

อย่างไรก็ตามบางระบบถูกล็อคดังนั้นฉันต้องใช้คำสั่ง "su" เพื่อไปยังบัญชีที่ใช้ร่วมกัน หาเรื่อง! กลับไปที่การป้อนรหัสผ่านตลอดเวลา!

มีข้อมูลที่ถูกบันทึกไว้เพียงพอกับการรับรองความถูกต้องของคีย์สาธารณะ / ส่วนตัวของ SSH หรือไม่ซึ่งฉันอาจมีโอกาสพอสมควรในการขอเปลี่ยนนโยบายเพื่ออนุญาตให้เข้าสู่ระบบจากระยะไกลไปยังบัญชีที่ใช้ร่วมกันได้

ฉันมีผู้ดูแลระบบดูใน / var / log / secure และเพิ่งบอกว่าได้รับอนุญาตให้ใช้รหัสสาธารณะสำหรับบัญชีผู้ใช้จากที่อยู่ IP เฉพาะ ไม่ได้บอกว่าใครเป็นกุญแจสาธารณะหรือใครเป็นกุญแจส่วนตัวของใครในการตรวจสอบสิทธิ์

คำตอบ:


13

มีการบันทึกหลายระดับผ่านsshd_configไฟล์ ดูหน้าคนLogLevelและมองหา ระดับเริ่มต้นคือINFOแต่มันง่ายมากที่จะชนVERBOSEหรือแม้แต่หนึ่งในDEBUG#เลเวล

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


โหวตขึ้นเพื่อแนะนำการเปลี่ยน sudo
Matt Simmons

6

อีกวิธีหนึ่งก็คือการย้ายauthorized_keysออกไปนอกขอบเขตของผู้ใช้ (ตัวอย่างเช่น/etc/ssh/authorized_keys) ดังนั้นเฉพาะ sysadmins เท่านั้นที่จะควบคุมว่าจะใช้คีย์สาธารณะใดบ้างในการเข้าสู่บัญชีที่กำหนด

เราเคยเปลี่ยนAuthorizedKeysFileคำสั่งsshd_configไปเป็นสิ่งต่อไปนี้

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

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

-rw-------  1 root root    1,7K 2008-05-14 14:38 root
-rw-r-----  1 root john     224 2008-11-18 13:15 john

แต่ละไฟล์มีชุดของกุญแจสาธารณะที่จะได้รับอนุญาตให้เข้าสู่บัญชีที่กำหนด มันค่อนข้างทั่วไปสำหรับแต่ละบัญชีผู้ใช้ที่มีกลุ่มตามลำดับเช่นกัน

การใช้กุญแจสาธารณะ / กุญแจส่วนตัวเป็นวิธีที่ดีกว่าสำหรับการควบคุมการเข้าถึงของผู้ใช้จากระยะไกล คุณไม่จำเป็นต้องเปลี่ยนรหัสผ่านทุกเดือน (คุณไม่ต้องตั้งค่าใด ๆ ) และไม่จำเป็นต้องเปลี่ยนรหัสผ่านเพียงเพราะพนักงานออกจาก บริษัท ของคุณเพียงแค่ลบกุญแจสาธารณะของพวกเขา และแน่นอนว่ามีตัวเลือก SSH ( http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8#SSHRC) คุณสามารถปรับละเอียดไปยังสิ่งที่และจากที่ผู้ใช้ที่กำหนดอาจมีการเข้าถึง


1

การรับรองความถูกต้องของคีย์สาธารณะ / ส่วนตัวของ SSH นั้นแยกจากการรับรองความถูกต้องของโฮสต์ คุณโชคไม่ดีที่นี่ คุณสามารถร้องขอได้ว่าสมาชิกของกลุ่มใดกลุ่มหนึ่งจะได้รับอนุญาตให้เรียกใช้คำสั่งการจัดการบางอย่างผ่านทางsudoโดยไม่มีรหัสผ่าน - เช่นตัวอย่างร้องให้ผู้ใช้ในsecretariesกลุ่มจัดการบัญชี:


# file: /etc/sudoers
...
%secretaries    ALL= NOPASSWD: /usr/bin/adduser, /usr/bin/rmuser   
...

สองสิ่งนี้ .. มันง่ายกว่ามากในการตรวจสอบเมื่อคุณใช้ SUDO .. คุณสามารถเห็นผู้ใช้ joe พิมพ์ "sudo appname -options" ซึ่งง่ายกว่าการเห็นรูทที่พิมพ์ "appname -options" จากนั้นต้องกลับไปคืนดี ทั้งหมดถูกล็อกอินเป็นรูทในเวลานั้น
Brian

ตกลงนั่นช่วยได้ อย่างไรก็ตามงานบางอย่างของเราคือการเริ่มและหยุดกระบวนการ daemon sudo จะอนุญาตให้เราเรียกใช้สคริปต์ "เริ่มต้น" และ "หยุด" เป็นชื่อผู้ใช้ของกลุ่มที่ใช้ร่วมกันหรือไม่ (นั่นคือไม่ใช่รูท) เราต้องการให้กระบวนการเป็นเจ้าของโดยชื่อผู้ใช้บัญชีที่ใช้ร่วมกันที่เราตั้งค่า
David I.

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