รักษาความปลอดภัยอย่างง่ายๆบน Gentoo Linux ด้วย glsa-check

Gentoo เป็น Linux distribution ประเภท source-based ซึ่งการจะลงโปรแกรมต่างๆ จะต้องทำผ่าน source repository ของตัวเอง ซึ่งใน Gentoo เรียก portage ซึ่งหลักการจะคล้ายกับ FreeBSD ซึ่งใช้ port ในการจัดการ software package

สิ่งที่ผมชอบใน Gentoo คือความตรงไปตรงมา และไม่ลงอะไรเกินจำเป็น ซึ่งเป็นสาเหตุของปัญหาความปลอดภัยในระบบส่วนใหญ่ ความปลอดภัยในระบบปฏิบัติการ หลายๆคนคิดว่า พอมี Firewall แล้วจะปลอดภัย แต่จริงๆแล้ว firewall แค่ช่วยป้องกันในระดับหนึ่งเท่านั้น เหมือนประเทศที่มีขุนศึกชั้นดี แต่การบริหารภายในประเทศเน่าเฟะ ไม่นานข้าศึกก็เจาะเมืองก็แตกจนได้

ปัญหาความปลอดภัยหนึ่งที่พบ ในระบบปฏิบัติการคือ การที่ไม่เคย update software เลย เช่นลง web server ตัวไหน อีกห้าปีก็ใช้ตัวเดิม จึงไม่แปลกที่จะเห็น server ตัวนั้นโดนเจาะระบบอยู่เรื่อยๆ พอโดนเจาะทีก็ update ทีนึง ดังนั้นเรื่องความปลอดภัยจึงเกี่ยวกับการบริหารจัดการ ไม่ใช่เรื่องของเทคโนโลยีเพียงอย่างเดียว ซึ่งในบทความนี้จะพูดถึง เครื่องมือตัวหนึ่งที่จะคอยตรวจสอบว่า ซอฟต์แวร์ตัวไหนในระบบปฏิบัติการมี ความเสี่ยงเรื่องความปลอดภัย

Gentoo หรือ Linux distribution อื่นๆจะมีสิ่งที่เรียกว่า Security Advisories ซึ่งต้องเข้าไปดูที่หน้าเว็บของ Distribution นั้นๆเอาเอง ซึ่งของ Gentoo Linux สามารถเข้าไปดูได้ที่ http://www.gentoo.org/security/en/glsa/ Gentoo มีเครื่องมือตัวหนึ่งที่คอยตรวจสอบได้ว่า ซอฟต์แวร์ตัวไหนที่มีความเสี่ยง โดยเครื่องมือตัวนี้เรียกว่า glsa-check GLSA เป็นตัวย่อของ Gentoo Linux Security Advisories อยู่ในชุดเครื่องมือที่ชื่อ gentoolkit

วิธีการติดตั้งก็ใช้คำสั่ง emerge gentoolkit

ก่อนจะทำการตรวจสอบ ให้ sync portage ของเรากับ gentoo repository ด้วยคำสั่ง emerge –sync

ลองใช้คำสั่ง

# glsa-check -l
[A] means this GLSA was already applied,
[U] means the system is not affected and
[N] indicates that the system might be affected.

200907-16 [N] Python: Integer overflows ( dev-lang/python )
200908-01 [U] OpenSC: Multiple vulnerabilities ( dev-libs/opensc )
200908-02 [U] BIND: Denial of Service ( net-dns/bind )
200909-10 [U] LMBench: Insecure temporary file usage ( app-benchmarks/lmbench )
200909-11 [N] GCC-XML: Insecure temporary file usage ( dev-cpp/gccxml )

รายการของซอฟต์แวร์ตามบรรทัดที่มีเครื่องหมาย [A] และ [U] แสดงว่าไม่ได้รับผลกระทบในเรื่องข้อบกพร่องด้านความปลอดภัย ซึ่งเราไม่ต้องสนใจ แต่ถ้าขึ้นด้วย [N] เราจำเป็นต้อง upgrade software ตัวนั้นๆตามคำแนะนำของ GLSA เพื่อลดความเสี่ยงจากการถูกเจาะระบบเนื่องจากการซอฟต์แวร์ที่มีปัญหาตัวนั้นๆ

เราสามารถใช้คำสั่ง glsa-check -t all เพื่อตรวจดูว่า software package ในระบบของเราได้รับผลกรพทบในเรื่องของความปลอดภัยหรือไม่

# glsa-check -t all
This system is affected by the following GLSAs:
200807-16
200909-11
200907-16

โดยคำสั่งนี้จะรายงานหมายเลขของ GLSA ซึ่งเราสามารถตามไปดูรายละเอียดได้จากเว็บ http://www.gentoo.org/security/en/glsa

เราสามารถ list software package ที่จะต้องถูก upgrade โดยใช้คำสั่ง glsa-check -p $(glsa-check -t all)

# glsa-check -p $(glsa-check -t all)
This system is affected by the following GLSAs:
Checking GLSA 200807-16
The following updates will be performed for this GLSA:
dev-lang/python-2.4.6 (2.4.4-r13)

Checking GLSA 200909-11
The following updates will be performed for this GLSA:
dev-cpp/gccxml-0.9.0_pre20090516-r1 (0.6.0-r1)

Checking GLSA 200907-16
The following updates will be performed for this GLSA:
dev-lang/python-2.4.6 (2.4.4-r13)

และถ้าต้องการ upgrade ซอฟต์แวร์ที่มีปัญหาก็สามารถทำได้โดนใช้คำสั่ง glsa-check -f $(glsa-check -t all)

# glsa-check -f $(glsa-check -t all)
This system is affected by the following GLSAs:
fixing 200807-16
>>> merging dev-lang/python-2.4.6
Calculating dependencies \ * Digest verification failed:
* /usr/portage/perl-core/digest-base/digest-base-1.16.ebuild

ลองเช็คดูอีกครั้งว่าระบบยังคงมีปัญหาหรือไม่
# glsa-check -t all
This system is not affected by any of the listed GLSAs

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

1 คิดบน “รักษาความปลอดภัยอย่างง่ายๆบน Gentoo Linux ด้วย glsa-check

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s