Skip to content
Snippets Groups Projects

Memcrash explaination

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Tanawatra C.
    Edited
    memcrashed.md 2.64 KiB
    ## memcache - คืออะไร โปรแกรมกระจายข้อมูลที่ใช้ร่วมกันของ web server ในกรณีที่ทำ load balance โดยข้อมูลจะถูกเก็บไว้บน memory ซึ่งทำให้มีความเร็วสูงในการเรียกใช้ ส่วนใหญ่จะใช้เก็บข้อมูลประเภท UserProfile, Session - ทำงานยังไง ทำงานโดยทำตัวเป็น server โดยเปิดพอร์ท `11211` ขึ้นมาและให้ client เรียก/ฝาก ข้อมูลผ่าน memcached protocol - โดนโจมตีได้อย่างไร โดยปกติ memcache จะเปิดพอร์ท `11211/udp` และ bind บน interface `0.0.0.0` เป็นค่า default (update: ล่าสุดแก้ไขเป็น 127.0.0.1 แล้ว) ทำให้สามารถเรียกจาก internet ได้ ในกรณีที่ เครื่องเซิร์ฟเวอร์นั้นต่อเน็ตอยู่ด้วย (หลุดสุด ๆ) - IP spooffing - hacker สร้าง network packet โดยปลอม IP ต้นทางเป็น IP ของเหยื่อที่จะทำการ DDoS ทำให้ memcached server ทำการส่งข้อมูลตอบกลับไปยัง IP ปลอมดังกล่าว - Amplified ? - hacker ทำการยิงคำสั่ง `STAT` เข้าไปยัง memcached server ทำให้ memcache ทำการตอบกลับด้วยข้อมูล สถานะของ server ซึ่งมีขนาดใหญ่กว่า คำสั่งมาก ทำให้เกิดการ amplified ของข้อมูลกว่า 51,000 เท่า !!! - วิธีป้องกันการโจมตี - ตั้ง Memcached Server ให้อยู่หลัง Firewall - ตั้งค่า Firewall เปิด port เฉพาะที่ต้องการให้ access ได้จาก Internet เท่านั้น เช่น `80, 443` (ห้ามปิด Firewall เพราะอันตรายที่สุด) - Bind Address เป็น 127.0.0.1 (รับคำสั่งเฉพาะ localhost เท่านั้น) หรือ Private IP (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment