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

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

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

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

คำเตือน ทดสอบบนเครื่องทดลองให้แน่ใจก่อน แล้วค่อยแก้ไขบนเครื่องเซิร์ฟเวอร์ที่ใช้งานจริง

การแก้ไขปัญหามีอยู่ 2 อย่าง คืออัพเดทตัว Samba ให้เป็นเวอร์ชันล่าสุด และแก้ไขคอนฟิกของ Samba

การอัพเดทตัว Samba ขึ้นอยู่กับเวอร์ชันลีนุกซ์ที่คุณใช้งานอยู่ ถ้า Distribution ที่คุณใช้ มีแพ็คเกจอัพเดทออกมาแล้ว ก็รันคำสั่ง update ได้เลย

โดยในที่นี้จะลองบน CentOS 6 ซึ่งมีแพ็คเกจอัพเดทออกมาแล้ว

แต่ถ้ายังไม่มีเวอร์ชันอัพเดทออกมา เบื้องต้นแนะนำให้แก้ไขคอนฟิก smb.conf เพื่อปิดการใช้งาน nt pipe support

อัพเดทเวอร์ชัน samba

ใช้คำสั่ง rpm เพื่อดูเวอร์ชันของแพ็คเกจก่อนจะอัพเดท

[root@centos-6 ~]# rpm -qa | grep samba
samba-winbind-clients-3.6.23-42.el6_9.x86_64
samba-3.6.23-42.el6_9.x86_64
samba-doc-3.6.23-42.el6_9.x86_64
samba-winbind-3.6.23-42.el6_9.x86_64
samba-common-3.6.23-42.el6_9.x86_64
samba-client-3.6.23-42.el6_9.x86_64

รันคำสั่ง yum update โดยระบุเฉพาะชื่อแพ็คเกจ samba

[root@centos-6 ~]# yum update samba

ตรวจสอบเวอร์ชันแพ็คเกจหลังการอัพเดท สังเกตตัวเลขเวอร์ชันจะเปลี่ยนไป

[root@centos-6 ~]# rpm -qa | grep samba
samba-winbind-clients-3.6.23-43.el6_9.x86_64
samba-3.6.23-43.el6_9.x86_64
samba-doc-3.6.23-43.el6_9.x86_64
samba-common-3.6.23-43.el6_9.x86_64
samba-winbind-3.6.23-43.el6_9.x86_64
samba-client-3.6.23-43.el6_9.x86_64

รีสตาร์ตเซอร์วิส smb

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

แก้ไขไฟล์คอนฟิก smb.conf

ดีฟอลต์คอนฟิกของ samba จะเปิดออปชัน nt pipe support ไว้

[root@centos-6 ~]# testparm -v | grep "nt pipe support"
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

    nt pipe support = Yes

เพื่อป้องกันปัญหานี้ เราจะใส่บรรทัดคอนฟิกเพิ่มเติม ในส่วนของ [global] โดยคอนฟิกค่า nt pipe support เป็น no

คำเตือน ทดสอบให้แน่ใจว่าคุณไม่ได้ใช้คุณสมบัตินี้ รายละเอียดดูได้จาก man smb.conf

[root@centos-6 ~]# vi /etc/samba/smb.conf
...
[global]
    nt pipe support = no

รีสตาร์ตเซอร์วิส smb

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

เท่านี้ก็น่าจะพอบรรเทาปัญหาได้

ทางที่ดี คอยติดตามข่าวสารทางด้านความปลอดภัย

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

Leave a Reply

Your email address will not be published.