Linux security ตอนที่ 1


Posted in:

อะแฮ่มๆๆสวัสดีปีใหม่ครับเพื่อนๆชาวคลับ เนื่องจากหยุดมาหลายวันเพื่อนๆคงพักผ่อนกันมาเต็มที่ตอนนี้น่าจะฟิตเต็มที่อยากจะทำงานขึ้นมาจนตัวเป็นขน (เอ๊ะ! ยังไง - -") แต่ยังไงซะปีใหม่นี้ก็ขอให้ชาวคลับโชคดี มีแต่สิ่งดีๆเวียนเข้ามาในชีวิตตลอดปี 2008 นะครับ สาธุๆ ส่วนเนื้อหาในวันนี้ที่ rooney จะนำมาเสนอเป็นเรื่องเกี่ยวกับโปรแกรมที่จะมาช่วยเพิ่มความ security ให้กับเจ้าเพนกวินตัวน้อยๆครับพี่น้อง

สำหรับคนที่ทำ server ไม่ว่าจะเป็น web server , mail server , dns server etc สิ่งแรกที่คำนึงถึงที่สุดก็น่าจะเป็น การตั้งค่าคอนฟิคอย่างไรให้เครื่อง server เหล่านั้นสามารถทำงานได้(ทำให้ใช้งานได้ก็บุญแล้วไอ้ลูกเหมียวเอ๊ย จะเอาไรกะตูอีก - -") แต่ถ้าใครเวลาเหลือพอก็อาจจะเขยิบขึ้นไปอีกขั้น คือเริ่มที่จะปรับแต่ง performance ของเครื่อง server หรือที่เรียกกันทั่วไปภาษาชาวบ้านว่า tuning performance แต่ เอ.... ลืมไรไปอย่างฟะ.... เฮ้ย! ชิหายแล้ว ยังไม่ได้ปรับ security เลยนี่หว่า T_T
.
.
.
ว่าแล้วก็เปิดตำรากันอุดตลุด
.
.
.

เจอแล้ว..... ขั้นตอนการปรับระบบ security (rooney standard)

1. hardening system = อันนี้ต้องทำเป็นลำดับแรกนะครับ ความหมายของมันก็คือ หลังจากลง os + app เสร็จก็ให้ทำการอุดรูรั่วต่างๆที่มีอยู่ ,ปรับ permission ต่างๆในการเข้าใช้งานให้เหมาะสม และลงโปรแกรมป้องกันการเจาะระบบเบื้องต้น เช่น firewall(โดยมากจะใช้เวลาอย่างช้าที่สุด 2 วันในการทำ hardening ให้เสร็จครับ hardening ไม่เสร็จไม่ควรเอาเครื่องขึ้น production นะครับ)

ตัวอย่างการทำ hardening: http://ubuntuclub.com/node/266

*ปล. เนื้อหาตาม link เขียนไว้แค่คร่าวๆของการทำ hardening จริงๆแล้วยังมีขั้นตอนจ๊าบๆอีกหลายขั้น ถ้าเครื่องเราต้องการความโคตร secure แนะนำให้ไล่ปรับกันที่ app ในเครื่องเราที่เปิด service ทีละ app นะครับ เอกสารก็หาตาม net เอาได้ เช่น hardening apache ,hardening php etc ตัวอย่างคร่าวๆ http://www.ubuntuclub.com/node/399


2. หลังจากการทำ hardening system เรียบร้อยแล้วก็ให้ทำการ vulnerability test ความหมายคือทำการ scan หารูโหว่ระบบเราครับ ซึ่งรูโหว่ก็มีทั้ง service บาง service ที่เปิดไว้ที่เครื่อง server เราไม่ secure, permission ของไฟล์และไดเรคทอรีที่กำหนดไว้ไม่ถูกต้อง, software เวอร์ชันที่ติดตั้งไว้บน server ไม่ update หรือ coding ไม่ดีมีช่องโหว่

software ที่แนะนำสำหรับทำ vulnerability test

nessus: http://www.ubuntuclub.com/node/22

nikto: http://www.cirt.net/code/nikto.shtml

acunetix: http://www.acunetix.com ตัวนี้ระดับเทพครับเอาไว้ scan รูรั่วของการ coding เครื่อง webserver แต่ว่าโปรแกรมนี้มีแต่เวอร์ชัน windows นะครับ แล้วเวอร์ชันเต็มต้องเสียค่าใช้จ่าย

ปล.หลังจากเจอช่องโหว่จากการ scan ก็ไปไล่ปิดกันเอาเองตามสะดวกละกันครับ ^_^


3. ถ้าจะให้จ๊าบสุดๆต้องทำ stress test ด้วยครับ ความหมายของ stress test คือการจำลอง transaction เยอะๆยิงใส่เครื่อง server เราครับแล้วดูอาการว่า server มันจะรอดมะ เช่น ใช้เครื่องที่บ้านเราจำลอง 1,000 concurrent users ให้ connect ไปยังเครื่อง server ในเวลาเดียวกัน (จะจำลอง 1000 users ได้ เครื่องและ net คน generate user ต้องแรงนะครับที่บ้านผมได้แค่ 10 users ก็หมดแรงเครื่องแล้วครับ) หลังจากยิงถล่มเสร็จก็มาดู performance เครื่องว่ามันเป็นยังไง drop ไปแค่ไหน

ตัวอย่าง report หลังจากการทำ stress test

Transactions: 32841 hits
Availability: 96.95 %
Elapsed time: 496.10 secs
Data transferred: 1173.36 MB
Response time: 3.40 secs
Transaction rate: 66.20 trans/sec
Throughput: 2.37 MB/sec
Concurrency: 225.38
Successful transactions: 32841
Failed transactions: 1033
Longest transaction: 44.62
Shortest transaction: 0.04

software แนะนำ: http://freshmeat.net/projects/siege

วิธีลงใน ubuntu: $sudo aptitude install siege

*ปล. siege เอาไว้สำหรับ http test นะครับ smtp เช่น mail server อันนี้ไม่เคย test เจ้าค่า

4. หลังจากทำ 3 ขั้นตอนข้างต้นเสร็จแล้วอันดับสุดท้าย คือ งานกรรมกรครับ ที่เรียกว่างานกรรมกรเพราะว่าต้องทำเป็นกิจวัตร เช่น คอยตาม update patch ให้กับ software ต่างๆบนเครื่องเราไปเรื่อยๆ เพราะว่าช่องโหว่ของ software มีโอกาสค้นพบได้ตลอด กำหนดเสร็จคงไม่มีอ่ะครับ ไม่ทำก็ไม่ได้ :P

หมายเหตุ: Linux security ตอนที่ 2 เป็นเรื่องการสอนใช้โปรแกรมนะครับ ส่วนจะเป็นโปรแกรมอะไรนั้นอุบไว้ก่อนเดี๋ยวไม่ตื่นเต้น ^_^

###จบ###

snappy's picture

งง

งง เพราะไม่เคยเล่น Server หุหุ
--------------------------
You'll never walk alone!!!

aoddy's picture

แจ่ม...ครับ

แจ่ม...ครับ ไม่รู้จักโปรแกรมตั้งหลายตัว
-------------------------------------------------------------------------
If you don’t reallize really like you are walking on the chasm.

GreenApple's picture

แนะนำ

แนะนำ ตัวยิง เป็น java อีกตัวนึงครับ
jakarta-jmeter ครับ

scent's picture

อ่า มี stress test

อ่า มี stress test อีก

report

report ที่ออกมานี่ ออกมาจากเครื่องที่ลงโปรแกรม siege ใช่ป่ะครับ อยากทราบเรื่องการ config ค่าหน่อยอ่ะครับ ว่า ต้องตั้งค่าอย่างไรบ้างในโปรแกรม ตั้งค่าที่ไหน อย่างไร เอาแบบพื้นฐานก็ได้นะครับ พอดีอยากจะทดสอบ server เหมือนกันครับ

รบกวนนิดนะครับ

ถามใหม่นะครับ Report ที่ออกมานั้น เป็น Report ของเครื่องที่ลง siege ใช่หรือเปล่าครับ นั่นคือไม่ใช่ Report ที่แสดง Performance ของ เครื่อง server แต่เป็น report ที่แสดงการจำลอง concurrent user ว่าทำให้เกิด transaction เท่าไร อะไรแบบนี้เป็นต้น ผมเข้าใจถูกหรือเปล่าครับ

server

performance ของ server ครับ ^_^

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <i> <center> <span> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <br> <dt> <dd> <object> <embed> <hr> <img> <blockquote> <b> <u> <del> <div> <p> <table> <tr> <td> <font>

More information about formatting options