Tuesday, December 21, 2010

Linux Desktop Start Here

Reminder.

SAT - 20 Nov 2010

เป็นวันแรกที่ลง Ununtu Desktop Version 10.10

รายละเอียดอื่น ๆ จะลงตามมาอีกที

Thursday, July 8, 2010

การ เขียน Shell script ใช้งาน nmap เพื่อ scan หา IP #3

ต่ออีกครั้งนึง น่าจะจบแล้วล่ะ

มีวิธีการเขียน Script มากมาย ที่จะให้ได้ผลลัพท์แบบ Auto โดยที่ หลาย ๆ วิธีอาจจะดีกว่าวิธีนี้แบบหน้ามือเป็นหลังมือ
แต่ผมถนัดแบบนี้นี่นา เขียนก็ไม่เก่ง แต่พอใช้ได้ครับ

Script ที่ใช้จะเป็น Shell Script ธรรมดาครับ โดยมีหน้าตาดังนี้

1. อันดับแรก ประกาศให้โลกรู้ว่า Script ที่เราเขียนน่ะ เป็น BASH script (Born Again Shell script) นะ อย่าเข้าใจเป็นอย่างอื่น

#!/bin/bash


2. กำหนดตัวแปรตัวแรกก่อนเลย ชื่อ network24 แล้วก็ใส่ค่าให้ตัวแปรด้วย ก็เอา network IP ที่เราจะ scan ใส่ลงไปนั่นแหละ


network24="
192.168.0.0
192.168.1.0
"


3. กำหนดค่า Directory ต่าง ๆ ว่า เราจะเก็บไฟล์ที่สร้างเสร็จแล้ว ไว้ที่ไหน โดยให้สร้างตามวันที่ แล้วให้สร้าง Directory เปล่า ๆ ขึ้นมารอเอาไว้เลย


TODAY=`date +%d-%b-%y`
BASEDIR="/rogueIP/"`date +%d-%b-%y`
REPORT=${BASEDIR}"/report.log"
mkdir -p ${BASEDIR}


4. เริ่มกันเลยดีกว่า
4.1 สั่งวนลูป ให้อ่านค่าของตัวแปร network24 ทีละบรรทัด แล้วเอาไปเก็บไว้ที่ตัวแปรชื่อ ip
4.2 พิมพ์ชื่อของ network ให้เป็น header ลงบนไฟล์ report.log
4.3 ใช้คำสั่ง nmap เพื่อทำ Port scan เสร็จแล้ว ให้เก็บผลลัพท์ที่ออกมาไว้ในไฟล์ temp_ชื่อตัวแปร ip
4.4 เนื่องจากในผลลัพท์ที่ออกมานั้น มีรายละเอียดมากมาย แต่เราต้องการเพียง IP ที่มีการใช้งานเท่านั้น ดังนั้น เราจึงต้องทำการกรองเอาเฉพาะ ส่วนที่เราต้องการคือ Host ที่ Up อยู่เท่านั้น ที่เหลือให้ตัดออกไป จากนั้น เอาผลที่ได้ไปใส่ใว้ใน report.log
4.5 กรองเอาผลลัพท์ที่สรุป ว่า มี Host ที่ Up อยู่เท่าไหร่ ใส่ใว้ใน report.log เป็น Footer
4.6 เอาผลที่ได้จากข้อ 4.3 ไปเก็บไว้ใน Directory ที่เราเตรียมไว้ ส่วน File Temp ต่าง ๆ ลบทิ้งไป
4.7 วนลูปไปเรื่อย ๆ จนครบทุกๆ network ที่เราต้องการ


for network in ${network24}
do
ip=`echo ${network} | cut -f 1`
echo "-----------------------------------------------------------------" >> ${REPORT}
echo "Network " ${ip} "/24" >> ${REPORT}
nmap -v ${ip}/24 > ${ip}
cat ${ip} | grep "Nmap scan report for" > temp_${ip}
cat temp_${ip} | grep -v "host down" >> ${REPORT}
cat ${ip} | grep "Nmap done" >> ${REPORT}
echo "-----------------------------------------------------------------" >> ${REPORT}
rm -f temp*
mv ${ip} ${BASEDIR}
done


5. เมื่อทำเสร็จแล้ว ก็ให้เราส่งเมล์ผลที่ได้ ไปยังเมล์ที่เราต้องการ แต่ก่อนที่เราจะส่งเมล์ได้ ก็ต้องมี mail server ในเครื่องเราก่อน นะ
จริง ๆ แล้ว ถ้าเราไม่คิดว่าจะส่งเมล์ ก็ตัดขั้นตอนนี้ทิ้งไปได้เลย แต่ส่งเมล์จะดีกว่า คือ ไม่ต้องเข้ามาดูที่ server ทุก ๆ วัน อ่านเอาจากเมล์ก็ได้แล้ว


SUBJECT="IP usage report"
EMAIL="taveesak@gmail.com"
EMAILMESSAGE=${REPORT}
mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE



จบแล้วครับ

การ เขียน Shell script ใช้งาน nmap เพื่อ scan หา IP #2

ต่อจากครั้งที่แล้ว

เมื่อเราอยู่ในสภาวะแวดล้อมที่เหมาะสมสำหรับการทำ Port scan แล้ว สิ่งต่อไปก็คือ เราต้องหาเครื่องมือที่มาทำการ Scan
ปัจจุบัน มีเครื่องมือที่ทำหน้าที่นี้อยู่มากมายให้เราได้เลือกใช้กันอย่างจุใจ บางอย่างก็ฟรี บางอย่างก็ต้องมี License และเนื่องจากเราอยู่บนพื้นฐานของ การทำอย่างไรก็ได้ให้เสียเงินน้อยที่สุด หรือพูดง่าย ๆ คือ ของฟรีและถูกกฏหมายนั่นแหละ และเพิ่มอีกอย่างนึง เอาแบบง่าย ๆ ด้วย ดังนั้น มี Tools อยู่ตัวนึงที่น่าจะเอาเข้ามาใช้งาน นั่นคือ

Nmap

วิธีการลง nmap ก็ง่ายแสนง่าย แค่ไป Download nmap version ล่าสุดที่ http://nmap.org/
แล้วมาติดตั้งในเครื่องก็ใช้งานได้แล้ว

วิธีการติดตั้ง nmap

หลังจากที่เรา Download nmap มาจาก Official website มาลงที่เครื่องเราแล้ว ก็ทำการส่งต่อไฟล์นี้เข้าไปที่เครื่อง Scan Server ของเรา เพื่อทำการติดตั้ง ซึ่งอาจจะทำผ่าน โปรแกรม winscp ก็ได้

เมื่อนำไฟล์ไปวางไว้ใน Scan server แล้ว ให้ทำตามขั้นตอนดังนี้เลย


1. แตกไฟล์ออกมาโดยใช้คำสั่ง tar ตามด้านล่าง

tar xvf nmap-5.21.tar.bz2

2. เข้าไปใน Folder ที่เราแตกไฟล์มาแล้ว

cd nmap-5.21

3. พิมพ์คำสั่งด้านล่างตามลำดับ

./configure

make

make install

เพียงเท่านี้ ก็จะติดตั้ง nmap อย่างสมบูรณ์


หลังจากติดตั้งเรียบร้อยก็ถึงเวลาใช้งาน เพียงเราพิมพ์คำสั่ง

nmap –v network address/24

ก็สามารถ scan port เพื่อหา Alive host ได้แล้ว

ทีนี้ จะทำทั้งที ก็ขอให้มัน Auto นึดนึง สมมติว่า เรามี Network หลาย ๆ network คงต้องมาพิมพ์กันเมื่อยแน่ ๆ ยิ่งจะเอารายงานทุก ๆ วันอีก รับรอง แค่มานั่นพิมพ์เองก็ไม่ทันแล้วล่ะ

อย่ากระนั้นเลย เรามาเขียนให้มันเป็น script เป็นชิ้นเป็นอันไปจะดีกว่า



เอาไว้ต่อครั้งหน้านะ

Wednesday, July 7, 2010

การเขียน Shell script ใช้งาน nmap เพื่อ scan หา IP #1

วันนี้ได้การบ้านมา ให้หาว่า ในระบบ network ที่เราใช้งานอยู่นั้น มี IP อะไรใช้งานอยู่เป็นประจำบ้าง
ก่อนอื่น เราต้องรู้ว่า จะรู้ได้อย่างไร ว่า มีเครื่องนั้นออนไลน์อยู่ในระบบหรือเปล่า
ซึ่งมีข้อมูลเพิ่มเติมว่า Network นี้ เป็น Server farm ซึ่งคงจะไม่มีใครมานั่งปิด ๆ เปิด ๆ เครื่องบ่อย ๆ อยู่แล้ว
เมื่อมีข้อมูลนี้ เราก็มาดูว่า เราจะติดต่อเครื่องเหล่านี้ได้จากทางไหนบ้าง

1. ping - เราสามารถรู้ได้เลยว่า Server ออนไลน์อยู่หรือเปล่า ถ้า..... Server นั้น ไม่ไดฺ้ Block ping แต่ถ้า Block เราก็หาไม่เจออยู่ดี

2. Traceroute - ให้ผลเหมือนกับข้อ 1

3. portscan - เป็นตัวเลือกที่ดี เนื่องจากว่า คนที่ทำ server จะต้องเปิด port ใดซัก port หนึ่งอย่างแน่นอน มิฉะนั้น เขาจะทำ Server ไปทำไม (จริงมั้ย) ถ้าเรา scan เราก็ต้องเจอแน่นอน ว่า มี IP ไหนบ้าง

จริง ๆ แล้ว การทำ portscan ให้ได้ผลที่สุดคือ

1. หากเราอยู่ที่ network อื่น ๆ ที่คนละวงกับ network ที่เราต้องการ scan เราก็ต้องไปคุยกับ Firewall admin ให้เปิดให้เครื่อง scan ของเรา สามารถเข้าไปที่ network ทีเราต้องการแบบ any port

2. เอาเครื่อง scan ของเรา เข้าไปอยู่ใน network ที่เราต้องการ scan เลย

เอาไว้ต่อคราวหน้าครับ

Friday, June 25, 2010

Install Nessus server in Debian - part 2

หลังจากที่เราสร้าง Nessus server ด้วย nessus เวอร์ชั่นใหม่ ๆ ไปแล้ว เรามาลองใช้เวอร์ชั่นเก่า ๆ ดูบ้างไหม




สำหรับคนที่ติดกับการใช้ nessus client เหมือนผม คงจะยอมรับไม่ได้แน่ ๆ หากจะต้องไปทำงานผ่าน web browser เนื่องจากข้อดีของการใช้ nessus client ที่ผมนึกออกคือ

1. สามารถ export report ของ nessus ออกมาในรูปแบบของ .nessus file เพื่อเก็บไว้ และสามารถ import เข้าไปเพื่อดูผ่านโปรแกรม nessus client ได้


2. สามารถเลือกรูปแบบการออก report ได้ ว่า จะให้ report ออกมาในรูปแบบไหน



ในเวอร์ชั่นใหม่ หากเราจะทำให้ได้แบบนี้ คงต้องเสียเงินซื้อ License1 แบบ professional feed ล่ะครับ

เมื่อเราเห็นข้อดีเหล่านี้แล้ว ลองมาติดตั้งกันดูเลยครับ โดยจะมีขั้นตอนการติดตั้ง nessus ดังนี้

Login ด้วยสิทธิ์ของ root หรือจะใช้ sudo ก็ได้

ไป download เวอร์ชั่นของ nessus ที่เป็นเวอร์ชั่นต่ำกว่า 4.0.2 (ของผมใช้เวอร์ชั่น 4.0.1)

เริ่ม ติดตั้ง โดยใช้คำสั่ง dpkg -i Nessus-4.0.1-debian5_i386.deb

หลังจากติดตั้งเรียบร้อย ก็เปิดใช้งาน โดยใช้คำสั่ง /etc/init.d/nessusd start

ไปขอรหัสลงทะเบียนใช้งาน nessus ที่ http://www.nessus.org/plugins/index.php?view=register
เมื่อ เข้าไประบบจะให้กรอก e-mail แล้วทาง nessus จะส่ง e-mail รหัสในการลงทะเบียนมาให้

เมื่อได้รหัสมาแล้ว ซึ่งรหัสจะเป็นชุดตัวอักษรผสมตัวเลข อยู่ 5 ชุด ให้เรา พิมพ์คำสั่งนี้ลงไป

/opt/nessus/bin/nessus-fetch --register xxxx-xxxx-xxxx-xxxx-xxxx

ระบบจะขึ้นข้อความว่า

Your activation code has been registered properly - thank you.
Now fetching the newest plugin set from plugins.nessus.org...
Your Nessus installation is now up-to-date.
If auto_update is set to 'yes' in nessusd.conf, Nessus will
update the plugins by itself.


ซึ่งเมื่อเราเข้าไปดูที่ /opt/nessus/etc/nessus/nessusd.conf จะเห็นว่า auto_update เป็น yes อยู่แล้ว แสดงว่าระบบจะ Update ให้เราอัตโนมัติอยู่แล้ว ไม่ต้องไปแก้ไขอะไร

เพื่อเป็นการป้องกันไม่ ให้ใครเข้ามาใช้ Nessus นี้ เราต้องระบุ user ที่เข้าใช้งาน โดยใช้คำสั่ง

/opt/nessus/sbin/nessus-adduser

Login : user1
Login password : ********
Login password (again) : ********
Do you want this user to be a Nessus 'admin' user ? (can upload plugins, etc...) (y/n) [n]: กด n

User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that user1 has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser manual for the rules syntax
Enter the rules for this user, and enter a BLANK LINE once you are done :
(the user can have an empty rules set)
กด Enter

Login : user1
Password : ***********
Rules :

Is that ok ? (y/n) [y] กด y
User added

จากนั้นให้เรา Update Plugins ล่าสุด โดยใช้คำสั่ง

/opt/nessus/sbin/nessusd -R

รอจนกระทั่ง Update เรียบร้อย ให้ restart เครื่อง

หลังจาก restart แล้ว ให้เริ่มใช้งานโดยใช้คำสั่ง

/etc/init.d/nessusd start


วิธี ตรวจสอบว่า service ยังทำงานอยู่หรือเปล่า ให้เราใช้คำสั่ง netstat -anp | grep nessus

จะขึ้น รายละเอียดมาประมาณนี้

scan:~# netstat -anp | grep nessus
tcp 0 0 0.0.0.0:1241 0.0.0.0:* LISTEN 2333/nessusd
tcp6 0 0 :::1241 :::* LISTEN 2333/nessusd
unix 2 [ ACC ] STREAM LISTENING 5573 2333/nessusd /opt/nessus//var/nessus/nessusd.sock

เท่านี้ ก็สามารถใช้งานได้แล้วครับ

PS สำหรับใครที่อ่านบทความนี้แล้ว อยากลองทำดูบ้าง แต่ไปหา Download version ของ nessus 4.0.1 ไม่ได้ ส่งเมล์มาหาผมเลย จะจัดส่งให้ครับ

ที่มา : www.nessus.org

Monday, June 21, 2010

Google รองรับการค้นหาแบบเข้ารหัสแล้ว




Google ได้เพิ่มความสามารถในการ search ให้มีความปลอดภัยมากขึ้น โดยใช้การเข้ารหัสแบบ SSL ในการค้นหาข้อมูลผ่าน google ซึ่งปัจจุบัน ยังอยู่ในช่วงทดลองให้เข้าใช้งาน โดยผู้ที่ต้องการใช้งานการค้นหาข้อมูลแบบเข้ารหัสนี้ สามารถเข้าไปใช้งานได้ที่ https://www.google.com/

การค้นหาข้อมูลแบบเข้ารหัสดีอย่างไร

เมื่อมองจากมุมมองในเรื่องของ Privacy เราคงไม่อยากให้บุคคลอื่น ๆ มารับรู้ว่า เราเข้าไปค้นหาข้อมูลที่เวบไหนบ้าง หรือใช้ keyword อะไรในการค้นหาข้อมูล แล้วได้ผลลัพธ์อะไรออกมา ซึ่งหากไม่มีการเข้ารหัสข้อมูล ก็สามารถที่จะตรวจจับได้ โดยผ่านทาง Sniffer program แต่ถ้ามีการเข้ารหัสแล้ว Sniffer program ก็ไม่สามารถที่จะมองเห็นสิ่งที่เราค้นหาได้นั่นเอง ซึ่งทำให้เราสามารถใช้งานได้อย่างปลอดภัยและมีความเป็นส่วนตัวมากขึ้น

Wednesday, June 16, 2010

Install Nessus server in Debian

หลังจากที่เราสร้าง Linux Server เปล่า ๆ ขึ้นมาแล้ว ถ้าจะทำให้เป็น vulnerability scanning server
Application แรก ๆ ที่เรานึกถึง คือ Nessus

ซึ่งเราจะมีขั้นตอนการติดตั้ง nessus ดังนี้

Login ด้วยสิทธิ์ของ root หรือจะใช้ sudo ก็ได้

ไป download version ล่าสุดของ nessus ที่ http://www.nessus.org/download/nessus_download.php
เริ่มติดตั้ง โดยใช้คำสั่ง dpkg -i Nessus-4.2.2-debian5_i386.deb

หลังจากติดตั้งเรียบร้อยก็เปิดใช้งาน โดยใช้คำสั่ง /etc/init.d/nessusd start

ไปขอรหัสลงทะเบียนใช้งาน nessus ที่ http://www.nessus.org/plugins/index.php?view=register
เมื่อเข้าไประบบจะให้กรอก e-mail แล้วทาง nessus จะส่ง e-mail รหัสในการลงทะเบียนมาให้

เมื่อได้รหัสมาแล้ว ซึ่งรหัสจะเป็นชุดตัวอักษรผสมตัวเลข อยู่ 5 ชุด ให้เรา พิมพ์คำสั่งนี้ลงไป

/opt/nessus/bin/nessus-fetch --register xxxx-xxxx-xxxx-xxxx-xxxx

ระบบจะขึ้นข้อความว่า

Your activation code has been registered properly - thank you.
Now fetching the newest plugin set from plugins.nessus.org...
Your Nessus installation is now up-to-date.
If auto_update is set to 'yes' in nessusd.conf, Nessus will
update the plugins by itself.


ซึ่งเมื่อเราเข้าไปดูที่ /opt/nessus/etc/nessus/nessusd.conf จะเห็นว่า auto_update เป็น yes อยู่แล้ว แสดงว่าระบบจะ Update ให้เราอัตโนมัติอยู่แล้ว ไม่ต้องไปแก้ไขอะไร

เพื่อเป็นการป้องกันไม่ให้ใครเข้ามาใช้ Nessus นี้ เราต้องระบุ user ที่เข้าใช้งาน โดยใช้คำสั่ง

/opt/nessus/sbin/nessus-adduser

Login : user1
Login password : ********
Login password (again) : ********
Do you want this user to be a Nessus 'admin' user ? (can upload plugins, etc...) (y/n) [n]: กด n

User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that user1 has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser manual for the rules syntax
Enter the rules for this user, and enter a BLANK LINE once you are done :
(the user can have an empty rules set)

กด Enter

Login : user1
Password : ***********
Rules :

Is that ok ? (y/n) [y] กด y
User added
วิธีตรวจสอบว่า service ยังทำงานอยู่หรือเปล่า ให้เราใช้คำสั่ง ps –ef | grep nessus

จะขึ้นรายละเอียดมาประมาณนี้

scan:~# ps -ef | grep nessus
root 17133 1 0 12:37 ? 00:00:00 /opt/nessus/sbin/nessus-service -D -q
root 17134 17133 78 12:37 pts/1 00:08:33 nessusd -q
root 17163 17046 0 12:48 pts/1 00:00:00 grep nessus


Edit : เนื่องจาก Nessus Server เวอร์ชั่น 4.2.2 ที่เป็น license แบบ Homefeed ไม่ support การใช้งาน Nessus client ที่ port TCP/1241 อีกต่อไป ดังนั้น การเข้าใช้งาน จึงต้องเข้าผ่านทาง Web browser เท่านั้น โดยเข้าไปที่ https://Servername or Server IP:8834


ที่มา : www.nessus.org

Tuesday, June 15, 2010

vSphere Client error เข้าใช้งานไม่ได้

วันนี้บังเอิญมีเรื่องที่จะต้องเข้าไป Add host ใน VMware แต่พอ Login แล้ว ปรากฏว่า หน้าจอของ VSphere client กลับขึ้นข้อความว่า

Error parsing the server “xx.xx.xx.xx” “clients.xml” files.

สงสัยว่า จะต้องมีอะไรซักอย่างผิดพลาดแน่ ๆ เลยกดปุ่ม OK ปรากฏว่า ขึ้นมาอีกข้อความนึงว่า


The type initializer for VirtualInfrastructure.Utils.HttpWebRequestProxy' threw an exception.




ซึ่งทำให้ไม่สามารถเข้าไปใช้งาน VMware ไม่ได้

จึงลองเข้าไปดูใน Knowledgebase ของ vmware พบว่า เกิดจาก patch ของ Microsoft นั่นเอง


.NET Framework (980773), released on June 9th 2010.
(http://support.microsoft.com/kb/980773)


ซึ่งทาง vmware เสนอแนวทางแก้ไขสำหรับเรื่องนี้มาสองทางคือ

1. ไป Download vSphere Client เวอร์ชั่นใหม่มาจาก vmware เลย

a. สำหรับ ESXi หรือคนที่ใช้ของฟรี ให้ไปที่

http://downloads.vmware.com/d/info/datacenter_downloads/vmware_esxi/4

b. สำหรับ ESX หรือคนที่ใช้ของเสียตัง ให้ไปที่

http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vsphere_4/4

หรือ

2. ไปลบ patch 980773 ของ Microsoft

ก็จะสามารถใช้งานได้เหมือนเดิม

ซึ่งทาง vmware ยังบอกอีกด้วยนะว่า error นี้ จะมีผลกระทบกับระบบปฏิบัติการดังต่อไปนี้

Windows XP
Windows 2003
Windows 2008
Windows Vista
Windows 7


และถ้าเวอร์ชั่นของ vSphere Client คือ 208111 หรือสูงกว่านั้น หมายความว่า จะเป็น vSphere Client เวอร์ชั่น Update 1 ก็จะไม่เกิดปัญหานี้ขึ้นเช่นกัน


ขั้นตอนการติดตั้งหลังจาก Download ตัว client มาแล้ว

1. รันโปรแกรมที่เพิ่ง Download มา จะขึ้นหน้าจอนี้


2.


3.


4.


5.


6.


7.


8.


9.เข้าใช้งานได้เลย


วิธีการตรวจสอบเวอร์ชั่นของ vSphere Client

1. Log in เข้าไปที่ vSphere Client.
2. Click Help > About.


จะขึ้นมาหน้าจอแบบนี้



ที่มา : http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1022611

การต่อคำสั่งสองคำสั่งเข้าด้วยกัน

ในการต่อคำสั่งสองคำสั่งเข้าด้วยกัน โดยให้ทำงานต่อกันไปเลย เราใช้ ; เป็นตัวคั่นระหว่างคำสั่งแรกกับคำสั่งที่สอง

จากตัวอย่างเป็นการประยุกต์ใช้งาน


cd /var/log; tail -f daemon.log user.log auth.log debug kern.log syslog dmesg messages


เริ่มด้วยคำสั่งแรก คือ cd /var/log เพื่อที่จะเข้าไปที่ folder /var/log

จากนั้นตามด้วยคำสั่ง tail -f daemon.log user.log auth.log debug kern.log syslog dmesg messages เื่พื่อที่จะเรียกดูท้ายไฟล์ ของ

daemon.log
user.log
auth.log
debug
kern.log
syslog
dmesg
messages

และให้แสดง Update ด้วยกรณีที่มีการเขียนข้อความใหม่ ๆ ลงบนไฟล์เหล่านี้

Monday, June 7, 2010

Logging normal Text file with rsyslog

สำหรับมือใหม่ทางด้าน Linux และ syslog จะมีคำถามว่า
ทำอย่างไร ถึงจะเก็บ Log ที่ไม่ใช่ standard log file (ตัวอย่างของ Standard log file เช่น message/ auth/ cron เป็นต้น)
เช่น เราอาจจะมีการเขียน Script ตัวนึงเพื่อใช้เก็บข้อมูล โดยให้ script นั้นเขียนไฟล์ต่อท้ายไปเรื่อย ๆ แล้วอยากจะให้เก็บ log ด้วย syslog เพื่อจะไปทำอะไรต่อก็แล้วแต่
ด้วยความสามารถของ rsyslog ทำให้เราสามารถ log text file ธรรมดาได้ โดยการโหลด module ที่ชื่อว่า imfile แล้ว config ค่าบางอย่างเพิ่มเติม ดังตัวอย่างด้านล่าง

ให้เพิ่มค่า config ด้านล่างลงไปใน rsyslog.conf



$ModLoad imfile # needs to be done just once
# File 1
$InputFileName /path/to/file1 #ฟูลพาทที่ไฟล์นั้นอยู่รวมชื่อไฟล์ด้วย
$InputFileTag tag1: # อยากให้ logfile เห็นว่ามาจากไหน ก็ใส่ชื่อลงไป
$InputFileStateFile stat-file1
$InputFileSeverity notice
$InputFileFacility local0
$InputRunFileMonitor
$InputFilePollingInterval 10 # เข้าไปตรวจสอบไฟล์ทุก ๆ 10 นาที
# File 2
$InputFileName /path/to/file2
$InputFileTag tag2:
$InputFileStateFile stat-file1
$InputFileSeverity notice
$InputFileFacility local0
$InputRunFileMonitor
$InputFilePollingInterval 10

ถ้ามีหลาย ๆ ไฟล์ ก็ต่อท้ายลงมาเรื่อย ๆ


หมายเหตุ :
1. module นี้ สามารถ monitor text file ได้แค่ 100 files เท่านั้น ถ้าจะให้ได้มากกว่านี้ ต้องเข้าไปแก้ parameter MAX_INPUT FILES ใน imfile.c
2. ใน syslog-ng ก็ทำแบบนี้ได้เหมือนกัน แต่ไม่รู้ว่า config จะเหมือนอย่างนี้หรือเปล่า ที่ทำผ่าน rsyslog เนื่องจากว่า rsyslog จะติดมากับ OS อยู่แล้ว จึงใช้ rsyslog ไปเลย ง่ายดี
3. แก้ไขค่า config เสร็จแล้ว อย่างลืม restart rsyslog ด้วย ไม่งั้นก็ยังไม่ทำงานนะ

ที่มา : http://www.rsyslog.com/doc-imfile.html

Tuesday, May 25, 2010

การประยุกต์ใช้งาน คำสั่ง mail และ crontab และการเขียน Shell script เบื้องต้น

การประยุกต์ใช้งาน คำสั่ง mail และ crontab และการเขียน Shell script เบื้องต้น


โจทย์มีอยู่ว่า หากเราต้องการให้ระบบ ส่งเมล์บอกเราว่า เรามีเนื้อที่ในดิสก์เหลืออยู่เท่าไหร่ ทุก ๆ วัน เราจะเขียนสั่งงานอย่างไร

สิ่งที่เราจะต้องเริ่มทำเป็นอันดับแรก คือต้องรู้ว่า เราต้องทำอะไรบ้าง นั่นคือ

1. ต้องหาว่า เรามีเนื้อที่เหลือในดิสก์เท่าไหร่ หรือใช้ไปแล้วเท่าไหร่ คำสั่งที่ใช้คือ

df –h

2. แต่เนื่องจากว่า เราต้องการให้เก็บเป็นไฟล์ text เพื่อที่เราจะได้ใช้งานในขั้นตอนถัดไปจากนี้ เราจึงจำเป็นต้องใช้คำสั่งเพิ่มเติมจากปกติเป็นพิเศษ นั่นคือ

df –h > df.txt

3. เราต้องให้ระบบส่งเมล์ออกไปหาเรา คำสั่งที่ใช้ คือ

mail -s "Subject ใส่อะไรก็ได้" "E-mail ที่เราจะให้ส่งไปหา" < df.txt

ยกตัวอย่างเช่น

mail -s "Disk on server" "taveesak@gmail.com" < df.txt

4. เอาคำสั่งข้อสองและข้อสามมารวมกันให้ทำงานได้ในบรรทัดเดียว ก็จะเป็น

df -h > df.txt;mail -s "Disk on server" "taveesak@gmail.com" < df.txt

5. เพื่อความสะดวก ก็ให้เราเขียนเป็น Script ขึ้นมา เวลาใช้งานก็จะเรียกใช้งานได้สะดวกขึ้น โดยมีขั้นตอนดังนี้

a) Login เป็น root ก่อน
b) เพื่อความแน่นอนให้เราพิมพ์ cd เพื่อกลับไปยัง Home ของ root จะได้มั่นใจว่า ไฟล์ script ที่เราเขียนไปอยู่ที่นั่นแน่นอน
c) พิมพ์คำสั่ง vim showdisk.sh หรือจะใช้ชื่ออื่นก็ได้นะ เอาที่จำง่าย ๆ
d) กดปุ่ม i เพื่อให้เราสามารถเขียนคำสั่งลงไปได้ แล้วก็เขียนคำสั่งตามด้านล่างเลย

#!/bin/bash
df -h > df.txt;mail -s "Disk on server" "taveesak@gmail.com" < df.txt


e) จากนั้นกดปุ่ม ESC เพื่อออกจากโหมดแก้ไข และพิมพ์ว่า :wq เพื่อบันทึกและออกจากโปรแกรม
f) ลองสั่ง ls –l จะพบว่ามีไฟล์ showdisk.sh
g) โดยปกติแล้ว script ที่เราเขียนจะยังไม่สามารถ run ได้ จนกว่าเราจะตั้ง mode ให้สามารถ run ซึ่งวิธีการตั้งให้เราพิมพ์คำสั่งดังนี้

Chmod 700 showdisk.sh

h) เพียงเท่านี้ เราก็มี script file ที่สามารถใช้งานได้แล้ว ซึ่งเราสามารถทดสอบการทำงานโดยการเรียก script ขึ้นมาใช้งาน ด้วยการพิมพ์คำสั่งว่า ./showdisk.sh

6. จากโจทย์ บอกว่า เราต้องส่งเมล์บอกทุก ๆ วัน เราก็ต้องตั้งเวลาในการรันscript โดยใช้ crontab ซึ่งมีวิธีการทำดังนี้

a) Login เป็น root ก่อน
b) พิมพ์คำสั่ง vi /etc/crontab
c) กดปุ่ม i เพื่อให้เราสามารถเขียนคำสั่งลงไปได้ แล้วก็เขียนคำสั่งตามด้านล่างเลย

59 23 * * * root /root/showdisk.sh

d) จากบรรทัดด้านบน script นี้ จะถูกรันทุก ๆ วัน เวลา 23:59 น. หรือก่อนเที่ยงคืนซัก 1 นาทีนั่นเอง
e) จากนั้นกดปุ่ม ESC เพื่อออกจากโหมดแก้ไข และพิมพ์ว่า :wq เพื่อบันทึกและออกจากโปรแกรม

7. เท่านี้ก็เสร็จเรียบร้อย ที่เหลือก็แค่รอเมล์ที่จะเข้ามาตามเวลาที่เราระบุไว้ใน crontab

Tuesday, April 27, 2010

ปิด Update checker บน Splunk

หลังจากที่เราดาวน์โหลด Splunk มาใช้งาน และใช้งานมาเป็นระยะเวลานึงแล้ว
Splunk ก็ออกเวอร์ชั่นใหม่ออกมา ซึ่งค่อนข้างจะบ่อยมาก ๆ
และเนื่องจากว่า Splunk ที่เราใช้งานอยู่ก็ใช้ได้ปกติ และไม่ต้องการเปลี่ยนเวอร์ชั่นใหม่
แต่ทุกครั้งที่เราเข้าใช้งาน หน้าจอแรกจะมี notification บอกเสมอว่า มีเวอร์ชั่นใหม่มาแล้ว จะอัพเดทมั้ย
และก็รอให้เราเลือกว่าจะไปดาวน์โหลดเวอร์ชั่นใหม่ หรือจะ Skip Update
ซึ่งบางครั้งเราอยากที่จะเข้าไปใช้งานเลย โดยไม่ต้องเข้ามาคลิกในส่วนนี้ทุก ๆ ครั้ง ดังรูปด้านล่าง



เราสามารถเข้าไปแก้ไขค่าในระบบได้ ดังนี้

1. Login เข้าไปที่ Splunk server ผ่านทาง SSH แล้วทำตัวเองให้เป็น root ซะก่อน
2. พิมพ์ คำสั่ง vi /opt/splunk/etc/system/local/web.conf



3. กดปุ่ม i เพื่อ edit สังเกตว่า จะมีคำว่า INSERT ที่มุมล่างด้านซ้ายของจอ
จากนั้น เพิ่มคำสั่ง updateCheckerBaseURL = 0 ลงไปที่บรรทัดสุดท้าย



4. กดแป้น ESC ที่คีย์บอร์ด สังเกตที่มุมล่างด้านซ้าย คำว่า INSERT จะหายไป
จากนั้นพิมพ์์คำสั่ง:wq จะเป็นการออกจากโปรแกรม vi

5. พิมพ์ คำสั่ง/opt/splunk/bin/splunk restart เพื่อเริ่มการทำงานของ Splunk server อีกครั้ง




ุ6. ลองเปิด Splunk ที่หน้า Browser ดู จะเห็นว่า เพจที่ตรวจสอบ Update จะหายไปแล้ว และจะเข้ามาที่หน้าแรกของ Splunkโดยอัตโนมัติเลย ดังรูป




ปิด Update checker บน Splunk ด้วยวิธีนี้ สามารถใช้ได้กับ Splunk ครอบคลุมทั้งเวอร์ชั่น สามและสี่ ครับ



Ref:http://www.splunk.com/base/Documentation/3.3.4/Installation/DisableUpdateChecker

Monday, April 19, 2010

Apache - การป้องกัน Directory listing

เรื่องนี้ หลาย ๆ คนอาจจะรู้แล้ว แต่เขียนเอาไว้เพื่อเตือนเวลาลืมครับ

เมื่อเราใช้ apache เป็น web server บางครั้ง อาจจะประสบปัญหาว่า ถ้าเราไม่ได้ browse ไปที่ path โดยตรง หรือว่าใส่ชื่อ path ผิด จะทำให้ apache ไปเรียก directory ขึ้นมา ซึ่งจะทำให้เราสามารถเห็นโครงสร้างของเวบได้ หรือสามารถที่จะเห็น Folder ภายในServer ของเราได้
ดังนั้น จึงมี option ที่สามารถแก้ไขปัญหานี้ได้ นั่นคือ

IndexIgnore *

ซึ่งเราจะต้องนำไปวางไว้ที่ /etc/apache/apache.conf หรือที่ /etc/httpd.conf (ถ้าเป็น Redhat) จากนั้น ให้ restart web service

แค่นี้ก็เรียบร้อย

REF : http://www.cyberciti.biz/faq/apache-web-server-prevent-directory-folder-listing/

Tuesday, March 30, 2010

Lost page - Windows 2008 Initial configuration task

เมื่อเราลง Windows 2008 ใหม่ ๆ จะปรากฏหน้าจอ Windows 2008 Initial configuration task ขึ้นมาเพื่อให้เราสามารถทำ Post installation ได้สะดวก ซึ่งเป็น Tools ที่ใช้งานง่ายมาก ๆ สำหรับ Admin มือใหม่ อย่างผม
ดูรูปแล้วกันว่า น่าใช้ไหม


แต่บางครั้ง เราอาจจะเผลอลืม กด Checkbox เพื่อไม่ให้แสดงหน้านี้อีก อาจเป็นเพราะว่า ในตอนนั้นเราเซทไปเรียบร้อยแล้ว หรือด้วยเหตุผลอะไรก็ตาม ทีนี้ ถ้าเราอยากจะได้หน้าจอนี้กลับมาเหมือนเดิมล่ะ จะทำอย่างไร

จากการทดลองหาอยู่นานสองนาน ในที่สุดผมก็พบว่า ถ้าต้องการเรียกหน้าจอ Windows 2008 Initial configuration task ขึ้นมาอีกครั้ง เราให้ทำตามขั้นตอนดังนี้

1. ไปกดปุ่ม Start ตามด้วย Run
2. พิมพ์คำสั่ง Oobe.exe แล้วกด Enter

จะเป็นการเรียกหน้าจอ Windows 2008 Initial configuration task ขึ้นมาแสดงผลให้เราเห็นครับ

Monday, March 22, 2010

Squid Configuration - How to build simple Proxy Server

Proxy server เป็น Server ชนิดหนึ่ง ซึ่งมีคุณสมบัติดังนี้

1. Bandwidth management
ทำหน้าที่เก็บรวบรวมข้อมูลของหน้าเวบเพจต่าง ๆ ที่ผู้ใช้งานเรียกใช้ และนำมาแสดงผลให้ผู้ใช้คนอื่น ๆ ถ้าเรียกไปยังเวบเดียวกันในช่วงเวลาไม่นานนักหลังจากที่มีการเรียกใช้ไปแล้วครั้งแรก โดยที่ไม่ต้องออกไปที่เวบนั้นบ่อย ๆ ทั้งนี้ เพื่อเป็นการประหยัด Bandwidth ที่ใช้งานนั่นเอง
2. Authentication
เราสามารถที่จะเก็บข้อมูลการเข้าไปใช้งาน Internet ของผู้ใช้ได้ ว่า ผู้ใช้งานเข้าใช้งานเวบไซท์ไหนมากที่สุด และในช่วงเวลาใดบ้าง รวมถึงการทำ Authentication ก่อนเข้าใช้งานเวบไซท์ ต่าง ๆ ได้ด้วย เพื่อที่จะสามารถระบุตัวตนของคนที่เข้าไปใช้งานเวบไซท์ต่าง ๆ ได้
3. Restriction
สามารถที่จะ Block เวบไซท์ที่ไม่ต้องการให้ผู้ใช้งานเข้าไปใช้งานได้

Package สำหรับการทำ Proxy server ที่เป็นที่นิยมมากตัวหนึ่งคือ Squid ปัจจุบันเป็น Version 3 แล้ว

สิ่งที่ต้องเตรียมการ :
1. Computer สำหรับทำเป็น Proxy server 1 เครื่อง
2. OS Installation สามารถเข้าไปดูได้ที่ หรือจะทำเองก็ได้ ตามใจชอบ
http://itprosolution.blogspot.com/2010/01/debian-5-minimal-installation-part-1.html
http://itprosolution.blogspot.com/2010/01/debian-5-minimal-installation-part-2.html
http://itprosolution.blogspot.com/2009/08/debian-5-post-installations.html

ขั้นตอนการติดตั้ง (Debian only ถ้าใช้ Distro อื่น ๆ ก็คล้าย ๆ กัน)
1. ติดตั้ง squid3 โดยใช้ Aptitude

aptitude install squid3

2. แก้ไขไฟล์/etc/squid3/squid.conf

Configuration file (/etc/squid3/squid.conf)

auth_param basic program /usr/lib/squid3/squid_ldap_auth -v 3 -b "ou=user,o=ldap.example.com" -f "uid=%s" 1.1.1.1 #ถ้าไม่ทำ Authen หรือถ้าไม่มี LDAP Server ก็ไม่ต้องใส่

auth_param basic children 5
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 1 minute

acl ldap-auth proxy_auth REQUIRED #ถ้าไม่ทำ Authen หรือถ้าไม่มี LDAP Server ก็ไม่ต้องใส่


http_access allow ldap-auth #ถ้าไม่ทำ Authen หรือถ้าไม่มี LDAP Server ก็ไม่ต้องใส่ให้ใส่ว่า http_access allow all แทน
http_access deny all #ถ้าไม่ทำ Authen หรือถ้าไม่มี LDAP Server ก็ไม่ต้องใส่


http_port 7890 # อันนี้เป็น port ของ Proxy เปลี่ยนได้นะ จะเอา 8080 ก็ได้

hierarchy_stoplist cgi-bin ?


cache_mem 1024 MB
maximum_object_size_in_memory 8 MB
memory_replacement_policy heap LFUDA
ipcache_high 95
ipcache_low 90

cache_dir aufs /var/spool/squid3 2048 16 256
maximum_object_size 32 MB
cache_replacement_policy heap LFUDA
store_dir_select_algorithm round-robin
cache_swap_high 95
cache_swap_low 90

ie_refresh on
vary_ignore_expire on

cache_access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log
cache_store_log none
logfile_rotate 90
pid_filename /var/run/squid3.pid
buffered_logs off
strip_query_terms off

pipeline_prefetch on

ftp_passive on
ftp_sanitycheck on

#cache deny QUERY
quick_abort_min 0 KB
quick_abort_max 0 KB

refresh_pattern -i \.(asp\?|aspx\?|php\?) 0 20% 720
refresh_pattern -i \.(asp|aspx|php)$ 0 20% 720
refresh_pattern -i \.(jpg|gif|jpeg|png|css|js|bmp|tif|tiff|xbm|png|swf)$ 0 100% 14400
refresh_pattern -i \.(exe|zip|gz|arj|lha|lzh|rar|tgz|tar|Z)$ 4320 80% 43200 override-lastmod reload-into-ims ignore-reload
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern . 0 20% 4320

prefer_direct on

half_closed_clients off

cache_mgr taveesak@gmail.com
visible_hostname http://itprosolution.blogspot.com



เสร็จแล้ว อย่าลืม Restart Squid ล่ะ

/etc/init.d/squid3 restart

เวลาใช้งานทำได้ 2 แบบคือ

1. ถ้ามี Firewall อยู่ในองค์กร ก็ตั้งให้ใครที่จะออกไปยัง Port 80 ให้วิ่งผ่านมาที่ Proxy server นี้อย่างเดียว
2. ถ้าไม่มี Firewall ก็เข้าไปตั้งค่า Proxy server ใน Browser ให้ชี้้มาที่ Proxy server ตัวนี้ วิธีการก็ลองเข้าไปหาดูใน Google นะ



#Code Reference : http://www.linuxthai.org/forum/index.php?topic=472.0

Monday, February 8, 2010

ใช้ Splunk 3 มา monitor Vmware Esxi4

หลังจากที่ใช้ splunk มาได้ซักระยะหนึ่ง ก็เริ่มรู้สึกว่า ชีวิตมันง่ายขึ้น สำหรับเรื่องของการดู log จากอุปกรณ์ต่าง ๆ ก็เลยคิดว่า แล้วถ้าเป็น vmware ล่ะ ก็คงจะมีการส่ง log เหมือน ๆ กันนั่นละ อย่ากระนั้นเลย หาวิธีที่จะทำให้ Splunk สามารถ monitor log ของ vmware ดีกว่า

สิ่งที่ทำเป็นอันดับแรก คือเข้าไปดูข้อกำหนดต่าง ๆ ที่มีคนทำมากันแล้ว ปรากฏว่า มีคนทำ Splunk Application สำหรับ monitor vmware log เลย แต่เป็น esx3.0 และทำบน Splunk V.3 เท่านั้น ซึ่งปัจจุบัน Splunk 3 ก็ยังมีให้โหลดอยู่ แต่เรื่องจาก vmware ที่ผมมีอยู่ กลับกลายเป็นว่า เป็น esxi 4.0 ซึ่งเป็น เวอร์ชั่นใหม่กว่า แต่คิดว่า คงไม่เป็นไรครับ อย่างนี้คงต้องลองล่ะ โดยไม่รอช้า เราก็จะเริ่มทำการทดสอบกันเลย

Test Environment

Debian 5.0 operating system
Splunk 3.4.9 เวอร์ชั่นประจำตัว (จริง ๆ มีเวอร์ชั่นใหม่กว่านี้นะ จะเป็น 3.4.12 ใครจะใช้ก็ได้ แต่ผมชอบเวอร์ชั่นนี้ครับ)
VMware Esxi 4.0 ที่มี Guest OS run อยู่ข้างใน (ใช้งานอยู่นั่นเอง)

Configuration

1. เริ่มโดยการสร้าง OS ขึ้นมาก่อน โดยลง OS เป็น Debian 5.0 แล้วสั่ง update ครับ สำหรับวิธีการลง ให้หาอ่านในเรื่องก่อน ๆ ครับ

2. Download Splunk 3.4.9 จากหน้าเวบ Splunk แต่ถ้าใครไม่อยากเปิดหน้าเวบ ก็ copy link ไปแปะที่ console ของ OS ได้เลย แต่ต้องลง wget ก่อนนะ ถึงจะใช้ได้

wget 'http://www.splunk.com/index.php/download_track?file=/3.4.6/linux/splunk-3.4.6-51113-linux-2.6-intel.deb&ac=&wget=true&name=wget&typed=releases'

3. install splunk โดยพิมพ์ว่า dpkg –i splunk…..(กด tab ดูเอาเองครับ)

4. install java runtime โดยพิมพ์ว่า aptitude install sun-java6-jre

5. ทดสอบว่า install java เรียบร้อยแล้วหรือยัง โดยพิมพ์ว่า

java -version

6. Download Splunk app for vmware จาก

http://www.splunk.com/view/vmware-virtualization/SP-CAAADPN

เอามาวางไว้ที่เครื่อง

7. แตกไฟล์ออกมา จะได้ folder ชื่อ vmware

8. นำ folder vmware ไปวางไว้ที่ /opt/splunk/etc/apps

9. เข้าไปแก้ไฟล์ /opt/splunk/etc/apps/vmware/default/vmware.conf

url=https:// /10.1.1.1/sdk #ให้ใส่ IPaddress ของ vmware server ครับ
username=/user1 # ใส่ username ที่ใช้เข้า vmware server ครับ
Password=/pass1 # ใส่ password ที่ใช้เข้า vmware server ครับ

10. Set environment สองค่า


# export SPLUNK_HOME=/opt/splunk
# export PYTHONPATH=/opt/splunk/lib/python2.5
(บางคนอาจจะต่างจากนี้ ให้ตรวจสอบก่อนว่า มี folder ประมาณนี้อยู่หรือไม่ )

11. ทดสอบ ว่า App ทำงาน หรือไม่ โดยพิมพ์ดังนี้


# cd /opt/splunk/etc/apps/vmware
# java –jar lib/splunk.jar


ซึ่งถ้า app ทำงานเป็นปกติ ก็จะไม่ขึ้นข้อความ error ใด ๆ

12. สั่ง restart splunk โดยพิมพ์ว่า

# /opt/spunk/bin/splunk restart

เมื่อเราเข้าไปดูที่หน้าจอ ก็จะพบว่า มี App ของ Splunk run อยู่แล้ว ดังรูป



และเมื่อคลิก Drop down list ที่ Dashbaord จะพบ หน้า Dashboard ของ vmware ต่าง ๆ ดังรูป



เมื่อลองเข้าไปคลิก ๆ ดู ก็จะแสดงผลดังรูป



Test Summary and problem

อย่างที่บอกตั้งแต่แรกว่า App นี้ถูกเขียนมาสำหรับ monitor vmware esx3.0 ดังนั้น เมื่อเรานำมาใช้กับ Esxi4.0 คุณสมบัติบางอย่างจึงไม่สามารถใช้งานได้ครับ แต่ส่วนใหญ่ก็จะใช้งานได้ดีครับ

หลังจากที่ลองกับ Splunk 3 แล้ว ผมก็เลยลองใช้กับ Splunk 4 บ้าง ซึ่งผลก็ปรากฏว่า App ไม่สามารถทำงานได้ตามปกติ ดังรูป



เมื่อคลิกเข้า App ก็จะเจอ error ดังรูปครับ




อ้างอิง : http://www.splunk.com/view/vmware-virtualization/SP-CAAADPN

Friday, February 5, 2010

VI เทคนิควันนี้

ใน vi

ถ้าเราต้องการลบ ข้อมูลเป็นบรรทัด เรา ก็สั่ง dd

และถ้าเราต้องการลบ ข้อมูลหลาย ๆ บรรทัด เช่น ลบซัก 10 บรรทัด เรา ก็สั่ง 10dd

หรือ ถ้าเราต้องการลบ จากบรรทัดที่เราอยู่ ไปจนถึงท้ายไฟล์ ก็สั่ง dG

แต่ถ้า ถ้าเราต้องการลบ จากบรรทัดที่เราอยู่ ไปจนถึงต้นไฟล์ ก็สั่ง d1G

atftp กับ xinetd

เมื่อวาน ทดสอบลง nagios plugins กับเครื่องที่ใ้ช้งาน atftp อยู่

ตอนลงก็ไม่ติดอะไร ทำไปได้เรื่อย ๆ จนสำเร็จ สามารถส่งข้อมูลไป nagios server ได้แล้ว

พอรุ่งขึ้น ปรากฏว่า มีปัญหาว่า ทำไมอุปกรณ์ network ถึง tftp เข้ามาที่ server ตัวนี้ไม่ได้

พอเข้ามาดูที่ Server ปรากฏว่า atftp service ได้ปิดตัวเองไป

จึงคาดว่า ปัญหาน่าจะเกิดจาก xinetd แน่ ๆ อย่ากระนั้นเลย

โดยไม่รอช้า ไหน ๆ เราก็ลง xinetd ซะแล้ว ก้ให้เอา atftp ไปวางไว้ใน xinetd ซะ

หลังจากเอา config ไปวาง แล้ว restart xinetd

ก็สามารถมองเห็น port UDP/69 เปิดแล้ว

ดีใจขึ้นนิด ก็ลองสั่งให้อุปกรณ์ network ส่ง tftp เข้ามา

ผลปรากฏว่า นิ่งสนิท

อุปกรณ์สามารถติดต่อกับ tftp server ได้ แต่ไม่สามารถส่งข้อมูลเข้ามาได้

ก็ลองเซทอยู่หลายวิธี ยังไงก็ไม่ได้

ท้ายสุด ก็ต้องหาวิธี แยก atftp service ออกมาจาก xinetd

ในเวบก็ไม่มีบอกไว้ ก็ลองเข้าไปดูใน manual

วิธีการก็คือ

รัน command atftpd --daemon /srv/tftp

จากนั้นลองอีกที คราวนี้ แน่นอน อุปกรณ์ network สามารถส่งtftp เข้ามาได้แล้ว

ปัญหานี้ได้ถูกแก้ไขแ้้ล้วครับ

Wednesday, February 3, 2010

Compile NRPE ไม่ผ่าน

เวลาที่เรา Install NRPE บน Linux เมื่อเราสั่ง make all แล้วพบว่า เกิด error ขึ้นว่า


/root/nrpe-2.12/src/nrpe.c:244: undefined reference to `get_dh512'


ให้เราทำดังนี้

1. ติดตั้ง openssl โดยการใช้คำสั่ง aptitude install openssl
2. พิมพ์คำสั่ง openssl dhparam -C 512 ลงไป
3. ระบบจะ print ข้อความออกมา เป็น C Code ประมาณนี้

DH *get_dh512()
{
static unsigned char dh512_p[]={
0xC8,0xBD,0x70,0xCF,0x64,0x58,0x42,0x0D,0x82,0x95,0x90,0x1A,
0x58,0xA3,0xF9,0xE0,0x67,0x7D,0xDD,0x08,0xB6,0x32,0xC2,0x45,
0x8C,0x7E,0x64,0x11,0x05,0xCC,0x8B,0x5B,0x2C,0x1F,0xFF,0x9A,
0x39,0x0A,0x3B,0x53,0xFA,0x1C,0x85,0xAE,0xFA,0x85,0x52,0x7D,
0x6C,0xEA,0x31,0xAF,0xBB,0x88,0x0E,0xB0,0x94,0x72,0x28,0x75,
0x00,0x55,0x25,0x3B,
};
static unsigned char dh512_g[]={
0x02,
};
DH *dh;

if ((dh=DH_new()) == NULL) return(NULL);
dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL);
dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL);
if ((dh->p == NULL) || (dh->g == NULL))
{ DH_free(dh); return(NULL); }
return(dh);
}

4. copy code นี้เอาไว้ จากนั้นให้เอาไปวางไว้ในพาธ include/dh.h ที่อยู่ใน folder nrpe
5. ลองสั่ง make all ใหม่อีกครั้ง



ที่มา :http://www.linuxquestions.org/questions/linux-software-2/nagios-nrpe-undefined-reference-to-getdh512-613815/

10 ภัยคุกคามด้านความปลอดภัยสารสนเทศ ที่จะเห็นในปี 2010


1. Malware

จัดได้ว่า เป็นภัยคุกคามอันดับต้น ๆ ของปีที่แล้วเลยทีเดียว มีหลายวิธีที่จะติดตั้งมัลแวร์ลงบนระบบ ซึ่งรวมถึงการติดตั้งมัลแวร์ผ่านทางช่องโหว่ของซอฟท์แวร์ต่าง ๆ

2. Malicious insiders

ภัยคุกคามประเภทนี้เริ่มมากขึ้นในช่วงที่เศรษฐกิจขาลง เนื่องจากการที่ลูกจ้างที่ถูกเลิกจ้าง พยายามที่จะแฮกเข้าไปในระบบที่เข้าทำงาน หรือเคยทำงาน ซึ่งปกติแล้ว เราไม่มีทางกำจัดการโจมตีแบบนี้ให้หมดไปโดยสิ้นเชิง แต่ด้วยการนำนโยบายด้านความปลอดภัยสารสาเทศมาใช้ จะเป็นการจำกัดความพยายามและลดความเสียหายที่จะเกิดขึ้นจากการโจมตีแบบนี้้ได้

3. Exploited vulnerabilities

โค้ดที่ใช้ในการโจมตีช่องโหว่ของระบบ เป็นหัวใจหลักในการโจมตีระบบเลยทีเดียว ระบบต่าง ๆ จะถูกโจมตีได้ง่ายมาก ๆ หากยังมีช่องโหว่ที่ยังไม่ได้ถูกปิด

4. Careless employees

พนักงานที่ไม่ได้รับการอบรมให้มีความรู้ในงาน หรือขาดความเอาใจใส่ต่อระบบ เป็นภัยคุกคามที่น่ากลัวมาก ซึ่งการโจมตีที่เกิดจากบุคคลภายใน แบ่งออกได้ สามประเภทคือ
1. พนักงานที่ไม่ได้รับการอบรมให้มีความรู้ในงาน หรือขาดความเอาใจใส่ต่อระบบ
2. พนักงานที่ถูกหลอกจาการใช้เทคนิค Social engineering
3. พนักงานที่ถูกเลิกจ้าง หรือถูกไล่ออกไปก่อนหน้านี้
การป้องกันระบบ จะต้องพิจารณาการโจมตีแบบนี้ ซึ่งอาจจะนำนโยบายมาประยุกต์ใช้ หรือการอบรมพนักงานให้มีความรู้ เพื่อลดความเสี่่ยงในส่วนนี้

5. Mobile devices

อุปกรณ์มือถือ ที่ใช้งานอย่างแพร่หลายในปัจจุบันนั้น มีมัลแวร์ หรือ worm บางประเภทที่โจมตีอุปกรณ์ประเภทนี้โดยเฉพาะ เช่น iPhone worm สามารถที่จะขโมยบัญชีธนาคารที่อยู่ใน iPhone และทำให้อุปกรณNนั้นกลายเป็น botnet ด้วย

6. Social networking

เวบไซท์สังคมเครือข่าย ประเภท Facebook, MySpace หรือ Twitter จะเปลี่ยนการสื่อสารของผู้คนกับคนอื่น ๆ แต่ในเวลาเดียวกัน ปัญหาหลัก ๆ คือ ข้อมูลส่วนตัวก็จะถูกเผยแพร่ออกไป หรือบางครั้งก็ถูกขโมยตัวตน การโจมตีประเภท SPAM, scams, scareware จะเพิ่มขึ้นทุกวัน

7. Social engineering

ยังคงเป็นเครื่องมือที่นิยมใช้กันมากมาทุกยุค สำหรับการทำ phishing ซึ่งในแต่ละปี จะมีการพัฒนาความซับซ้อนมากยิ่งขึ้น โดยเฉพาะในกลางปีนี้ ซึ่งจะมีการขยายโดเมนเนมเป็นภาษาต่าง ๆ รวมถึงภาษาญี่ปุ่น อารบิก ฮินดู และ กรีก ซึ่งตัวอักษรจะซับซ้อนกว่าเดิม

8. Zero-day exploits

เกิดขึ้นเมื่อผุ้โจมตีสามารถเข้าครอบครองระบบที่รู้ว่ามีช่องโหว่ แต่ไม่สามารถแก้ไขได้ ซึ่งทำให้เป้นการโจมตีที่สุดแสนจะอันตราย การโจมตีแบบนี้ เดิมจะพบใน protocol ที่ค่อนข้างจะปลอดภัย เช่น SSL และ TLS

9. Cloud computing security threats

การใช้ cloud เช่น Internet Application ไม่ได้มีความปลอดภัยมากนัก อย่างไรก็ตาม จากข้อกำหนดเรื่องความปลอดภัยของการใช้Application ใน Cloud จะต้องบังคับให้มีการเข้ารหัสข้อมูลที่ส่ง ซึ่งจากแนวโน้มการเติบโตของ Cloud computing แล้ว นี่อาจจะเป็นปัญหาใหญ่อีกปัญหาหนึ่งเลยก็ได้

10. Cyber espionage

การจารกรรมข้อมูล เป็นภัยคุกคามที่เราได้เคยได้ยินมา มากต่อมาก ซึ่งเกี่ยวกับเรื่องทางการเมือง หรือรัฐบาล ซึ่งอาจจะมีผลกระทบน้อยมากต่อธุรกิจทั่วไป แต่การเพิ่มขึ้นของภัยประเภทนี้ ก็เป็นที่น่าจับตามองเช่นกัน


ตามไปอ่านบทความเต็ม ๆ ได้ที่นี่ครับ

ที่มา : http://www.net-security.org/secworld.php?id=8709

Thursday, January 28, 2010

การปรับแต่ง Nagios ให้สามารถ monitor เครื่อง Client ที่ลงระบบปฏิบัติการ Linux

การปรับแต่ง Nagios ให้สามารถ monitor เครื่อง Client ที่ลงระบบปฏิบัติการ Linux

หลังจากที่เราทำการติดตั้ง Nagios เรียบร้อยแล้ว สิ่งที่ Nagios ทำคือ ระบบจะสามารถ monitor ตัว Nagios server เอง ดังรูป



ซึ่งหากเราจะต้องการ Monitor client เครื่องอื่น ๆ ก็จะต้องทำการปรับแต่งระบบเพิ่มเติมอีกเล็กน้อย โดยเราจะต้องใช้ Nagios plugins ตัวหนึ่งที่ชื่อว่า NRPE - Nagios Remote Plugin Executor

สำหรับรายละเอียดของ NRPE สามารถหาอ่านได้ที่ http://wiki.nectec.or.th/ntl/Project/NRPE

การติดตั้ง NRPE นั้น แบ่งออกเป็น 2 ส่วน คือการติดตั้งที่ Client และการติดตั้งที่ Server

Client ที่ใช้จะเป็น Debian5 ซึ่งถ้าใครจะใช้ Linux ตระกูล Redhat ก็สามารถทำการปรับแต่งได้ไม่ต่างกันครับ

การติดตั้งที่ Client

1. Download Nagios-plugins จาก http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

2. Download nrpe จาก http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

3. สร้าง Nagios account

[client]# useradd nagios
[client]# passwd nagios

4. ติดตั้งNagios-plugin

[client]# tar xvfz nagios-plugins-1.4.11.tar.gz
[client]# cd nagios-plugins-1.4.11
[client]# export LDFLAGS=-ldl
[client]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[client]# make
[client]# make install
[client]# chown nagios.nagios /usr/local/nagios
[client]# chown -R nagios.nagios /usr/local/nagios/libexec/


5. ติดตั้ง NRPE

[client]# aptitude install libssl-dev libkrb5-dev zliblg-dev e2fsprogs
[client]# tar xvfz nrpe-2.12.tar.gz
[client]# cd nrpe-2.12
[client]# ./configure
[client]# make all
[client]# make install-plugin
[client]# make install-daemon
[client]# make install-daemon-config
[client]# aptitude install xinetd
[client]# make install-xinetd

6. ปรับแต่งค่าของ /etc/xinetd.d/nrpe โดยเพิ่ม ip-address ของ Nagios server (สมมติให้ IP ของ Nagios server คือ: 10.1.1.1)

only_from = 127.0.0.1 10.1.1.1

7. เพิ่มค่าใน /etc/services

nrpe 5666/tcp # NRPE

8. เปิดการใช้งาน

[client]#service xinetd restart

9. ตรวจสอบว่า nrpe ทำงานอยู่หรือไม่

[client]# netstat -at | grep nrpe
tcp 0 0 *:nrpe *:* LISTEN

10. ตรวจสอบว่า nrpe ทำงานได้ถูกต้องหรือไม่

[client]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12

11. ปรับแต่งค่าของ nrpe ที่ /usr/local/nagios/etc/nrpe.cfg

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_mem]=/usr/local/nagios/libexec/check_mem -w 80,50 -c 90,90

-------------------------------------------------------------------------------------------------

การติดตั้งที่ Nagios Server

1. Download nrpe จาก http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

2. ติดตั้ง NRPE

[Server]# aptitude install libssl-dev libkrb5-dev zliblg-dev e2fsprogs
[Server]# tar xvfz nrpe-2.12.tar.gz
[Server]# cd nrpe-2.12
[Server]# ./configure
[Server]# make all
[Server]# make install-plugin

3. ตั้งค่า Host และ Service

ที่ /etc/nagios3/conf.d/ ให้เราสร้างไฟล์ host ใหม่ขึ้นมา ตามชื่อของ Client เช่น client.cfg แล้วใส่ค่าลงไป ตัวอย่างเช่น

define host{
use linux-server
host_name client
alias Debian5 Server
address 10.10.10.10
contact_groups admins
}

# Service to check load
define service{
use generic-service
host_name client
service_description Load
notifications_enabled 0
check_command check_nrpe!check_load
}

4. reload การทำงานของ Nagios

[Server]# /etc/init.d/nagios3 reload

5. เมื่อเข้าไปดูที่หน้าจอก็จะพบว่ามี Client เพิ่มขึ้นมาแล้ว ดังรูป

Wednesday, January 20, 2010

Change Nagios TimeZone in Debian

เวลาลง Package บน Debian ถ้าลงด้วย aptitude ก็จะไม่เหมือนลงแบบแตกไฟล์ เวลาคู่มือเขียน ก็ไม่ได้อ้างอิงการลงแบบ aptitude
การเซท Timezone ของ Nagios เหมือนกัน หาอยู่ตั้งนานเพราะไม่เหมือนในคู่มือ มีข้อแตกต่างกันอยู่เล็กน้อย

1. vi เข้าไปที่ /etc/nagios3/nagios.cfg แล้วเพิ่มคำสั่งนี้ลงไป

use_timezone=Asia/Bangkok

2. vi เข้าไปที่ /etc/nagios3/apache2.conf แล้วเพิ่มคำสั่งนี้ลงไป



3. Restart Apache2 กับ Nagios แล้วลองเปิดดู timezone จะเปลี่ยนไปแล้ว

Tuesday, January 19, 2010

Add user บน Nagios3

ถ้าเราลง Nagios3 โดยใช้ aptitude บน Debian
Package ต่าง ๆ จะไม่ได้อยู่เหมือนหับที่ในเวบเค้าเขียนกัน

สิ่งแรกที่ต้องทำหลังจากลง Nagios ไปแล้ว คือ การสร้าง user/password เพื่อให้เราสามารถเข้าไปยังหน้าเวบได้
ก็พิมพ์ตามนี้ได้เลย


htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin


ใส่ password แล้วก็เข้าเวบได้เลย

Debian 5 minimal Installation Part 2

Debian 5 minimal Installation Part 2
ต่อจากคราวที่แล้วเลยนะครับ


14. เลือก Timezone ที่เราอยู่ ถ้าไม่ทราบ ให้กด Enter ผ่านไปเลยครับ แล้วไปตั้งทีหลัง



15. เลือก Partition ของ Disk สำหรับมือใหม่ ให้เราเลือกทั้งหมดเลยครับ



16. ขั้นตอนนี้จะบอกรายละเอียดของ Disk ที่จะลง Debian ไม่มีอะไรให้กด Enter ผ่านไปเลย



17. ระบบจะทำการสร้าง Partition ให้เรา สำหรับ Basic partition ทุกอย่างจะอยู่ใน / ทั้งหมด ส่วน Swap จะหมายถึง Virtual memory สำรองกรณี Ram เราไม่พอ ให้เราเลือกไปที่ Finish partition แล้วกด Enter เพื่อไปขั้นตอนต่อไป



18. ระบบจะทำการสร้าง Partition บน Disk และจะถามยืนยันครั้งสุดท้ายให้เราเขียน Partition ลง Disk ให้เราตอบ YES เพื่อดำเนินการ



19. จากขั้นตอนด้านบน ระบบจะทำการ Format Disk / Build partition / Install Base OS ซึ่งใช้เวลาประมาณหนึ่ง ตามความเร็วของ CPU และความจุของ Ram ที่มีรวมถึงขนาดของ Harddisk เมื่อทำทุกกระบวนการแล้ว จะขึ้นหน้าจอตามรูป เพื่อให้เราใส่ Root password แล้วกด Enter



20. ระบบจะให้เราใส่ root password อีกครั้ง เพื่อยืนยัน



21. จากนั้นระบบจะให้เราตั้ง user ขึ้นมาเพื่อใช้งานแทน Root โดยให้ใส่ Fullname



22. ใส่ username ของ user



23. กำหนด password ให้กับ user ที่เราตั้งขึ้น



24. ระบบจะให้เราใส่ user password อีกครั้ง เพื่อยืนยัน



25. ระบบจะทำการติดตั้ง Package manager จากแผ่น ให้เราเลือก no เพราะว่าเราจะทำการติดตั้งเอง



26. ระบบจะถามให้เราเรียก package จาก Internet ให้เราตอบ No เหมือนเดิม เพราะว่าเราจะติดตั้งเอง



27. ระบบจะให้เราทำแบบสอบถามเรื่อง Package ให้เราตอบ No เพื่อข้ามขั้นตอนนี้ไป



28. มาถึงขั้นตอนการเลือก Package เพื่อความรวดเร็ว ให้เราเอาเครื่องหมาย * ออกให้หมด เลือกไปที่ Continue แล้วกด Enter เพื่อดำเนินการต่อไป
การ ที่เราไม่เลือกอะไรเลย จะทำให้ระบบติดตั้งเฉพาะ Package ที่จำเป็นต่อการ Run ระบบ เท่านั้น ซึ่งเราสามารถที่จะมาเพิ่ม Package ทีหลังได้



29. ระบบจะถามว่า จะให้ Install GRUB เป็น bootloader หรือไม่ ให้ตอบ Yes



30. หลังจากนั้น ระบบจะดำเนินการติดตั้งจนแล้วเสร็จ ให้เรากด Continue ระบบจะ Reboot ตัวเอง ให้เรานำแผ่น DVD ออกจากเครื่องด้วย



31. หลังจาก Reboot แล้ว จะ Boot เข้าสู่ระบบปฏิบัติการ Debian แบบ Console



32. ให้เราลอง Login ด้วย user root และ password root ที่เราตั้งไว้



ถ้า Login ได้ สำเร็จ แสดงว่าเราได้ติดตั้งระบบเป็นที่เรียบร้อยแล้ว แต่จริง ๆ แล้ว ระบบยังทำงานไม่สมบูรณ์ จะต้องมีการทำ Post installation เพื่อให้ระบบมีความปลอดภัย และพร้อมใช้งาน

สำหรับ Post installation สามารถเข้าดูได้ที่

http://itprosolution.blogspot.com/2009/08/debian-5-post-installations.html

Debian 5 minimal Installation - Part 1

Debian 5 minimal Installation Part 1

ก่อนที่เราจะทำอะไรกับ Linux เราก็ต้อง Install Linux ก่อน จริงไหม
ทีนี้ เราจะ Install Linux ยังไง

บท ความนี้ จะบอกวิธี ขั้นตอน การลง Linux แบบของผมเองครับ ซึ่ง แบบของผม เนี่ย อาจจะไปเหมือนกับแบบของอีกหลาย ๆ คนก็ได้ครับ แต่ละคนก็จะมีวิธีการ install ที่แตกต่างกันออกไป แบบที่ผมใช้ อาจจะธรรมดา แต่ก็พอใช้ได้ล่ะครับ

การลง Linux แบบที่จะเห็นต่อไปนี้ เป็นการลงแบบ Server คือวัตถุประสงค์หลักเพื่อใช้งานเป็น server นั่นเอง
การ ติดตั้งก็จะไม่เหมือนกับการลง Linux แบบ Desktop เช่น ไม่มี X-Windows ให้ใช้งาน เป็นต้น หลังจากการ Install แล้ว จะใช้งานผ่าน Console ที่เป็น Command line เท่านั้น (เริ่มสนุกขึ้นมาแล้วสิ) ลองมาดูกันครับ

1. เริ่มจากการหาแผ่น Debian 5 มาก่อนครับ ซึ่งหาได้ไม่ยากเลย แค่ไปที่ http://www.debian.org/distrib/ แล้วเลือกเอาเลยครับ ว่าจะเอา Package แบบไหนดี แต่ที่ผมใช้จะเป็น DVD แผ่นเดียวครับ

2. เตรียมเครื่อง Server ที่ต้องการ Install จะเป็นเครื่องเปล่าหรือเครื่องที่มีช้อมูลแต่ไม่ใช้แล้วก็ได้ แต่ว่า ต้องแน่ใจว่า เครื่องที่เตรียมนั้น จะไม่มีการใช้งานอีกแล้ว เพราะในขั้นตอนการ Install จะมีการ Format disk ทำให้ข้อมูลเดิมหายไปทั้งหมด

3. ใส่แผ่นลงในเครื่อง แล้วตั้งให้บูทจากแผ่น เมื่อบูทแล้ว จะปรากฏหน้าจอดังรูป



4. กด Enter จะปรากฏหน้าจอที่สองดังรูป ให้เราเลือกภาษาในการติดตั้ง โดยปกติ เราก็เลือกภาษาอังกฤษอยู่แล้ว จึงไม่ต้องไปเปลี่ยนค่าอะไร ให้กด Enter เพื่อไปขั้นตอนต่อไป



5. หน้าจอนี้จะถามเราว่า เราใช้งานอยุ่ที่ประเทศในแถบไหน จากที่นี้ เรามองไม่เห็นประเทศไทยเลย จึงต้องปรับให้อยู่ที่อเมริกาไปก่อน ให้กด Enter เพื่อไปขั้นตอนต่อไป



ุ6. จากนั้น ระบบจะให้เรากำหนด keymap บนแป้น keybboard ซึ่งเราก็ใช้งานภาษาอังกฤษเป็นหลักอยู่แล้ว ดังนั้น ขั้นตอนนี้ จึงข้ามไปได้ ให้กด Enter เพื่อไปขั้นตอนต่อไป



7. ระบบจะทำการหา IP จากระบบ DHCP ซึ่งเราไม่มี แต่ถ้าหากเรามีการต่อ DHCP Server เอาไว้ ก็จะสามารถรับ IP จาก DHCP Server ได้ทันที ในที่นี่ ฟ้องว่า หา IP ไม่เจอ ให้เรากด Continue เพื่อไปขั้นตอนต่อไป



8. ระบบมีทางเลือกสำหรับการหา IP ให้เราอยู่4 ทางคือ
ลองใหม่ / ลองใหม่ แต่ระบุเครื่องของ DHCP Server / กำหนด IP เอง หรือสุดท้าย ไม่ต้องใส่ค่าอะไรเลย คือไม่มี IP นั่นเอง ซึ่ง ผมไม่แนะนำอันสุดท้ายสำหรับมือใหม่ เพราะจะต้องไปเซทเองหลังจากที่ติดตั้งเสร็จแล้ว เดี๋ยวจะงง ให้ตั้งไปเลยตอนนี้จะดีกว่าครับ ซึ่งในกรณีนี้ ผมเลือก กำหนด IP เองครับ (ก็ไม่มี DHCP Server นี่นา)



9. พิมพ์ *IP Address ของเครื่องนี้ลงไป



10. พิมพ์ *Subnet Mask ของเครื่องนี้ลงไป



11. พิมพ์ *Gateway ของเครื่องนี้ลงไป



12. ใส่ค่า DNS Server ซึ่ง DNS server นั้น เราสามารถหาได้จากการทราบว่า เราใช้ internet ของที่ไหน ก็ไปถาม Internet เจ้านั้นว่า จะให้เราใช้ DNS Server เบอร์อะไร ส่วนที่ผมSet เป็นของ CSLox ครับ



13. ใส่ชื่อของ Server หรือ Hostname ตามตัวอย่างเลยครับ อยากตั้งชื่ออะไรก็ตั้งได้เลยครับ




*หมายเหตุ IPAddress/Subnet mask/Gateway ของเครื่อง ๆ นึง จำเป็นจะต้องทราบก่อนที่จะทำ Server ครับ เนื่องจากว่า ท่านจะได้ทราบว่า Server ของท่านอยู่ตรงไหนของระบบ ยกตัวอย่างง่าย ๆ หากเป็น Home Network ที่เป็น ADSL และ IP ของ Router เป็นเบอร์ 192.168.1.1
IPAddress ควรจะเป็น 192.168.1.2-192.168.1.254 (เบอร์ไหนก็ได้เบอร์นึง ที่ไม่ซ้ำกับเครื่องอื่นในวง LAN)
Subnet mask ควรจะเป็น 255.255.255.0
Gateway ควรจะเป็น 192.168.1.1

To be continue ..