Category: Network Configuration

  • การเพิ่ม Wireless Profile PSU WiFi (802.1x) บน Windows 8/8.1

    “บทความนี้ไม่ใช่บนความใหม่ แค่เป็นวิธีลงบน Windows 8/8.1 เท่านั้นนะครับ ใครชำนาญแล้วให้ข้ามไปได้เลยครับ”

    ทำตามขั้นตอนดังนี้ครับ

    1. เปิดหน้า Network and Sharing Center เลือก Set up a new connection or network2013-12-10_132923

    2. เลือก Manually connection to a wireless network2013-12-10_133122

    3. ให้ตั้งค่าดังรูป
    2013-12-10_133236
    *ขอแนะนำให้ใส่ชื่อ Network name ตัวเล็กตัวใหญ่แป๊ะ ๆ นะครับ มีวรรค 1 วรรคหน้า ( ด้วยนะครับ

    4. หลังจากนั้นให้เลือก Change connection settings
    2013-12-10_133259
    *ถ้ามันบอกว่ามีอยู่แล้วให้ลบ profile ทิ้ง วิธีลบด้วย command line อ่านบทความได้ที่นี่ครับ
    (http://sysadmin.psu.ac.th/2013/12/10/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%88%E0%B8%B1%E0%B8%94%E0%B8%81%E0%B8%B2%E0%B8%A3-wireless-profile-%E0%B8%9A%E0%B8%99-windows-88-1-%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99-command-line/)

    5. เลือก Tab Security จากนั้นเลือกหัวข้อ Settings2013-12-10_133352

    6. ให้ ติก Verify the server…. ออก จากนั้นกด OK
    2013-12-10_133440

    7. จากนั้นเลือก Advance Settings ต่อ
    2013-12-10_133527

    8. ให้ติกในส่วนของ Specify authentication mode : และเลือกให้ authen แบบ User authentication ในกรณีที่เป็นเครื่องส่วนตัวสามารถเลือก Save credentials (Save Username Password) จะได้ไม่ต้องกรอกทุกครั้งที่ต่อครับ 
    2013-12-10_133646
    * ในการ Save credentials ในกรณีเปลี่ยนรหัสผ่านต้องมาเปลี่ยนที่นี่ด้วยครับไม่งั้น Windows จะ authen ผิดถี่จนระบบ PSU Passport ทำการ lock account ของท่านครับ (ระบบจะปลด lock อัตโนมัติหลังจากหยุด login จากทุกระบบ 20-30 นาทีโดยประมาณ)

    9. หน้าจอสำหรับ Save credentials
    2013-12-10_133747

    10. เป็นอันเสร็จ ปิดหน้าต่างที่เปิดไว้ให้หมดครับ แล้วลองกลับไปเชื่อมต่อใหม่อีกครั้งก็จะขึ้นหน้าให้ Login ดังรูปครับ ถ้าหน้าตาต่างจากนี้แสดงว่า Set ผิดครับ
    2013-12-10_134049

  • การจัดการ Wireless Profile บน Windows 8/8.1 ผ่าน Command line

    “บางท่านอาจประสบปัญหาลบ Wireless Profile บน Windows 8/8.1 ไม่ได้ไม่รู้จะทำอย่างไร”

    ผมจึงเสนออีก 1 วิธี คือการลบผ่าน Command Line ดังนี้

    1. เปิดโปรแกรม CMD ขึ้นมาตามปกติ

    2. ในกรณีที่ต้องการดูว่าตอนนี้มี Profile อะไรบ้างให้สั่งคำสั่ง

    netsh wlan show profile
    2013-12-10_132414

    * หมายเหตุ : สำหรับคนที่ผูก account ไว้กับ Microsoft ทาง Microsoft จะมีการจำ Profile ไว้บน Cloud ให้เวลาท่านลงเครื่องใหม่ หรือนำ account ไปใช้กับเครื่องอื่น ถ้าเข้า SSID ไหนที่ต้องใส่รหัสผ่าน สามารถเข้าได้เลยโดยไม่ต้องใส่รหัสผ่าน (งงอยู่หลายครั้งว่าทำไมไม่ขึ้นให้ใส่รหัสผ่าน) ก็ไม่ต้องแปลกใจ แต่ในส่วนของ 802.1x ยังไงก็ต้องตั้งใหม่อยู่ดีครับ (มันไม่ได้จำทุก ๆ SSID นะครับ ไม่รู้มันเลือกยังไง)

    3. ทำการสั่งคำสั่งลบ Profile นั้น ๆ ดังนี้

    netsh wlan delete profile “xxxx”2013-12-10_132448

    เท่านี้ก็สามารถเพิ่มข้อมูล Profile ใหม่ได้แล้วครับ

    *แถม : สำหรับคนที่ต่อติดแล้แต่อยากกลับไปแก้ Wireless Profile ที่ตั้งค่าไว้ให้เข้าไปแก้ได้ตามรูปครับ

    1. เปิด Wifi Status ผ่านหน้า Network and Sharing Center
    2013-12-10_135742

    2. คลิกเลือก Wireless Properties จากนั้นจะปรากฎหน้าการตั้งค่า Profile จะแก้อะไรก็แก้ได้เลยครับ
    2013-12-10_135455

  • ติดตั้ง VPN บน Windows 8.1 ภายใน 6 ขั้นตอน (นิกาย L2TP)

    เอาว่า ใครอยากติตตั้งง่าย ลองดู (เชื่อมั่นใน L2TP ว่าจะอยู่รอดได้)

    1.คลิกขวาที่ System Tray ตรง Connection แล้วเลือก Open Network and Sharing Center
    01

     

    2.คลิก Set up a new connection or network

    02

    3.คลิก Connect to a workplace03

    4. คลิก Use my Internet connection (VPN)

    04

    5. ใส่
    Internet Address : vpn.psu.ac.th
    Destination name: PSU-VPN05

     

    6. เวลาจะใช้ ก็เลือก PSU-VPN

    06

     

     

  • การติดตั้งเครื่องบันทึกภาพกล้องวงจรปิด

    การติดตั้งเครื่องบันทึกภาพกล้องวงจรปิด

    • เตรียมอุปกรณ์ Hardware
    • เตรียมชุดข้อมูล Software+config
    • Config ระบบอินเทอร์เน็ต

    เตรียมอุปกรณ์ Hardware มีอะไรบ้าง ? (สำหรับการติดตั้งกล้องวงจรปิด 4 ช่องสัญญาณครับ)

    1. สาย RG สีขาวยี่ห้อ Link หรือ Commscope ยาว 100 เมตร

    2. หัวแจ๊คสัญญาณ RG 6 (BNC Type) จำนวน 4 ตัว

    3. รางเก็บสายไฟฟ้า PVC สีขาว 5*5 cm ยาว 4 m.

    4.สายไฟฟ้า VCT 2*0.5  SQ.mm หรือ VCT 2*1.5 SQ.mm ความยาว 20 เมตร

    5.ปลั๊กตัวเมีย 2 ตัว

    6. กล่องกันน้ำขนาด 6*6*8 จำนวน 2 ใบ

    7. เกลียวปล่อยขนาด #7*1 หัว JP  30 ตัว

    8 พุกผีเสื้อจำนวน 30 ตัว

    9.เครื่องบันทึกภาพ 4 ช่อง INNEKT ZLD104A H.264 Full D1 อินเตอร์เฟช GUI OSD, คอนโทรลเลอร์ USB Mouse 4CH

    10.กล้องอินฟาเรด ขนาด 1/3″CMOS ความละเอียด 600 TVL

    11.Harddisk western digital ขนาด 500 GB

    รวมราคา 14,097.25 บาท นี่คือราคาของอุปกรณ์ Hardware ที่เราซื้อมาติดตั้ง รวม Vat 7% แล้วนะครับ

    สำหรับการเดินสายอุปกรณ์ทั้งหมดในส่วนของ Hardware ต้องขอขอบพระคุณพี่ประเสริฐ นายช่างใหญ่จากจังหวัดภูเก็ตเดินทางมาติดตั้งให้ครับ (งานนี้จะเป็นงานเดินสายสัญญาณบนฝ้าเพดานครับ)

     

     

    การเชื่อมต่ออุปกรณ์กล้องวงจรปิด

     

    รูปที่ 1 แสดงการเชื่อมต่ออุปกรณ์กล้องวงจรปิด

     

    เตรียมอุปกรณ์ Software+Config มีอะไรบ้าง ? (สำหรับการติดตั้งกล้องวงจรปิด 4 ช่องสัญญาณครับ)

     

    1. หน้าจอสำหรับ Monitor เครื่อง DVR  สำหรับการเข้าใช้งานครั้งแรก

     

    •       ใส่ User Name : admin , Password : 123456   (การทำงานของระบบคลิกซ้ายคือการเข้าใช้งาน คลิกขวาคือการย้อนกลับไปยังเมนูก่อนหน้า)

    2. วิธีการตั้งค่าวันที่และเวลาเครื่อง

    • คลิกขวาเลือก Main Menu > Configuration > System ตั้งค่าวันที่และเวลาเรียบร้อยแล้วกดปุ่ม Save กด Apply และกด OK

    3. วิธีการตั้งค่าการบันทึก

    • คลิกขวาเลือก Main Menu > Configuration >Record
    • Channel คือ การเลือกกล้อง
    • Resolution คือขนาดของภาพ แนะนำที่ D1
    • Frame Rate คือ ความเร็วในการบันทึก Real-time อยู่ที่ 25 FPS
    • สามารถ config All Channel ได้จากฟังก์ชัน Copy ครับ

    4. วิธีการเลือกรูปแบบการบันทึก สามารถเลือกได้ 3 รูปแบบ คือ บันทึกตลอดเวลา, บันทึกเฉพาะเวลาที่ต้องการ และบันทึกเมื่อมีเหตุการณ์

    • การตั้งค่าการบันทึกตลอดเวลา คลิกขวาเลือก > Record > Manual
    • การตั้งค่าบันทึกเฉพาะเวลาที่ต้องการ คลิกขวาเลือก > Record > Schedule  เมื่อเลือกการตั้งค่าแบบนี้จำเป็นต้องตั้งค่าเวลาที่ต้องการบันทึก สามารถทำได้โดย คลิกขวาเลือก Main Menu > Configuration >Record > Record Plan  โดยแถบสีเขียว คือ การบันทึกแบบ Manual, แถบสีเหลือง คือ การบันทึกแบบ Motion และ แถบสีแดงคือการบันทึกแบบ Alarm
    • กดปุ่ม Set เพื่อทำการตั้งค่าเวลาที่ต้องการบันทึก
    • การตั้งค่าบันทึกเมื่อมีเหตุการณ์  จำเป็นต้องตั้งค่า Record ให้เป็น Schedule ก่อนโดยเข้าไปที่เมนู คลิกขวา > Record > Schedule หลังจากนั้นเข้าไปที่ฟังก์ชัน Alarm เพื่อตั้งค่าการบันทึก คลิกขวา Main Menu > Configuration >Alarm > Detect  เลือก Channel ที่ต้องการบันทึกเมื่อมีเหตุการณ์ เพื่อกำหนดพื้นที่ในการตรวจจับและความไวในการตรวจจับวัตถุ (ที่สถาบัน ก็เลือกการตั้งค่าแบบนี้ครับเพราะไม่เปลือง Harddisk)
    • หลังจากกำหนดพื้นที่ในการตรวจจับวัตถุและความไวในการตรวจจับวัตถุได้ ขั้นตอนต่อมาให้เข้าไปที่เมนู Process เพื่อเลือกกล้องที่ต้องการบันทึกเมื่อมีเหตุการณ์  เข้าไปที่เมนู Process > Linkage Set > Record Channel

    5. วิธีการใช้งานโปรแกรม iNNEKT ผ่านคอมพิวเตอร์

    • ก่อนที่จะใช้งานโปรแกรม iNNEKT ผ่านคอมพิวเตอร์ได้นั้นต้องตั้งค่าระบบก่อนสามารถทำได้โดยคลิกขวาเลือก Main Menu > Configuration > Network
    • IP Address : ใส่ IP ที่อยู่ใน group เดียวกับคอมพิวเตอร์
    • Gateway : ให้ใส่เป็นค่า IP ของ Router
    • หลังจากตั้งค่า IP และ gateway แล้วต้องตั้งค่า Port ที่เมนู Advance เลือก Multicast
    • TCP Port : 8000 , HTTP Port : 80
    • ลงโปรแกรม แผ่น CD Software ที่แถมมาให้ตอนซื้อเครื่องบันทึกภาพ (เครื่อง DVR)  ผมลงโปรแกรมบน Window 7 Professional 32 bit ครับ  เมื่อลง Software เสร็จเรียบร้อย ถ้าหากดับเบิ้ลคลิกโปรแกรมจะไม่สามารถเข้าใช้งานได้ ต้องคลิกขวา –>Run as administrator ครับ

    เมื่อเปิดโปรแกรมจะขึ้นแบบนี้

     

     

    login

     

    รูปที่ 2 แสดงการเข้าสู่ระบบผ่านคอมพิวเตอร์

    • ให้กด OK เพื่อเข้าสู่ระบบได้เลยครับ
    • จากนั้นไปเลือกเมนู Setting > Device Config เพื่อ Add Device ครับ
    • เลือก Search Device (อุปกรณ์ต้องอยู่ในวงแลนเดียวกัน)
    • กดที่ Device แล้วกด Add
    • เข้ามาแก้ไขชื่ออุปกรณ์
    • ใส IP Address หรือ Host name
    • ใส่ User name : admin , Password : 123456
    • กดปุ่ม Get Device Channel Count
    • กดปุ่ม Select Organization First เพื่อเลือกที่อยู่
    • ใส่ Device Port  : 8000
    • กดปุ่ม Update

    6. ขั้นตอนการดูภาพผ่าน Web Browser

    • ทดลองใน IE 10 นะครับ ใส่ IP Address ของเครื่อง DVR ครับ : 192.168.xx.xx
    • ใส่ Username : admin , Password : 123456
    • หากเจอปัญหา ActiveX  ให้เลือก Tool > Internet Option
    • เลือก Security > Custom level
    • ในส่วนที่เป็น ActiveX เลือกเป็น Enable ให้หมด ถ้าหัวข้อไหนเลือก Enable แล้วมีแถบสีแดงให้เลือกเป็น Prompt แทน

    กล้อง

    รูปที่ 3 แสดงการการดูผ่านเวบ

     

    7. การดูผ่านโทรศัพท์มือถือ

    • สามารถดาวโหลด Application เพื่อดูผ่านโทรศัพท์มือถือได้ มีเวอร์ชั่น Iphone, Android
    • วิธีการลงโปรแกรม IZee Pro เข้าไปที่ Store แล้ว Search โปรแกรม IZee Pro แล้วทำการติดตั้ง
    • add device เข้าไปที่เมนู Device List ใส่ค่า Name , Address , TCP port , User ID,password
    • กดปุ่ม Save จะได้ Device มาอยู่บน List

    Config ระบบอินเทอร์เน็ต

    • ต้องขอขอบคุณ พี่โกศล โภคาอนนต์ ศูนย์คอมที่ช่วย Fig IP Address ให้กับอุปกรณ์ DVR ทำให้สามารถเข้าดูผ่านอินเทอร์เน็ตได้
    • หากต้องการดูจากภายนอกมหาวิทยาลัย ต้อง VPN เข้ามาใช้เครือข่ายภายในมหาวิทยาลัยก่อน หรือไม่ก็ขอโดเมนใหม่จากทางศูนย์คอมพิวเตอร์

    Chio..

  • HowTo: Windows 8 L2TP / IPsec VPN Setup Tutorial

    • เปิด Network and Sharing Center จาก Control panel
      2013-07-31_0933
    • คลิกที่ Set up a new connection or network2013-07-31_0934
    • คลิก Connect to a Workplace2013-07-31_0935
    • คลิก Use my Internet connection (VPN)2013-07-31_0937
    • ใส่ค่าต่างๆ ตามรูป2013-07-31_0938
    • คลิก Create แล้วมองที่ Taskbar ด้านล่างขวา คลิกที่รูปการเชื่อมต่อเครือข่าย เพื่อเรียกดูการเชื่อมต่อเครือข่ายต่างๆ จะพบว่ามี  vpn.psu.ac.th เพิ่มขึ้นมา ให้คลิกขวาที่ vpn.psu.ac.th
      2013-07-31_0942
      หรือ
      2013-07-31_1117
      2013-07-31_0942_001
    • เลือก View connection properties
      2013-07-31_0943
    • จะได้ดังรูป
      2013-07-31_0944
    • คลิกที่ Security ในช่อง Type of VPN เลือก Layer 2 Tunnelinig Protocol with IPsec (L2TP/IPsec) แล้วคลิก Advanced settings
      2013-07-31_0945
    • เลือก Use preshared key for authentication แล้วในช่อง Key: พิมพ์ว่า vpn key (อ่านว่า วี-พี-เอ็น-เว้นวรรค-คีย์) กด OK
      2013-07-31_0947
    • เลือก Allow these protocols แล้วคลิกเลือกทุกหัวข้อด้านล่าง ยกเว้น Automatically … แล้วคลิก OK
      2013-07-31_0947_001
    • คลิกที่รูปการเชื่อมต่อเครือข่าย เพื่อเรียกดูการเชื่อมต่อเครือข่าย คลิกที่ vpn.psu.ac.th คลิก Connect
      2013-07-31_0953
    • ใส่ Username และ Password ของ PSU Passport แล้วคลิก OK
      2013-07-31_0954
    • รอสักครู่
      2013-07-31_1131
    • จะได้เป็นดังรูป
      2013-07-31_0956
    • เมื่อเลิกใช้งาน คลิกที่รูปการเชื่อมต่อเครือข่าย เพื่อเรียกดูการเชื่อมต่อเครือข่าย คลิกที่ vpn.psu.ac.th คลิก Disconnect
      2013-07-31_1010
    • จบ ขอให้สนุกครับ…

    หมายเหตุ

    • หากต้องการให้ใส่ username และ password ใหม่ทุกครั้งให้เอาเครื่องหมายถูกหน้าข้อความ Remember my credentials ออกก่อนคลิก Create ในขั้นตอนแรก
    • หากล็อกอินแล้วได้ Error เกี่ยวกับ Certificate ให้กลับมาใส่ vpn key อีกครั้ง
    • Windows Vista/Windows 7 อาจใช้วิธีนี้ได้เช่นกันแต่วิธีการอาจต้องเปลี่ยนแปลงตามความเหมาะสมของ OS

    ที่มา

    • http://www.hideipvpn.com/2012/03/howto-windows-8-l2tp-ipsec-vpn-setup-tutorial/
  • Ubuntu NAT Router

    เพื่อนครูที่โรงเรียนหนึ่งสอบถามเข้ามาว่ากำลังจะทำ Linux Router ด้วย Ubuntu 12.04 ผมก็มีอยู่ตัวหนึ่งที่ใช้ใน workshop อยู่พอดี ผมติดตั้ง Ubuntu 12.04 ที่มี network interface card จำนวน 2 อัน ทำอยู่ใน Oracle VM VirtualBox ผมติดตั้ง BIND โปรแกรมสำหรับทำ DNS server และ ISC-DHCP-SERVER โปรแกรมสำหรับทำ DHCP server เอาไว้ใช้ในการทดสอบเมื่อมี VM Guest เครื่องอื่นๆอยู่ภายใน internal network ไม่ต้องไปรบกวน IP Address ของสำนักงาน เพราะเครื่อง Guest อื่นๆ จะขอ DHCP IP จาก Ubuntu Router นั่นเอง แล้วยังสามารถตั้งชื่อโดเมนเนมให้กับเครื่อง Guest ได้อีกด้วย ในกรณีที่เราทำใช้งานใน Oracle VM VirtualBox นั้น network interface eth0 ก็ตั้งค่า Network Adapter เป็น NAT และ network interface eth1 ก็ตั้งค่า Network Adapter เป็น Internet Network ตั้งชื่อว่า Intnet1 แต่หากนำไปติดตั้งเป็น Linux Router สำหรับโรงเรียนด้วยเครื่องจริง network interface eth0 ก็เป็น IP Address ที่ได้รับจาก ADSL หรือ Leased Line ส่วน network interface eth1 ก็ตั้ง IP Address ตามใจชอบ

    ubuntu-nat-router

    ผมจึงคิดว่าก็น่าจะลองเขียนเป็นคำแนะนำส่งให้กับครูท่านนั้น แต่เพื่อให้สามารถต่อยอดต่อไปอีกได้ ผมจึงเขียนสะสมไว้ในหัวข้อเรื่อง คือ Ubuntu NAT Router ที่ Link นี้ http://opensource.cc.psu.ac.th/Ubuntu_NAT_Router

    ผมจึงมาบอกเล่าให้เพื่อนๆฟังครับ เผื่อว่าใครกำลังมองหาวิธีการนี้อยู่

  • How to create PSU VPN (L2TP/IPSec) connection Ubuntu 13.04?

    * ติดตั้งโปรแกรมชื่อ l2tp-ipsec-vpn ด้วยคำสั่ง

    $sudo apt-get install l2tp-ipsec-vpn

    ดังภาพ
    Screenshot from 2013-04-29 11:02:30
    * ตอบ y
    Screenshot from 2013-04-29 11:03:16
    * ตอบ No
    Screenshot from 2013-04-29 11:03:31
    Screenshot from 2013-04-29 11:03:40
    * กด OK
    Screenshot from 2013-04-29 11:03:53
    * สั่ง reboot เครื่อง
    Screenshot from 2013-04-29 11:04:12
    * เมื่อบูทเสร็จจะพบว่ามีไอคอนเพิ่มมาบนพาเนล
    Screenshot from 2013-04-29 11:44:16
    * คลิกซ้ายเลือก Edit Connection
    Screenshot from 2013-04-29 12:00:41
    * หน้าจอจะมืดลงและมีช่องให้ใส่พาสเวิร์ดของผู้ใช้ลงไปแล้วกด OK
    Screenshot from 2013-04-29 12:02:16
    * จะได้หน้าจอดังรูป
    Screenshot from 2013-04-29 11:21:03
    * คลิก Add จะได้หน้าจอดังรูป ใส่ vpn.psu.ac.th ลงไปในช่อง Connection name กด OK
    Screenshot from 2013-04-29 11:21:32
    * ได้ดังรูป
    Screenshot from 2013-04-29 12:06:09
    * คลิก Edit กรอกข้อความตามรูป
    Screenshot from 2013-04-29 11:22:00
    * คลิก PPP เลือกตามรูป ในช่อง Username และ Password ให้ใช้ PSU Passport
    Screenshot from 2013-04-29 11:22:30
    * คลิก IP setting คลิกเครื่องหมายถูกในช่องสี่เหลี่ยมหน้าข้อความ Obtain DNS server address automatically กด OK
    Screenshot from 2013-04-29 11:23:35
    * กด OK ออกมาจนสุดคลิก Close คลิก OK
    Screenshot from 2013-04-29 11:24:14
    * Reboot อีกครั้ง
    * คลิกที่ไอคอน เลือก vpn.psu.ac.th
    Screenshot from 2013-04-29 11:31:28
    Screenshot from 2013-04-29 11:25:37
    * เมื่อเชื่อมต่อสำเร็จจะเป็นดังรูป
    Screenshot from 2013-04-29 11:28:29
    * สำหรับ Linux Mint 15 อาจจะต้องทำคำสั่งนี้ก่อนจึงจะใช้งานได้

    sudo apt-add-repository ppa:werner-jaeger/ppa-werner-vpn
    sudo apt-get update && sudo apt-get install l2tp-ipsec-vpn

    * ขอให้สนุกครับ

    ที่มา http://rapidvpn.com/setup-vpn-l2tp-ubuntu.htm

  • การใช้ fail2ban สำหรับการตั้งรับ DNS Brute Force Query Attack

    ต่อเนื่องจาก บทความนี้

    หลังจากวิธีการใช้งาน blackhole เพื่อให้ bind9 ไม่ตอบกลับ query ที่ client ส่งมา แล้วพบว่าวิธีการนี้
    จะมีปัญหากับการโจมตีแบบ DDoS ดังนั้น เราก็ต้องรับมือกับการโจมตีแบบนี้ด้วยเครื่องมืออื่นๆแทน

    เครื่องมืที่ผมใช้งานแล้วพบว่ามีประโยชน์มากตัวนึง สำหรับการป้องกันการโจมตีแบบอัตโนมัติก็คือ fail2ban ซึ่งบน Debian/Ubuntu สามารถติดตั้งได้ด้วยคำสั่ง

    $ sudo apt-get install fail2ban

    ซึ่งจะสร้าง configuration file ของ fail2ban ขึ้นมาอยู่ใน directory /etc/fail2ban
    configuration ของ fail2ban จะแบ่งเป็นส่วนของการตรวจจับ (โดยการใช้ regular expression) จาก log file ที่กำหนดไว้ (ซึ่งจะอยู่ใน directory /etc/fail2ban/filter.d)  และสามารถ กำหนด action (ซึ่งจะอยู่ใน directory /etc/fail2ban/action.d) ซึ่งใช้ในการ ban  การเข้าใช้งาน service ของ server ของเรา หรือตอบสนองแบบอื่นๆ เช่นส่ง email ไปเตือน admin ได้ มี action ที่ได้กำหนดเอาไว้แล้วหลายรูปแบบ ในที่นี้ ผมจะเลือกใช้ iptables filter สำหรับการ filter query packet ที่จะเข้ามา ซึ่ง config นี้ จะอยู่ในไฟล์ /etc/fail2ban/action.d/iptables.conf

    ส่วนของการ ตรวจจับ จะมีตัวอย่างของการ เขียน expression เอาไว้แล้วในไฟล์ตัวอย่าง ที่มีอยู่ใน /etc/fail2ban/filter.d ซึ่งสำหรับกรณีนี้ ผมจะสร้างไฟล์ขึ้นมาใหม่ชื่อ named-query-dos.conf โดยจะมีข้อมูลในไฟล์ดังต่อไปนี้

    [Definition]
    failregex = client <HOST>#.+: query: isc.org IN ANY \+ED .+
    ignoreregex =

    โดยบรรทัด failregex จะเป็น regular expression ที่ได้มาจาก logfile /var/log/named/query.log ซึ่งจะมีรูปแบบของการ query ที่แน่นอน นั่นคือ query “isc.org” แบบ ANY และมี flag ของการ query คือ ‘ED’

    28-Nov-2012 11:23:54.063 client 46.160.80.232#25345: query: isc.org IN ANY +ED

    ส่วน filed ของ วันที่/เวลา จะเปลี่ยนไปเรื่อยๆตามเวลาของการ query ที่เกิดขึ้น หมายเลข ip ของ client จะถูก match กับ <HOST> และส่งกลับไปให้ action ซึ่งจะนำเอาไปใช้ต่อไป

    ส่วนของ action เราจะใช้ iptables สำหรับการ filter ซึ่งจะมี config กำหนดเอาไว้แล้ว ซึ่งไม่ต้องวเปลี่ยนแปลงอะไร ส่วนของการ config ที่จะต้องเพิ่มขึ้นมาก็คือ ระบุให้ตัว fail2ban รู้ว่าจะต้องเอา config ส่วนนี้ไปใช้ โดยการเพิ่มข้อมูลต่อไปนี้ เข้าไปในไฟล์ /etc/fail2ban/jail.conf

    [named-query-dos]
    enaled = true
    banaction = iptables
    port = domain,53
    protocol = udp
    filter = named-query-dos
    logpath  = /var/log/named/query.log
    bantime  = 86400
    maxretry = 5

    ซึ่งจาก config ที่เพิ่มเข้าไป (หรืออาจจะสร้างเป็นไฟล์ใหม่ ในชื่อว่า jail.local ก็ได้)
    [named-query-dos] จะเป็นการระบุว่า config ส่วนนี้ เป็การเริ่มต้น section ใหม่
    enabled = true จะระบุว่าให้เอา config นี้ไปใช้ ซึ่งเราสามารถ disable config ส่วนนี้ได้ โดยไม่ต้องลบ config ออก เพียงแต่เปลี่ยนค่า enable = false
    banaction = iptables เป็นการเลือก action ที่จะใช้ ban client ที่เข้ามาโจมตี
    port = domain,53
    protocol = udp
    ทั้ง port และ protocol จะเป็นการระบุข้อมูลการ ban ให้กับ iptables
    filter = named-query-dos เป็นการเลือก filter (match regular express ที่จะใช้ ซึ่งในที่นี้ก็เป็นการอ้างถึงไฟล์ /etc/fail2ban/filter.d/named-query-dos.conf)
    logpath  = /var/log/named/query.log เป็นการระบุชื่อไฟล์ ที่เป็น input ของการ match expression ซึ่งในที่นี้ก็คือไฟล์ ที่เรากำหนดให้ bind9 สร้างขึ้น
    bantime  = 86400 เป็นระยะเวลาที่ unban สำหรับ ip นั้นๆหน่วยเป็นวินาที
    maxretry = 5 จำนวนครั้งของการ query ที่เกิดขึ้น ก่อนที่จะเริ่ม ban

    ในที่นี้ ระยะเวลาของการ ban — bantime ผมกำหนดให้เท่ากับ 24 ชม. ซึ่งนานพอที่จะป้องกันการกลับเข้ามาโจมตีใหม่ในเวลาอันสั้น เราอาจจะไม่ยกเลิกการ ban เลยก็ได้ แต่สำหรับ iptables แล้วมันจะทำให้ tables โตขึ้นเรื่อยๆ ซึ่งจะทำให้การ process packet ช้าลง เพราะฉะนั้นเวลา ban 24 ชม. น่าจะเหมาะสม และถ้ามีการโจมตีเข้ามาอีก ก็จะถูก ban อีกในรอบ 24 ชม.ถัดไป

    maxretry กำหนดค่า default เป็น 3 ผมเพิ่มให้เป็น 5 เพื่อ ยืนยันว่าเป็นการโจมตีจริง ไม่ใช่ query ผิดพลาด ซึ่งอาจจะเกิดขึ้นได้

    หลังจาก config เสร็จแล้ว เราก็สั่งให้ fail2ban เริ่มต้นทำงานได้โดยใช้คำสั่ง

    $ sudo service fail2ban start

    เราสามารถตรวจสอบผลของการทำงานของ fail2ban จาก logfile ได้ โดยการใช้คำสั่ง

    $ sudo tail -f /var/log/fail2ban.log

    เท่าที่ผมใช้อยู่สามารถ จัดการกับการโจมตีที่เกิดขึ้นได้อย่างดีครับ

  • ตั้งรับและตอบโต้การโจมตี 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