Sunday, December 4, 2011

แนวคิด Samba PDC เรียกใช้ user จาก Zimbra

แนวคิด Samba PDC เรียกใช้ user จาก Zimbra

จากหัวข้อ การเพิ่ม user ล๊อกกินวินโดวส์แบบ Primary Domain ด้วย Zimbra Admin UI นั้นมีแนวคิดมาจาก 2 เรื่องหลัก ๆ คือ 1. ระบบความปลอดภัยในการเก็บ username ของ Samba 2. การกำหนดสิทธิ์เข้าใช้เครื่องคอมพิวเตอร์ โดยระบุตัวตนผู้ใช้งานได้

ข้อบกพร่องที่พบเห็นในการจัดการ user ของ Samba แบบเท็กไฟล์

1. เพิ่ม user สองขั้นตอนทั้งใน linux และ smbpasswd การเพิ่ม, ลบ, แก้ไขเกี่ยวกับ user ต้องทำผ่าน command ถ้าหาก user มีจำนวนมากโอกาสผิดพลาดย่อมมีมากขึ้น จากประสบการณ์พบว่าต้องกำหนด password ใหม่ให้กับ user ทั้งที่เมื่อวานใช้งานได้อยู่ ประมาณ 5 ครั้งต่อเดือนต่อ user 200 คน (ไม่ทราบสาเหตุแน่ชัดว่าเกิดจากอะไร)

2. ผู้ใช้งานเมื่อต้องการเปลี่ยน password ไม่มีหน้าจอ GUI ให้เปลี่ยน ซึ่ง admin ต้อง setup Apache + CGI สำหรับเปลี่ยนพาสเวิร์ดอีก process หนึ่ง ไม่เกิดความยืดหยุ่น ไม่เป็นมิตรต่อผู้ใช้งาน

3. Samba มีฟังก์ชั่นเรียกใช้งานผ่าน Authenticated User อื่น ๆ เช่นเรียกใช้จาก AD , เรียกใช้ผ่าน LDAP server เรียกใช้ผ่านดาต้าเบสเช่น MySQL เป็นต้น หากพิจารณาถึงความคุ้มค่าต่อการลงทุนแล้ว การเรียกใช้จาก AD ถือว่ามีราคาแพงสุด และเห็นว่าเมื่อใช้ AD แล้วก็ไม่ควรใช้ SAMBA ให้ซ้ำซ้อนกัน การเรีกใช้ จาก LDAP เป็นทางเลือกที่น่าใช้ แต่ admin ต้องมีทักษะในการ setup ตัว LDAP อย่างมาก และต้องไม่ลืมที่จะให้ผู้ใช้งานเข้ามาเปลี่ยนพาสเวิร์ดได้เองด้วย การจัดทำ LDAP จึงเป็นภาระงานส่วนเพิ่มเข้ามา แทนที่จะดูแล Samba Server อย่างเดียว

ทำไมต้อง PDC ของ Samba ใช้ AD Windows ไม่ดีกว่าหรือ?

ความปลอดภัยขั้นต้นของการใช้เครื่องคอมพิวเตอร์ในบริษัทก็คือการพิสูจน์ว่าใครเป็นผู้เข้าไปใช้งาน เวลาใด โดยเฉพาะบริษัทที่จัดให้ใช้คอมพิวเตอร์แบบพับลิค ในพื้นที่ๆเข้าถึงได้ทุกคน ไม่มีใครเป็นเจ้าของ จำเป็นต้องใช้การพิสูจน์ตัวตนด้วยการ login และให้ logout เมื่อเลิกใช้งาน เมื่อใช้คอมพิวเตอร์เครื่องอื่น ๆ ก็ใช้ user Id ของตน login เข้าไปใช้งานได้ จึงมี server ที่ทำหน้าที่เก็บ user Id เพื่อพิสูจน์ตัวตนในการเข้าใช้งานดังกล่าว ซึ่ง Samba สามารถทำหน้าที่นี้ได้อย่างดีด้วยการจัดทำเป็น Primary Domain ของระบบ (แทน WindowsNT และ Windows 2003) ในงบประมาณที่บริษัทไม่ต้องจ่ายค่าไลเซนต์เลยแม้แต่บาทเดียว
ผู้ใช้ต้องได้รับการพิสูจน์ตัวตนก่อนเข้าใช้เครื่องใด ๆ

ถ้าเพียงแค่ใช้กำหนด User ID และการพิสูจน์ตัวตนเข้าใช้งาน Samba PDC ก็น่าจะเพียงพอ แต่ถ้าต้องการ กำหนดสิทธิ์และเซอร์วิสให้กับผู้ใช้แต่ละรายเช่น ผู้ใช้รายนี้มีสิทธิ์ระดับไหนใน resource ต่าง ๆของเน็ตเวิร์ก จะสามารถเข้าถึงไฟล์อะไรบ้าง กำหนดช่วงเวลาที่ให้เข้าใช้งานได้หรือไม่ได้ เช่นนี้ ก็คงต้องใช้ AD ของ Windows เข้ามาจัดการแทน เพราะ PDC นั้นอยู่บนหลักการพิสูจน์ตัวตนเท่านั้น ไม่ได้ถึงขั้นกำหนด permission ต่าง ๆให้ับ UserID แต่อย่างใด (ถึงแม้ว่าใน Samba 4 จะมุ่งหน้าเป็น AD ก็ยังคงต้องรอต่อไป) ถ้าบริษัทมี resource ในเน็ตเวิร์ก มีไฟล์จำนวนมากที่ใช้ร่วมกัน กระจายอยู่ต่างสาขา ผู้ใช้งานมีอิสระในการเข้าถึงจากจุดใดก็ได้ในโลกนี้ การใช้ AD เข้ามาควบคุมเป็นเรื่องที่สมเหตุสมผลแม้จะต้องลงทุนมากก็ตาม ถ้าเป็น SME ที่มี resource ในเน็ตเวิร์กไม่มากและการแชร์ริ่งไฟล์ หรือสิทธิ์ในการใช้โปรแกรมไม่มากนัก การลงทุน AD เป็นเรื่องที่ควรพิจารณาอย่างรอบคอบอีกครั้ง

Zimbra เป็นเมล์เซิร์ฟเวอร์ที่มีโปรเซสย่อยต่าง ๆ ทำงานเป็นฉากหลัง หนึ่งในโปรเซสนั้นคือ LDAP Server ทำหน้าที่สร้าง User ID มีการจัดการผ่าน Web Interface ที่สวยงาม ผู้ใช้เปลี่ยนพาสเวิร์ดได้เองที่หน้าจอ login เข้าเมล์ของตน ด้วยมาตรฐานของโปรโตคอล LDAP จึงใช้ร่วมกับ server อื่น ๆ ที่ใช้ LDAP ด้วยกันได้ ซึ่ง Samba เองมีฟังก์ชั่นการเข้าถึง LDAP อยู่แล้ว จึงสามารถใช้ UserID ร่วมกันได้ทันที ถือว่าเป็นการทำงานที่คุ้มค่าสำหรับ admin และได้มูลค่างานมากกว่าต้นทุนสำหรับบริษัท กล่าวคือ
ใช้ OpenLDAP ของ ร่วมกันระหว่าง Zimbra & Samba

1. Admin ไม่ต้องติดตั้งโปรแกรม OpenLDAP อีกต่างหาก ซึ่งมีรายละเอียดปลีกย่อยในการ setup ค่อนข้างมาก เมื่อติดตั้งเสร็จแล้ว ก็หาคนดูแลต่อไปได้ยาก เพราะการ setup เป็น knowhow เฉพาะตน ประเภท Do it Yourself

2. Zimbra ติดตั้งง่าย การกำหนดค่าต่าง ๆ ดูเป็นระเบียบเข้าใจได้ง่าย ไม่ซับซ้อน หน้าจอ config ต่าง ๆ เป็นมาตรฐานเดียวกัน คนอื่นสามารถ MA ต่อได้

3. สำหรับบริษัท ได้ระบบ Mail แบบ Collaboration ฟรีๆ โดยไม่ต้องเสียเงินเพิ่ม ได้เครื่องมือในการทำงานออฟฟิตที่จะสามารถประหยัดเวลา ประหยัดการใช้ทรัพยากร และเพิ่มโอกาสให้การทำงานมีประสิทธิภาพมากขึ้น อีกด้วย

ในบทความที่ผ่านมาผมได้แนะนำลิงค์ howto สำหรับ setup ไว้แล้ว คราวหน้าผมจะ setup demo ให้ดูเป็นตัวอย่างคอยติดตามตอนต่อไปครับ....

0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More