การจัดการข้อมูลรับรองเซิร์ฟเวอร์สำหรับ Linux และ Windows


12

เราเป็นร้านค้าที่ค่อนข้างเล็ก (เท่าของจำนวน sysadmins) ด้วยการผสมผสานของ RHEL, Solaris, Windows 2003 และ Windows 2008; ประมาณ 200 เซิร์ฟเวอร์ในทุก ๆ

สำหรับบัญชีผู้ดูแลระบบของเรา ( rootใน Linux และadmnistratorใน Windows) เรามีรูปแบบรหัสผ่านที่ขึ้นอยู่กับตำแหน่งศูนย์ข้อมูลและคุณสมบัติอื่น ๆ ของเซิร์ฟเวอร์

บน Linux ปฏิบัติในปัจจุบันของเราคือการสร้างร่วมกันบัญชีที่ไม่ใช่สิทธิพิเศษที่เราสามารถที่จะsu rootในระบบที่ใช้ Windows เราสร้างบัญชีเพิ่มเติมด้วยสิทธิ์ผู้ดูแลระบบ บัญชีทั้งสองนี้ใช้รหัสผ่านเดียวกัน

สิ่งนี้ได้พิสูจน์แล้วว่าไม่มีประสิทธิภาพมาก เมื่อใครบางคนออกจากร้านค้าของเราเราต้อง:

  1. เปลี่ยนรูปแบบรหัสผ่านสำหรับบัญชีผู้ดูแลระบบ
  2. สร้างรหัสผ่านผู้ดูแลระบบใหม่สำหรับเซิร์ฟเวอร์แต่ละเครื่องและทุกเซิร์ฟเวอร์
  3. มากับรหัสผ่านบัญชีที่ไม่ใช่ผู้ดูแลระบบใหม่
  4. แตะเซิร์ฟเวอร์ทุกเครื่องและเปลี่ยนรหัสผ่าน

ฉันอยากรู้ว่าใครในสภาพแวดล้อมที่คล้ายกันสามารถแนะนำวิธีการจัดการข้อมูลรับรองเหล่านี้ได้อย่างมีสติ ข้อมูลที่เกี่ยวข้องบางอย่าง:

  • แม้ว่าเซิร์ฟเวอร์ของเราส่วนใหญ่เป็นส่วนหนึ่งของโดเมนโฆษณาของเรา แต่ไม่ใช่ทั้งหมด
  • เราจัดการเซิร์ฟเวอร์ Linux ทั้งหมดของเราด้วย Puppet (การตรวจสอบความถูกต้องที่สำคัญคือตัวเลือกที่ฉันคิด
  • เราจัดหา Linux severs ด้วย Cobbler
  • ฮาร์ดแวร์ของเราประมาณ 10% ทุ่มเทให้กับ VMWare ในกรณีดังกล่าวเราใช้เทมเพลต VMWare สำหรับการสร้างเซิร์ฟเวอร์

ความคิดหรือข้อเสนอแนะใด ๆ จะได้รับการชื่นชมอย่างมาก นี่เป็นปัญหาที่เกิดขึ้นในบางครั้งและในที่สุดฉันก็ต้องการแก้ไข

คำตอบ:


10

ข้อเสนอแนะเล็กน้อยที่ฉันจะได้คือ:

  • เซิร์ฟเวอร์ที่เชื่อมต่อ Windows AD สามารถมีรหัสผ่านผู้ดูแลระบบภายในของพวกเขาตั้งค่าผ่านนโยบายกลุ่มโดยใช้ Group Policy Preferences (GPP) หรือสคริปต์เริ่มต้นคอมพิวเตอร์ ดูhttp://social.technet.microsoft.com/Forums/en-US/winserverGP/thread/b1e94909-bb0b-4e10-83a0-cd7812dfe073/ดู

  • จำกัด การสร้างบัญชีท้องถิ่นบนเซิร์ฟเวอร์ Windows เว้นแต่จำเป็น ใช้บัญชี AD เมื่อเป็นไปได้

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

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

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

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

หวังว่าจะช่วย


ปัญหาของฉันกับ LDAP คือจุดหนึ่งของความล้มเหลว ฉันต้องการจัดการบัญชีผ่าน Puppet และขอขอบคุณข้อเสนอแนะของคุณ ขอบคุณ @Bernie!
Belmin Fernandez

1
@Beaming หากคุณใช้ Active Directory คุณสามารถมี Domain Controller ได้มากกว่าหนึ่งตัว (ไม่มีความล้มเหลว) และชี้ไปที่ชื่อโดเมน DNS เช่น domain.com เพื่อรับ Domain Controller ทั้งหมดสำหรับการค้นหา LDAP หรือคุณสามารถตั้งค่าระเบียน A DNS ให้ชี้ไปยัง DC ที่ระบุได้หากคุณต้องการเพียงสองหรือสามรายการเพื่อตอบสนองต่อ LDAP เช่น ldap.domain.com ฉันไม่ได้ใช้ Puppet แต่กุญแจสำคัญในการจัดการผู้ใช้อย่างง่ายนั้นไม่ได้มีแหล่งข้อมูลเดียวที่เป็นไปได้ เป็นไปได้ว่า Puppet สามารถเชื่อมต่อกับเซิร์ฟเวอร์ LDAP ส่วนหลังได้หากคุณต้องการใช้วิธีดังกล่าว
เบอร์นีไวท์

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

2
@Bernie - เกี่ยวกับประเด็นที่ 3 ของคุณ เมื่อใช้ sudo ไม่มีใครจำเป็นต้องรู้รหัสผ่านรูท ด้วยการระบุ "NOPASSWD" ในรายการ sudo ผู้ใช้ไม่จำเป็นต้องป้อนรหัสผ่านของตนเอง นี่ไม่เกี่ยวอะไรกับรหัสผ่านรูท
EEAA

@ErikA +1 จริงมาก ลบการอ้างอิงถึง NOPASSWD เนื่องจากไม่ช่วยตอบคำถาม /
Bernie White

2

คุณสามารถลองดูว่าFreeIPA นั้นเหมาะกับคุณหรือไม่

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

Freeipa รองรับไคลเอนต์ Linux, Solaris และ Windows คุณอาจสูญเสียคุณสมบัติโฆษณาบางอย่างและฉันไม่แน่ใจว่าข้อ จำกัด อื่น ๆ ที่ไคลเอ็นต์ Windows จะมี

มันมีคุณสมบัติการจำลองแบบดังนั้นคุณสามารถหลีกเลี่ยง SPOF แบ็กเอนด์คือ LDAP ดังนั้นคุณสามารถนำเครื่องมือมากมายที่ผู้คนใช้สำหรับ LDAP กลับมาใช้ใหม่เช่นสคริปต์สำรอง

รองรับการควบคุมการเข้าถึงจากโฮสต์ดังนั้นคุณจึงสามารถพูดได้ว่า "user X สามารถล็อกอินได้เฉพาะเซิร์ฟเวอร์ Y"

นอกจากนี้ยังมีการประสาน AD ฉันไม่ใช่คน Windows ดังนั้นฉันไม่รู้เลยว่ามันหมายถึงอะไร


1

อย่าใช้บัญชีผู้ดูแลระบบมาตรฐาน ที่ด้านของ Windows ให้สร้างบัญชีผู้ใช้และบัญชีผู้ดูแลระบบสำหรับผู้ใช้แต่ละคนที่ต้องการสิทธิ์การเข้าถึงระดับผู้ดูแลระบบ คุณสามารถใช้เครื่องมือใด ๆ เพื่อซิงค์กับ UNIX

หากมีคนออกไปคุณเพียงแค่ลบบัญชีผู้ใช้และบัญชีผู้ดูแลระบบของพวกเขา

เพื่อรักษาความปลอดภัยบัญชีผู้ดูแลระบบมาตรฐานให้ใช้รหัสผ่านที่ยาวและซับซ้อนจริง ๆ จากนั้นตรวจสอบให้แน่ใจว่าบุคคลใดบุคคลหนึ่งมีเพียงครึ่งเดียว หากพวกเขาต้องการใช้บัญชีทั้งหมดพวกเขาต้องไปหาคนที่มีอีกครึ่งหนึ่ง

มันปลอดภัยพอ ๆ กับที่ฉันคิดได้

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