Author: kanakorn.h

  • ELK #04

    คราวนี้มาติดตั้งบน Docker บ้าง

    1. ถ้าเครื่อง Server เป็น Ubuntu 16.04 ทำตามขั้นตอนนี้เพื่อให้สามารถใช้งาน Docker ได้
      วิธีการติดตั้ง Docker บน Ubuntu 16.04
    2. เนื่องจาก Elasticsearch 5.x ใช้ Virtual Memory มากขึ้น ลองใช้คำสั่งนี้ดูค่าปัจจุบัน
       sysctl vm.max_map_count

      ค่า Default น่าจะประมาณนี้
      vm.max_map_count = 65530 ให้ทำการเพิ่มด้วยคำสั่งนี้

      sudo -i
      sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
      exit

      จากนั้นให้ทำการ Reboot

    3. ติดตั้ง docker image ของ sebp/elk ด้วยคำสั่ง
       sudo docker pull sebp/elk

      โดย Default จะได้ Lastest Version

    4. ใช้คำสี่งต่อไปนี้ เพื่อ Start ELK ขึ้นมา โดยเปิด port ให้ Kibana: 5601, Elasticsearch: 9200, Logstash: 5044 และทำงานเป็นแบบ Detach หรือ Background นั่นเอง
      sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk

      หรือถ้าจะใช้ Docker Compose ก็สามารถใช้งานด้วยวิธีการนี้
      เริ่มจาก ติดตั้ง Docker Compose ด้วยคำสั่ง

      sudo -i
      curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
      chmod +x /usr/local/bin/docker-compose
      exit

      จากนั้น สร้างไฟล์ /path/to/your/config/elk.yml เนื้อหาดังนี้

      elk:
       image: sebp/elk
       ports:
       - "5601:5601"
       - "9200:9200"
       - "5044:5044"

      จากนั้นก็ Start

      sudo /usr/local/bin/docker-compose -f /path/to/your/config/elk.yml  up -d elk

      หากต้องการให้ container ทำการ start ทุกครั้งที่ Reboot ใช้คำสั่ง

      sudo crontab -e

      แล้วใส่บรรทัดนี้ต่อท้ายไฟล์

      @reboot /usr/local/bin/docker-compose -f /home/mama/elk.yml up -d elk
    5. ทดสอบว่า Container ที่กำลังทำงานอยู่มีอะไรบ้าง
      sudo docker ps

      วิธีดูว่า มี Container อะไรบ้าง (ทั้งที่ทำงานและไม่ทำงาน)

      sudo docker ps -a

      วิธีดูว่าเกิดอะไรขึ้นกับ Container (ในที่นี้ ชื่อ elk)

      sudo docker logs elk
    6. ถึงจุดนี้ ก็สามารถใช้งาน Kibana ทาง web url: http://your.host:5601 ได้แล้ว

     

    Reference:

    https://elk-docker.readthedocs.io/

     

  • ELK #03

    วิธีการติดตั้ง Kibana บน Ubuntu 16.04

    1. ก่อนอื่น Update
      sudo apt -y update ; sudo apt -y upgrade
    2. ติดตั้ง Java JDK
      sudo apt -y install default-jdk
    3. Download และติดตั้ง
      wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.2-amd64.deb
      sudo dpkg -i kibana-5.4.2-amd64.deb
    4. จากนั้นแก้ไขไฟล์ /etc/kibana/kibana.yml
      เพิ่มบรรทัดสุดท้าย

      server.host: "192.168.xxx.yyy"
      elasticsearch.url: "http://your.elastic.host:9200"
    5. จากนั้น Start Service
      sudo service kibana start
    6. เปิด Web Browser ไปที่
      http://192.168.xxx.yyy:5601
  • ELK #02

    ขั้นตอนการติดตั้ง Logstash บน Ubuntu 16.04

    1. ก่อนอื่น Update
      sudo apt -y update ; sudo apt -y upgrade
    2. ติดตั้ง Java JDK
      sudo apt -y install default-jdk
    3. Download และติดตั้ง
      wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.2.deb
      sudo dpkg -i logstash-5.4.2.deb
    4. Start Logstash Service
      sudo service logstash start
    5. ต่อไป สร้าง Configuration ไว้ใน /etc/logstash/conf.d/
      เช่น จะสร้าง Pipeline ที่อ่านจาก File /tmp/test.log แล้ว ส่งไปที่ Elasticsearch โดยตรง
      ให้สร้างไฟล์ /etc/logstash/conf.d/file.conf ดังนี้

      input {
              file {
                      path => "/tmp/test.log"
                      type=> "test"
              }
      }
      output {
              file {
                      path => "/tmp/output.txt"
              }
      }
      
    6. เมื่อลองใช้คำสั่ง
       echo "$(date): New World" >> /tmp/test.log
      

      ก็จะปรากฏไฟล์ /tmp/output.txt ขึ้น

    7. ต่อไป ลองเปลี่ยน Output เป็น Elasticsearch โดยการสร้างไฟล์ /etc/logstash/conf.d/es.conf
      input {
              file {
                      path => "/tmp/test.log"
                      type=> "test"
              }
      }
      output {
              elasticsearch {
                      hosts => ["http://your.elastic.host:9200"]
              }
      }
      
      
    8. เมื่อลองใช้คำสั่ง
       echo "$(date): New World" >> /tmp/test.log
      

      ก็จะปรากฏบรรทัดใหม่ใน /tmp/output.txt และ มีการเขียนไปบน Elasticsearch ด้วย

    9. ลองเปิด Web Browser แล้วใช้คำสั่งต่อไปนี้
      http://your.elastic.host:9200/_cat/indices?v
      ก็จะได้ผลลัพธ์ประมาณนี้
    10. จากนั้น วิธีที่จะแสดงผลที่เก็บไว้ใน Elasticsearch ให้เปิด URL นี้
      http://your.elastic.host:9200/logstash-2017.06.24/_search?q=*
      ก็จะได้ผลลัพธ์ประมาณนี้

    แล้วยังไง ??? รอดูตอนต่อไป

  • ELK #01

    ELK = ElasticSearch + LogStash + Kibana

    วิธีการติดตั้ง ElasticSearch บน Ubuntu 16.04

    1. ก่อนอื่น Update
      sudo apt -y update ; sudo apt -y upgrade
    2. ติดตั้ง Java JDK
      sudo apt -y install default-jdk
    3. Download และติดตั้ง
      wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.deb
      sudo dpkg -i elasticsearch-5.4.2.deb
      sudo update-rc.d elasticsearch defaults 95 10
    4. แก้ไขไฟล์ /etc/elasticsearch/elasticsearch.yml โดยเพิ่มบรรทัดสุดท้าย
      cluster.name: my-cluster-name
      network.host: [_site_]
      node.name: ${HOSTNAME}
    5. เริ่มทำงาน
      sudo -i service elasticsearch start
    6. ทดสอบการทำงาน โดยใช้คำสั่ง
      curl -XGET “${HOSTNAME}:9200/?pretty”
    7. ดู Log ได้ที่
      sudo tail -f /var/log/elasticsearch/my-cluster-name.log
  • Regular Expression สำหรับเลือก field ที่ต้องการจาก CSV File

    ตัวอย่างเช่น มีข้อมูลแบบ

    a,b,c,d,e

    ต้องการเฉพาะ Column ที่ 3 นั่นคือต้องการ c

    ให้ Find

    ^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)

    แล้ว Replace ด้วย

    \3

     

  • Regular Expression สำหรับ Email Address Validation

    หา valid email address

    ^(?!\b[a-zA-Z0-9._-]+@ [a-zA-Z0-9_.-]+\.[a-zA-Z0-9]{2,}\b).*$

    หาก invalid email address

    ^(?=\b[a-zA-Z0-9._-]+@ [a-zA-Z0-9_.-]+\.[a-zA-Z0-9]{2,}\b).*$
  • TODO: สำหรับผู้ใช้ Microsoft Windows เพื่อป้องกัน Wana Decrypt0r Ransomware

    สิ่งที่ต้องทำ สำหรับ ผู้ใช้ Microsoft Windows

    และ สำหรับผู้ดูแลระบบของหน่วยงาน

    1. Backup หรือ สำรองข้อมูลสำคัญ ไว้ใน External Harddisk, USB Drive, Cloud Drive
    2. กรณี Windows Vista, Windows XP, Windows 8
      ให้ไปที่ Website นี้ เพื่อ Download ตัว Update ที่ตรงกับ Windows ของตน มาติดตั้ง (MS17-101 หรือ KB4012598)
      http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598
    3. กรณี Windows 7
      http://www.catalog.update.microsoft.com/search.aspx?q=4012212
    4. กรณี Windows 8.1
      http://catalog.update.microsoft.com/v7/site/search.aspx?q=4012213
    5. กรณี Windows 10
      Start > พิมพ์ Windows Update

    สำหรับคนที่ยังใช้ Windows XP ควรพิจารณา Upgrade มาเป็น Windows 10

    โดยติดตั้ง Microsoft Windows รุ่นล่าสุดของมหาวิทยาลัยสงขลานครินทร์

    (ต้องมี PSU Passport)ได้ที่
    https://licensing.psu.ac.th/windows-10-education-version-1703-updated-march-2017-microsoft-imagine/

     

    ขอให้โชคดี

     

  • มีโปรแกรมไวรัส “เรียกค่าไถ่” ระบาดทั่วโลก (Wana Decrypt0r)

    หากท่านใช้ Windows และ ได้รับ Email ที่มีไฟล์แนบ โปรดระมัดระวังอย่างที่สุด

    สรุปความสั้นๆ:

    1. มีโปรแกรมเรียกค่าไถ่ระบาดทั่วโลก: หากติดไวรัส ไฟล์ในเครื่องเช่น Word, Excel หรือ งานวิจัยของท่านจะถูกเข้ารหัส ทำให้เปิดไม่ได้อีกเลย จนกว่าจะยอมจ่ายเงินค่าไถ่ให้กับ Hacker
    2. กระทบต่อผู้ใช้งาน Microsoft Windows โดยเฉพาะอย่างยิ่ง เครื่องที่ใช้ Windows File Sharing (Drive I อะไรทำนองนั้น) ใช้ Windows เถื่อน โดนแน่ๆ เพราะจะไม่ได้รับการ Update จาก Microsoft ถ้าใช้ Windows ลิขสิทธิ์แต่ไม่เคย Update ก็น่าจะโดนได้ง่ายๆ ใช้ Windows XP น่ะเสี่ยงสุดๆ
    3. หากได้รับ Email และมี ไฟล์แนบ ให้ระมัดระวัง: ไม่ว่าจะมาจากคนที่รู้จักหรือไม่ก็ตาม ก่อนเปิดไฟล์ให้ดูดีๆ หากเปิดมาแล้วมันถามโน่นนี่เป็นภาษาที่ไม่เข้าใจ ให้ปรึกษานักคอมพิวเตอร์ใกล้ตัวท่าน
    4. หากโดนแล้ว ทำใจอย่างเดียว: อยากได้ไฟล์คืน จ่ายเงินสกุล BitCoin ซึ่งตอนนี้ แพงกว่าทองคำ และจ่ายไปแล้ว ก็ไม่รับประกันว่าจะได้ไฟล์คืน ดิ้นรนหาโปรแกรมแก้ ??? ระวังเจอไวรัสแฝง !!!
    5. AntiVirus ไม่ช่วยอะไร: เพราะไฟล์แนบไม่ใช่ Virus แต่ ถ้าเปิดโปรแกรมมา มันจะไป Download Virus จริงๆมาอีกที
    6. ป้องกันได้อย่างเดียวโดยการ Update Windows: ดังนั้น Windows เถื่อน, Windows โบราณ (XP เป็นต้น), Windows ขี้เกียจ (ไม่ยอม Update) เสี่ยงจะติดไวรัสนี้มากที่สุด

    [UPDATE] สิ่งที่ต้องทำสำหรับ Windows แต่ละรุ่น https://sysadmin.psu.ac.th/2017/05/15/todo-update-windows/

     

    รายละเอียดเชิงลึก

    https://www.techtalkthai.com/wana-decrypt0r-2-0-technical-note/

    ที่มาและภาพประกอบ:

    https://www.bleepingcomputer.com/news/security/wana-decryptor-wanacrypt0r-technical-nose-dive/

  • 3 ขั้นตอนง่ายๆ ในการ Block Email ที่ไม่ต้องการใน PSU Webmail

    1. เปิด Email ฉบับที่ไม่ต้องการรับ แล้วคลิกที่ From ในบรรทัด Create Filter
    2. เลือกว่าจะ Block แบบไหน
      2.1 Reject คือโยนทิ้งทันที และแจ้งผู้ส่งด้วย
      2.2 Discard คือโยนทิ้งทันที แบบเงียบๆ
      *** ในช่อง Additional Actions คลิก STOP ด้วย ***
      จากนั้นคลิก Add New Rule
    3. รออะไร คลิก Close สิครับ