update Ubuntu Server แล้วมี error message แจ้งดังนี้
(more…)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_TIME = "th_TH.UTF-8",
LC_MONETARY = "th_TH.UTF-8",
LC_ADDRESS = "th_TH.UTF-8",
LC_TELEPHONE = "th_TH.UTF-8",
LC_NAME = "th_TH.UTF-8",
LC_MEASUREMENT = "th_TH.UTF-8",
LC_IDENTIFICATION = "th_TH.UTF-8",
LC_NUMERIC = "th_TH.UTF-8",
LC_PAPER = "th_TH.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
Category: Linux (OS, shell script, etc)
-
แก้ปัญหา update ubuntu server แล้วแจ้ง error ว่า perl: warning: Setting locale failed.
-
Multiple SSL Web Sites On One IP Address
แก้ให้ apache 2 สามารถให้บริการ ssl-site ได้มากกว่า 1 site บน ubuntu 12.04 ; Apache 2.2.22
* Server ต้องสามารถให้บริการ https ได้อยู่แล้ว
- เพิ่มบรรทัด NameVirtualHost *:443 ลงไปในไฟล์ /etc/apache2/ports.conf
ตัวอย่าง
ports.conf# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gzNameVirtualHost *:80
NameVirtualHost *:443
Listen 80
(more…)
- เพิ่มบรรทัด NameVirtualHost *:443 ลงไปในไฟล์ /etc/apache2/ports.conf
-
ใช้ Powershell แบบ Linux Shell Script
รวบรวมการทำงานกับ Powershell บน Windows โดยเทียบเคียงกับการใช้ ShellScript บน Linux
(ทะยอยเขียนบันทึก โปรดติดตามเรื่อยๆ)- เลือกบางบรรทัดจากไฟล์ที่มีคำที่ต้องการอยู่
shellscript: grep someword textfile.txt
powershell: select-string “someword” textfile.txt - เลือกบางบรรทัดจากไฟล์ แล้วแยกด้วยเครื่องหมาย : เพื่อเอาฟิลด์ที่ 3
shellscript: grep someword textfile.txt | awk -f ‘{FS=”:”}{print $3}’
powershell: select string “someword” textfile.txt | % { $_.line.split(‘:’)[2]; } - เลือกบางบรรทัดจากไฟล์ แล้วเอาลงไฟล์
shellscript: grep someword textfile.txt > output.txt
powershell: select string “someword” textfile.txt | foreach-object {$_.line} > output.txt - ดูท้ายไฟล์ตลอดเวลา (ไม่รู้จะใช้คำว่าอะไรดี) และเริ่มดูโดยเอา 3 บรรทัดสุดท้าย ไม่ใช่เริ่มทั้งไฟลฺ์
shellscript: tail -f mydata.log
powershell: get-content mydata.log -wait -tail 3
- เลือกบางบรรทัดจากไฟล์ที่มีคำที่ต้องการอยู่
-
ติว “การจัดการห้องบริการคอมพิวเตอร์และสำนักงาน”
กิจกรรมของ CoP PSU sysadmin ของเราในลำดับต่อไป จะจัดขึ้นในวันที่ 31 ม.ค. 56 (พฤหัส) เวลา 09.00 – 16.00 น. มีอาหารเที่ยงเลี้ยง ที่ห้อง 101 อาคารศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
(หมายเหตุ วันที่ 30 ม.ค. 56 ทีมวิทยากรจะเตรียมห้องอบรมด้วยกัน) หากท่านสนใจรีบแจ้งอีเมลมาที่ผมโดยตรง ( wiboon.w@psu.ac.th ) หรือทางเฟสบุ๊คของกลุ่ม และผมจะนำรายชื่อมาใส่ไว้ด้านล่างของบล็อกนี้ (ดูรายชื่อผู้เข้าร่วมติว)ติว “การจัดการห้องบริการคอมพิวเตอร์และสำนักงาน”
กลุ่มเป้าหมาย
- ผู้ดูแลระบบคอมพิวเตอร์และเครือข่ายของม.อ.วิทยาเขตต่างๆ
ระยะเวลา
- 1 วัน
สถานที่และเครื่องคอมพิวเตอร์ที่ใช้
- ต้องใช้ห้องอบรมที่มีเครื่องคอมพิวเตอร์จำนวน 2 เครื่องต่อผู้เข้าอบรม 1 คน
เนื้อหา
- เป็นเรื่องราวเกี่ยวกับการนำโอเพนซอร์สและฟรีแวร์ มาประยุกต์ใช้ในการจัดการห้องบริการคอมพิวเตอร์และสำนักงาน
- แนะนำโปรแกรม pGina บนวินโดวส์ เพื่อควบคุมการใช้เครื่องคอมพิวเตอร์ โดยใช้ radius server ที่ติดตั้งพร้อมใช้งานอยู่ใน PSU-12 ต้นแบบพัฒนาจาก FreeRADIUS ซึ่งมี module ที่สามารถ authen กับ PSU-Passport ได้
- ความรู้เกี่ยวกับ Disk/Partition/Booting
- แนะนำชุดโปรแกรม PSU-12
ชุดโปรแกรม PSU-12 ที่มีสรรพคุณดังนี้
- Boot Manager Server – ห้องคอมพิวเตอร์อัจฉริยะ ควบคุม boot manager จาก server
- Cloning Server – ระบบโคลนนิงผ่าน network ใช้ทดแทนโปรแกรม GHOST
- โคลนนิงได้ทั้ง MS Windows และ Linux
- DHCP + PXE Server – ทำงานเป็น DHCP server และ PXE server
- มีระบบบันทึก log accounting
- สามารถกำหนดให้ หาก PC ลูกข่ายไม่ต่อกับ network จะบูทไม่ได้
- ประยุกต์ใช้งานบังคับให้อ่าน message of today จึงจะบูทเครื่องใช้งานได้
- สามารถกำหนดให้ PC ลูกข่ายบูทเข้า partition ไหนก็ได้
รายละเอียดหัวข้อติว
ตอนที่ 1 – ติดตั้ง server- ติดตั้ง Ubuntu server
- ติดตั้งชุด PSU-12
- การปรับแต่งให้ PSU-12 เป็น radius server ที่สามารถ authen กับ @psu.ac.th และ PSU-Passport
- ทดสอบ authen กับอีเมลของ @psu.ac.th
- ทดสอบ authen กับบัญชีผู้ใช้ PSU-Passport
- สามารถปรับตั้งให้เฉพาะบุคลากรของ PSU หรือเฉพาะบุคลากรในหน่วยงานเท่านั้นที่ใช้บริการได้
- สามารถปรับตั้งให้เฉพาะนักศึกษาในคณะเท่านั้นที่ใช้บริการได้
ตอนที่ 2 – การโคลนนิ่ง
- การ Cloning เครื่องต้นแบบไปเก็บเป็นไฟล์ต้นฉบับ (Backup Process)
- การ Backup Partition Table
- การ Backup Partition
- การ Cloning เครื่องใหม่จากไฟล์ต้นแบบ (Restore Process)
- การตั้งค่าเพื่อทำให้ระบบที่ Cloning มากลับมา boot ได้
ตอนที่ 3 – ติดตั้งโปรแกรมสำหรับควบคุมการใช้เครื่องคอมพิวเตอร์
- แบ่ง partition ของฮาร์ดดิสก์โดยใช้แผ่นซีดี Sysresccd และลง Windows 7 ใหม่ใน partition ที่สร้างขึ้น
- ติดตั้งโปรแกรมเก็บข้อมูลการใช้เครื่องคอมพิวเตอร์ MS และบันทึกไว้บน server ที่เลือก
- ติดตั้งโปรแกรม pGina เพื่อให้ login เข้าก่อนใช้เครื่อง MS
- ตั้งค่า message of today
- สามารถตั้งเวลา shutdown จาก server โดยตรงได้
วิทยากร
- ชัยวัฒน์ ศรีจันทร์กุล คณะวิทยาการจัดการ
- ธีรเดช เขมะธีรรัตน์ คณะทันตแพทยศาสตร์
- วิศิษฐ โชติอุทยางกุร คณะทันตแพทยศาสตร์
- วิบูลย์ วราสิทธิชัย ศูนย์คอมพิวเตอร์
รายชื่อผู้แจ้งเข้าร่วมติว
- วันชัย แซ่ลิ่ม ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์
- อาฮาหมัด เจ๊ะดือราแม งานเทคโนโลยีสารสนเทศ คณะเทคนิคการแพทย์ (*)
- ศิริพงษ์ ศิริวรรณ คณะเภสัชศาสตร์
- ดุษณี โสภณอดิศัย คณะนิติศาสตร์ (*)
- ฝาติหม๊ะ เหมมันต์ ภาควิชาวิศวกรรมเครื่องกล คณะวิศวกรรมศาสตร์
- เกรียงไกร หนูทองคำ ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
- เอกภพ ถาวรจิตร สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร
- นิติ โชติแก้ว คณะการแพทย์แผนไทย
- เพียงพิศ สุกแดง คณะวิทยาการจัดการ
- วิมลรัตน์ แดงสุวรรณ บัณฑิตวิทยาลัย
- พรจรัส สุทธินันท์ คณะการจัดการสิ่งแวดล้อม
- สงกรานต์ มุณีแนม ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
- คณกรณ์ หอศิริธรรม ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
- สุวัฒน์ อนันตคุณูปกร ศูนย์สื่อการเรียนรู้
- เกียรติศักดิ์ คมขำ ศูนย์สื่อการเรียนรู้
- ศรายุทธ จุลแก้ว ศูนย์สื่อการเรียนรู้
- ปุณณวัชร์ วิเทียมญลักษณ์ ศูนย์สื่อการเรียนรู้ (*)
- จรรยา เพชรหวน งานเทคโนโลยีและสารสนเทศ คณะทรัพยากรธรรมชาติ
- ยุวภา โฆสกิตติกุล คณะทรัพยากรธรรมชาติ
- ภูเมศ จารุพันธ์ สารสนเทศ คณะพยาบาลศาสตร์
- กฤตกร อินแพง สารสนเทศ คณะพยาบาลศาสตร์ (fb: Nick Justice)
- นาลิวัน หีมเห็ม สำนักวิจัยและพัฒนา
- ธีรวัฒน์ แตระกุล ฝ่ายวิจัยและบริการ คณะเภสัชศาสตร์
- สุระเชษฐ์ วงศ์อารยพาณิช คณะวิศวกรรมศาสตร์ (*)
- กฤษณะ คีรีวัลย์ คณะวิศวกรรมศาสตร์
- เสะอันวา เสะบือราเฮง คณะศึกษาศาสตร์ ม.อ.ปัตตานี
( (*) ไม่ได้เข้าร่วม)
-
การเปลี่ยนชื่อ group mail ใน mailman
ในการใช้ mailman เพื่อการให้บริการ Mailing List หรือ Group Mail นั้น การเปลี่ยนชื่อกลุ่มนั้น ค่อนข้างยุ่งยาก แต่สามารถทำได้ง่ายกว่า โดยการสร้าง List ใหม่แล้ว เอา Config และ Member เดิมมาใส่
ขอยกตัวอย่าง กรณี จะเปลี่ยน group name ของกลุ่มคณะ วจก. ซึ่งเดิมจะขึ้นต้นด้วย mgt-* ให้ไปเป็น fms-*
ก็จะใช้ Shell Script ตามนี้oldname="mgt" newname="fms" owner="admin.name@psx.ac.th" password="xxxxxx" for line in $( /usr/lib/mailman/bin/list_lists | grep -i "$oldname-"|awk '{print $1}') ; do /usr/lib/mailman/bin/config_list -o $line.txt $line /usr/lib/mailman/bin/list_members $line > $line-member.txt newgroupname=$newname-$(echo $line | sed -e "s/$oldname-\(.*\)*/\1/i") sed -e "s/$oldname-/$newname-/i" $line.txt > $newgroupname.txt /usr/lib/mailman/bin/newlist $newgroupname $owner $password /usr/lib/mailman/bin/config_list -i $newgroupname.txt $newgroupname /usr/lib/mailman/bin/add_members -w n -a n -r $line-member.txt $newgroupname done
1. เมื่อต้องการทราบว่า ในระบบของ mailman มี List ใดบ้างที่ชื่อขึ้นต้นด้วย “mgt-” บ้าง
ใช้คำสั่ง/usr/lib/mailman/bin/list_lists | grep -i "mgt-"
2. ซึ่งจะพบว่ามีหลายกลุ่ม ที่มีชื่อขึ้นต้นด้วย “mgt-“, ก็สามารถใช้ Shell Script เพื่อ เอาผลลัพธ์ จากคำสั่งดังกล่าว มาทำงานร่วมกับคำสั่ง ต่อไปนี้ เพื่อเก็บ Config ของกลุ่มนั้นๆ ออกมาเป็นไฟล์ (สมมุติว่า ชื่อกลุ่มคือ mgt-xxx ก็นำออกมาเป็นไฟล์ชื่อ mtg-xxx.txt)
/usr/lib/mailman/bin/config_list -o mgt-xxxx.txt mgt-xxx
3.ต่อไป วิธีการดูว่า แต่ละกลุ่ม มีใครเป็นสมาชิกบ้าง แล้วนำออกมาเป็นไฟล์ (สมมุติว่า ชื่อกลุ่มคือ mgt-xxx ก็นำออกมาเป็นไฟล์ชื่อ mtg-xxx-member.txt)
/usr/lib/mailman/bin/list_members mgt-xxx > mgt-xxx-member.txt
จะได้ไฟล์ชื่อเดียวกับชื่อกลุ่ม แต่จะลงท้ายด้วยคำว่า -member.txt
4, ในการเปลี่ยนชื่อกลุ่ม จะเปลี่ยนจาก mgt-xxxx มาเป็น fms-xxxx วิธีการที่จะได้คำว่า xxxx ที่ต่อท้าย mgt-xxxx นั้น ใช้คำสั่งต่อไปนี้
echo "mgt-xxxx" | sed -e "s/mgt-\(.*\)*/\1/i"
คำสั่ง sed นั้นมี option “-e” คือการสั่งให้ execute คำสั่งที่ตามมา
ส่วน “s/mgt-\(.*\)*/\1/i” นั้น จะมีโครงสร้างคือs/pattern/replace/i
s : หมายถึง substitute คือ แทนที
pattern: ที่เขียนว่า mgt-\(.*\)* หมายความว่า เมื่อเจอรูปแบบ mgt-xxxx ก็จะเอา xxxx มาเก็บไว้ในตัวแปร
replace: ที่เขียนว่า \1 ก็คือเอาค่าจากตัวแปรใน pattern \(.*\) นั่นก็คือ xxxx
i: ตัวสุดท้ายหมายถึง Case-Insensitive หรือ ไม่สนใจตัวเลขตัวใหญ่5. ต่อไป เป็นสร้าง List ใหม่ ใช่คำสั่งว่า
/usr/lib/mailman/bin/newlist fms-xxxx admin.name@psx.ac.th xxxxxx
คือ สร้างกลุ่มใหม่ชื่อ fms-xxxx โดยให้ owner เป็น admin.name@psx.ac.th และใช้พาสเวิร์ดเป็น xxxxxx
6. ปรับ config ของกลุ่มใหม่นี้ ให้เป็นตามกลุ่มเดิม
/usr/lib/mailman/bin/config_list -i fms-xxxx.txt fms-xxxx
โดยนำ config จากไฟล์ fms-xxxx.txt มาปรับใช้กับกลุ่มชื่อ fms-xxxx
7. สุดท้าย นำสมาชิกจากกลุ่มเดิม เข้าสู่กลุ่มใหม่
/usr/lib/mailman/bin/add_members -w n -a n -r mgt-xxxx-member.txt fms-xxxx
โดย option แต่ละตัวหมายถึง
-w n : ไม่ต้องแจ้งผู้ใช้ว่าถูกเพิ่มเข้ากลุ่ม
-a n : ไม่ต้องแจ้ง ownerและนำข้อมูลสมาชิกจากไฟล์ mgt-xxxx-member.txt เข้ากลุ่ม fms-xxxx
-
ตั้งรับและตอบโต้การโจมตี DNS Brute Force Query Attack
ต่อเนื่องจาก บทความนี้
หลังจากรู้แล้วว่า DNS Server ของเราถูกโจมตีล่ะนะ
ทีนี้จะตอบโต้อย่างไรดี?ถ้าหากการโจมตีมันไม่ได้เป็น distribution คือตรวจสอบแล้วมาจาก host เพียงตัวเดียวหรือไม่กี่ตัว ก็สามารถตอบโต้แบบง่ายๆได้ โดยใช้ความสามารถของ bind9 เอง bind9 จะมี option ที่จะสามารถ block การ query จาก client ได้ โดยสามารถระบุเป็น ip เดี่ยวๆ หรือเป็น block ของ ip network โดยการเพิ่มเป็น blackhole ใน named.conf.options แบบนี้ครับ
สมมติ options config เดิมของ bind9 คือ
options {
directory “/var/cache/bind”;
forward only;
forwarders {
192.100.77.2;
192.100.77.5;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};เราสามารถเพิ่ม
include “/etc/bind/blackhole.list”;
เข้าไปก่อน บรรทัด “};” ซึ่งเป็นบรรทัดล่างสุดของ options เป็น
options {
directory “/var/cache/bind”;
forward only;
forwarders {
192.100.77.2;
192.100.77.5;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
include “/etc/bind/blackhole.list”;
};โดยข้อมูลในไฟล์ /etc/bind/blackhole.list จะมีข้อมูลดังนี้
blackhole {
174.127.92.85;
31.210.155.237;
178.32.76.101;
…
};ซึ่งวิธีการนี้ ทำให้เราสามารถแก้ไขเฉพาะไฟล์ blackhole.list โดยไม่ต้องไปแก้ไข named.conf.options เมื่อมีการโจมตีโดยใช้ ip address ใหม่เกิดขึ้น
อย่างไรก็ตาม ผมพบว่า วิธีการนี้ ไม่ค่อยได้ผลสักเท่าไหร่ ถ้าการโจมตีเป็นแบบ DoS หรือ DDoS เพราะ ผู้ที่โจมตี ไม่ได้สนใจข้อมูลที่ DNS Server ของเราจะส่งกลับไป เพียงแต่ต้องการทำให้ Server ทำงานหนักขึ้นเท่านั้น การระบุ blackhole list จะทำให้ DNS Server ส่งคำตอบกลับไปยัง client ที่ query มาว่า REFUSED แต่ก็จะยังมีการตอบกลับ และมีการบันทึกการ query ลงสู่ record อยู่
นอกจากนี้ ถ้าเป็น DDoS ซึ่งจะมี client ที่มี ip address ใหม่ๆ โจมตีเข้ามาเรื่อยๆ การแก้ไขไฟล์ blackhole.list เพื่อให้ทันสมัยอยู่เสมอ ก็แทบที่จะทำให้วิธีการนี้ ใช้ป้องกันจริงๆไม่ได้ซึ่งก็จะขอเสนอเป็นบทความต่อไปครับ การใช้ fail2ban เพื่อป้องกันการโจมตีแบบ Brute Force DNS Quert Attack
-
สร้าง log สำหรับ DNS Query เมื่อใช้ bind9 เป็น DNS Server
เนื่องจากปัญหาของ DNS Query Brute Force Attack ที่เกิดขึ้นกับ DNS Server บางตัวภายในเครือข่ายของมหาวิทยาลัย สงขลานครินทร์ วิธีการแรกที่ควรจะเอามาใช้ในการที่จะแก้ปัญหานี้ก็คือ “identify your enemy”.
ใครคือคนที่ส่งคำสั่ง query เข้ามา? query อะไร? และ query บ่อยขนาดใหน?
หลังจากแยกแยะข้อมูลในส่วนนี้ได้แล้ว เราค่อยตัดสินใจกันต่อว่าจะทำอย่างไรต่อไปสำหรับบทความนี้ จะพูดถึง Bind9 เท่านั้น Bind version ต่ำกว่า 9 ยังไม่ได้ทดสอบว่าใช้งานได้หรือเปล่า ส่วน version สูงกว่า 9, ถ้ามีก็น่าจะใช้งานได้ ส่วน DNS Server ตัวอื่นๆ ก็ยังไม่ได้ใช้อย่างจริงจังก็เลยไม่รู้เหมือนกันครับว่าจะจัดการอย่างไร แต่โดยหลักๆแล้วก็เหมือนกันครับ ก็คือ
สร้าง log แล้วตรวจสอบจาก log
สำหรับ bind9 ในส่วนของ option configuration จะมี keyword “logging” อยู่ ซึ่งสามารถใช้ระบุการ log ข้อมูลแบบต่างๆได้หลายอย่าง และ หลายรูปแบบมาก ในที่นี้ สมมติ เราสนใจเฉพาะส่วนของการ query นะครับ ก็อาจจะสร้าง config ได้แบบนี้
l
เป็นการสร้าง channel สำหรับ log ขึ้นมาชื่อว่า “query_logging” โดยข้อมูลที่ถูกส่งมาที่ channel นี้จะเก็บลงไว้ในไฟล์ที่ชื่อว่า query.log ซึ่งไฟล์นี้จะเก็บอยู่ใน directory ที่ชื่อว่า /var/log/named
config ข้างต้นจะเก็บเอาไว้ในไฟล์ /etc/bind/named.conf.options (สำหรับ Debian หรือ Ubuntu)
โดยเพิ่มต่อท้ายเข้าไปในส่วนของ directory ที่ใช้ในการเก็บ log (/var/log/named) ถ้ายังไม่มีอยู่ ก็ต้องสร้างขึ้นมาใหม่ก่อน และกำหนดให้เป็นของ user ซึ่ง run ตัว named daemon ซึ่งสำหรับบน Debian/Ubuntu จะใช้ user ที่ชื่อว่า bind ดังนั้น สามารถสร้าง diectory ขึ้นมาใช้งานได้โดยใช้คำสั่งดังนี้
$ sudo mkdir -p /var/log/named
$ sudo chown bind:bind /var/log/namedหลังจากแก้ไขไฟล์ /etc/bind/named.conf.options แล้ว เราก็ควรที่จะตรวจสอบก่อนว่า config ไฟล์ที่แก้ไขไปยังอยู่ใน format ที่ถูกต้องก่อนที่จะใช้งาน ซึ่งทำได้โดยการใช้คำสั่ง
$ sudo named-checkconf /etc/bind/named.conf
ซึ่งถ้าไม่มีข้อความใดๆแสดงออกมา ก็แสดงว่า config ถูกต้อง เราก็สามารถสั่งให้ named อ่าน config ใหม่เข้าไปใช้ได้ โดยการใช้คำสั่ง
$ sudo service bind9 reload
หรือ
$ sudo rndc reconfig
หลังจากนั้น ก็สามารถตรวจสอบการทำงานของตัว named server ได้โดยใช้คำสั่ง
$ host www.mydomain.net localhost
เปลี่ยน ‘www.mydomain.net’ เป็น host ที่ตัว name server ของเราให้บริการอยู่
หลังจากนั้นก็ไปตรวจสอบดูว่าในไฟล์ /var/log/named/query.log มีข้อมูลเพิ่มขึ้นมาหรือไม่ซึ่งถ้าการ config ทุกอย่างถูกต้อง ก็ควรที่จะมีข้อมูลของการ query เกิดขึ้น
ตัวอย่างของข้อมูลที่ตัว named จะ log เอาไว้ครับ28-Nov-2012 11:54:14.911 client 174.127.97.86#25345: query: isc.org IN ANY +ED (172.30.0.85)
28-Nov-2012 11:54:15.589 client 174.127.97.86#25345: query: isc.org IN ANY +ED (172.30.0.85)ซึ่งในที่นี้ client ที่ส่งคำสั่ง query มาก็คือ 174.127.97.86 โดย server ก็คือ 172.30.0.85 และข้อมูลที่ query ก็คือ isc.org ชนิดของข้อมูลเป็น any (ข้อมูลทั้งหมดเท่าที่มี)
ในสภาวะที่ตัว Server ของเราถูกโจมตี ขนาดของ query.log ก็จะเพิ่มขึ้นอย่างรวดเร็วมาก
จากตัวอย่างข้างต้น query ทั้งสองครั้งเกิดขึ้นในช่วงเวลาน้อยกว่า 1 วินาที (ครั้งแรกเวลา 11:54:14, ครั้งถัดมา 11:54:15 ตัวเลข 3 ตัวหลังจุด จะเป็นส่วนย่อยของวินาที)เราจะรู้ได้อย่างไรว่า client ตัวใหนบ้างที่กำลังโจมตี server ของเราอยู่ ตัวใหนที่ใช้งานแบบปกติ?
เราสามารถใช้เครื่องมือบน linux/unix ในการช่วยตรวจสอบได้ครับ โดยการนับ$ cat /var/log/named/query.log | cut -f4 -d’ ‘ | cut -f1 -d’#’ | sort | uniq -c | sort -rn | head -20
ตัวอย่าง output ที่ผมได้จาก server ที่ถูกโจมตีคือ
18174 178.32.76.101
10924 64.120.228.188
5297 194.8.75.57
4584 37.77.82.161
1744 72.20.55.30
1548 88.232.24.58
1356 216.119.157.90
1242 69.64.58.160
1189 5.47.41.41
1155 128.204.201.22
1115 5.135.60.245
872 31.214.144.181
629 37.59.93.86
513 88.228.212.44
467 94.121.242.57
438 178.32.239.65
382 37.59.194.200
343 174.127.92.85
325 174.127.103.234
296 88.245.53.247ตัวเลขข้างหน้าคือจำนวนครั้ง และตัวเลขข้างหลังคือ ip address ของ client ที่ส่งคำสั่ง query เข้ามาทั้งหมดนี้ query ช้อมูลตัวเดียวกันก็คือ “isc.org” type ANY
เรารู้ตัวว่าผู้โจมตีเป็นใครแล้ว หลังจากนี้ก็จะเป็นคำถามว่า แล้วจะแก้ปัญหาอย่างไร
ขอยกไปเป็นบทความหน้าครับ -
Ubuntu 12.04 – วิธีการ Upgrade VirtualBox เป็น 4.2.4 โดยไม่ต้องติดตั้งใหม่
Ubuntu 12.04 – วิธีการ Upgrade VirtualBox เป็น 4.2.4
——————————————————————————-
หาก Ubuntu 12.04 ของท่านมีการติดตั้ง VirtualBox ต่ำกว่ารุ่น 4.2.4 และต้องการจะปรับปรุงโดยการ Upgrade VirtualBoxสามารถทำได้โดยไม่ต้องติดตั้งโปรแกรม VirtualBox ใหม่ดังนี้
-ในระบบปฎิบัติการ Ubuntu 12.04 เรียกใช้งาน Termial โดยกดปุ่มแป้นพิมพ์พรอ้มกัน Ctrl + Alt + T
$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add –
$ sudo sh -c ‘echo “deb http://download.virtualbox.org/virtualbox/debian precise contrib” >> /etc/apt/sources.list’
$ sudo apt-get update && sudo apt-get install virtualbox-4.2– หลังจากพิมพ์คำสั่งข้างต้นเรียบร้อยแล้วโปรแกรม VirtualBox ในเครื่องก็จะถูกปรับเป็น Version ใหม่เรียบร้อยแล้ว
-
Joomla Folder 777
- ก่อน เปลี่ยนต้องเปลี่ยน Site Offline เป็น yes ก่อนทุกครั้ง โดยการแก้ configuration.php แก้ไขบรรทัดที่เขียนว่า public $offline = ‘0’; เปลี่ยนเป็น public $offline = ‘1’;
- โฟลเดอร์ที่ต้องเปลี่ยน permission เป็น 777 หรือเปลี่ยนให้ apache (www-data สำหรับ ubuntu) เป็นเจ้าของในระหว่างติดตั้ง component, module, language ได้แก่ (more…)