แก้ไขคอนฟิก Samba เพื่อป้องกันปัญหาช่องโหว่ CVE-2017-7494

บอกแล้วว่าอย่าไปแซวคนใช้ Windows Server แล้วออกตัวว่าใช้ Samba บนลีนุกซ์จะปลอดภัย

ล่าสุดมีการแจ้งเตือนว่า Samba ที่ใช้งานกันอยู่ ตั้งแต่เวอร์ชัน 3.5 มีช่องโหว่อันตราย ที่ทำให้เครื่องอื่นสามารถรีโมทมารันโค้ด (exploit) ด้วยสิทธิ์ root ได้

มาดูวิธีการแก้ไขปัญหากัน

Continue reading “แก้ไขคอนฟิก Samba เพื่อป้องกันปัญหาช่องโหว่ CVE-2017-7494”

แก้ไขคอนฟิก Samba เพื่อรองรับ SMBv2

หลังจากดำเนินการรับมือ WannaCry อยู่หลายวัน พบปัญหาติดขัดหลายอย่าง หนึ่งในนั้นก็คือพอแก้ไขคอนฟิกปิด SMB1 ในเครื่อง Windows จะทำให้เรียกแชร์ไฟล์บนเซิร์ฟเวอร์ Samba ไม่ได้

เนื่องจากดีฟอลต์คอนฟิกของ Samba ที่ถูกติดตั้งบนลีนุกซ์เพื่อรันเป็นเซิร์ฟเวอร์ไฟล์แชร์หลายรุ่น ไม่ได้เปิดให้รองรับ SMB2 protocol เอาไว้ ทำให้ถ้าปิดคอนฟิกไม่ให้ใช้ SMB1 บน Windows Client จะทำให้ไม่สามารถเรียกไฟล์ที่แชร์ผ่าน Samba ได้

ลองมาดูรายละเอียดและวิธีการแก้ไขปัญหากัน

Continue reading “แก้ไขคอนฟิก Samba เพื่อรองรับ SMBv2”

คอนฟิก Samba 4 ให้ทำ Roaming User Profiles ใน Active Directory Domain Controller

หลังจาก ตั้ง Active Directory Domain Controller ด้วย Samba 4 บน Ubuntu 16.04 เรียบร้อยแล้ว อีกหนึ่งคุณสมบัติที่นิยมใช้กันภายในบริษัทคือ การเซ็ต Roaming User Profiles เพื่อให้ผู้ใช้งานสามารถล็อกอินจากเครื่อง Windows ไหนก็ได้ ที่เป็นสมาชิก AD Domain เดียวกัน แล้วจะได้หน้าจอ Desktop เหมือนกัน

หลักการทำงานคร่าวๆ คือ เมื่อผู้ใช้ที่มีการคอนฟิก Roaming User Profiles ไว้ ล็อกอิน หรือ Log on เข้าเครื่อง Windows ที่อยู่ใน AD Domain จะมีการดาวน์โหลด profiles ต่างๆ ของผู้ใช้ เช่นภาพ Desktop Background ไฟล์หรือโฟลเดอร์ที่อยู่บน Desktop มาจากแชร์โฟลเดอร์บนเซิร์ฟเวอร์ที่ถูกตั้งค่าไว้

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

ลองมาดูวิธีการคอนฟิก Samba 4 ให้สามารถทำ Roaming User Profiles ได้

Continue reading “คอนฟิก Samba 4 ให้ทำ Roaming User Profiles ใน Active Directory Domain Controller”

ตั้ง Active Directory Domain Controller ด้วย Samba 4 บน Ubuntu 16.04

นอกจากจะคอนฟิกแชร์ไฟล์ให้เครื่องอื่นที่รัน Windows สามารถเข้ามา Map Drive เพื่อเก็บไฟล์ไว้บนเซิร์ฟเวอร์ลีนุกซ์ได้แล้ว

Samba 4 ยังสามารถคอนฟิกให้เป็น Active Directory Domain Controller เพื่อควบคุมสิทธิ์ เช่นเก็บ Username, Password สำหรับการล็อกอินก่อนใช้งานเครื่อง Windows ที่เป็นสมาชิก (member) ของ Domain ได้

ลองมาดูวิธีการติดตั้งและคอนฟิกกัน

เนื่องจากปัญหาเรื่องแพ็คเกจใน Yum repo ของทั้ง CentOS 6 และ CentOS 7 ซึ่งยังไม่มีแพ็คเกจ rpm อย่างเป็นทางการ ในการคอนฟิกเป็น Domain Controller ในที่นี้จะขอเปลี่ยนมาใช้ Ubuntu 16.04

Continue reading “ตั้ง Active Directory Domain Controller ด้วย Samba 4 บน Ubuntu 16.04”

ติดตั้งและคอนฟิกเซิร์ฟเวอร์แชร์ไฟล์ด้วย Samba บน CentOS 7

Samba เป็นโปรแกรมหรือเซอร์วิสยอดนิยมอย่างหนึ่งที่สามารถนำมาติดตั้งบนลีนุกซ์ และคอนฟิกทำเป็นเซิร์ฟเวอร์แชร์ไฟล์ (File Sharing Server) ให้กับเครื่องอื่นๆ ได้ ไม่ว่าจะเป็น Windows, MAC OS X

ลองมาดูวิธีการติดตั้งและคอนฟิก Samba บน CentOS 7 เบื้องต้นกัน เพื่อให้ผู้ใช้งานจากเครื่องอื่น สามารถเรียกใช้ไฟล์ที่อยู่ใน home ของแต่ละคนบนเซิร์ฟเวอร์ได้

ในที่นี้จะแสดงวิธีการติดตั้ง คอนฟิกและแก้ไขปัญหาไปทีละขั้น เพื่อให้ผู้อ่านได้เข้าใจกระบวนการ เผื่อใช้เป็นแนวทางในการแก้ไขปัญหาได้

Continue reading “ติดตั้งและคอนฟิกเซิร์ฟเวอร์แชร์ไฟล์ด้วย Samba บน CentOS 7”

ซ่อนการแชร์ Printer ใน Samba

ไม่มีไรมาก หากแต่การแสดงแชร์ [Printers and Faxes] อาจสร้างความรำคาญหรือสับสนให้กับผู้ใช้งาน File Sharing Server โดยที่เซิร์ฟเวอร์ไม่มี Printer แต่อย่างใด

 

หากต้องการซ่อนการแชร์ Printer สามารถทำได้โดยเพิ่มออปชั่นในส่วนของ [global] ในไฟล์ /etc/samba/smb.conf

[root@server ~]# cat /etc/samba/smb.conf
[global]
...
...
 disable spoolss = Yes

แล้วรีสตาร์ตเซอร์วิส smb ใหม่

[root@server ~]# service smb restart
Shutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]

ลองเรียกดูอีกครั้ง แชร์ [Printers and Faxes] ก็จะหายไป

ข้อมูลอ้างอิง

การซ่อนและการป้องกันการแชร์ไฟล์บน Samba

บทความนี้จะอธิบายการคอนฟิก Samba เพื่อซ่อนไฟล์ (hide) เพื่อไม่ให้ผู้ใช้งานมองเห็นได้โดยดีฟอลต์ และการคอนฟิกเพื่อป้องกัน (veto) ไม่ให้ผู้ใช้สามารถเรียกใช้ไฟล์ที่มีชื่อที่กำหนดไว้ได้ ซึ่งสามารถนำไปประยุกต์ใช้ได้หลายกรณี เช่น ป้องกันไม่ให้ผู้ใช้เก็บไฟล์ที่ไม่ใช่ไฟล์งานเช่น “.mp3” ไว้บนเซิร์ฟเวอร์ผ่านการแชร์ไฟล์ได้

ตัวอย่างในบทความนี้ทดสอบบน Fedora 10 และติดตั้ง Samba เวอร์ชั่น 3.2.4

Continue reading “การซ่อนและการป้องกันการแชร์ไฟล์บน Samba”

ไฟล์คอนฟิก openldap สำหรับ smbldap-tools

ไฟล์คอนฟิก /etc/openldap/slapd.conf สำหรับ คอนฟิก Samba เป็น Domain Controller โดยปรับปรุงเพิ่มเติมคุณสมบัติดังนี้

  • กำหนดคีย์ (index) ที่ใช้ในการค้นหาข้อมูล
  • อนุญาตให้ผู้ใช้สามารถเปลี่ยน password โดยใช้คำสั่ง smbldap-passwd ด้วยตัวเองได้ ไม่ต้องใช้ rootdn
  • ซ่อนรหัสผ่าน (password) ไม่ให้สามารถอ่านได้โดยตรง แต่ใช้ในการตรวจสอบสิทธิ (authenticate) ได้

Continue reading “ไฟล์คอนฟิก openldap สำหรับ smbldap-tools”

การเปลี่ยน IP Address ของ Samba PDC

บทความนี้จะอธิบายการแก้ไขปัญหาหลังจากเปลี่ยน IP Address ของเครื่องเซิร์ฟเวอร์ที่รัน Samba ทำหน้าที่เป็น Domain Controller หรือ PDC บนลีนุกซ์

ตัวอย่างในบทความนี้จะเป็นการแก้ไขหลังจากเปลี่ยน IP ของเครื่องเซิร์ฟเวอร์จาก 10.1.0.1 ไปเป็น IP ใหม่คือ 192.168.1.1 ของโดเมน SMBLDAP

Continue reading “การเปลี่ยน IP Address ของ Samba PDC”

คอนฟิก Samba เป็น Domain Controller

จากบทความ ติดตั้ง smbldap-tools บน Fedora 9 นั้นเป็นการคอนฟิกให้ Samba ทำหน้าที่เป็น file sharing อย่างเดียว โดยผู้ใช้งานสามารถ map drive เข้ามาแล้ว authenticate จาก LDAP ได้

ในบทความนี้จะคอนฟิกเพิ่มเติมเพื่อให้ Samba ทำหน้าที่เป็น Domain Controller ของ Windows client ได้

Continue reading “คอนฟิก Samba เป็น Domain Controller”