วิธีป้องกันการโจมตี cloud server AWS
หลังจากทำ server cloud ขึ้นมาใช้งานเป็น production สัก 2–3 ปี ผมก็เริ่มมีความกังวลว่า เอ….วันนี้ server เรานิ่งดี แต่ผมไม่คิดนิ่งนอนใจ ถ้าวันนึงเราถูกโจมตีขึ้นมาล่ะจะทำอย่างไร มีวิธีแก้ไขและป้องกันอย่างไร เลยบันทึกแผนสำรองไว้ คือ เช่า EC2 ไว้ 2 เครื่อง production 1 เครื่อง และ standby ไว้หนึ่งเครื่องไว้ทดสอบระบบต่างๆก่อนนำขึ้น production server ส่วนแผนการป้องกันเมื่อถูกโจมตี ใช้ Network Security config ACL block การโจมตี แล้วบันทึกแชร์เพื่อเป็นประโยชน์ต่อสาธารณะ
“อย่าวางใจที่ยังไม่ถูกโจมตี แต่จงวางตนในตำแหน่งที่มิอาจโดนโจมตี — คำสอนท่านซุนวู”
ก่อนอื่นต้องรู้ ip และ port ที่ต้นทางโจมตีเข้ามายัง server ของเรา ใช้คำสั่ง
$netstat — tcp — numeric-ports
$netstat -a
Proto : แสดงชื่อโปรโตคอลที่ถูกใช้งาน TCP หรือ UDP
Local Address : แสดงหมายเลข IP Address และ port number ของเครื่องผู้ใช้งานที่ใช้ในการติดต่อสื่อสาร
Foreign Address : แสดงหมาย IP Address และ port number ของเครื่องปลายทางที่ใช้ในการติดต่อสื่อสาร
State : แสดงสถานะการติดต่อสื่อสารระหว่างเครื่องผู้ใช้งาน (Client) กับเครื่องให้บริการแม่ข่าย (Server) หรือระบบเครือข่ายเน็ตเวิร์ก (Network) ซึ่งรายละเอียด ดังนี้
CLOSE_WAIT : รอการยกเลิกการเชื่อมต่อของเครื่องต้นทาง
CLOSED : ปิดการเชื่อมต่อทั้งหมด
ESTABLISHED : สถาปนาการเชื่อมต่อสำเร็จ
FIN_WAIT_1 : รอการตอบกลับการร้องขอยกเลิกการเชื่อมต่อไปที่เครื่องปลายทางหรือรับทราบการร้องขอยกเลิกการเชื่อมต่อในก่อนหน้านี้
FIN_WAIT_2 : รอการตอบกลับการร้องขอยกเลิกการเชื่อมต่อไปที่เครื่องปลายทาง
LAST_ACK : รอการรับรู้ตอบกลับการร้องขอยกเลิกการเชื่อมต่อจากเครื่องปลายทาง
LISTEN : รอการเชื่อมต่อ
SYN_RECEIVED : รอการตอบกลับเพื่อยืนยันการร้องขอในการเชื่อมต่อ
SYN_SEND : ร้องขอการเชื่อมต่อไปที่เครื่องปลายทาง
TIMED_WAIT : ระยะเวลาที่ใช้ในการรอขอยกเลิกการเชื่อมต่อไปที่เครื่องปลายทางตอบกลับมา
ตัวอย่างเขียน ACL ใน AWS จากตัวอย่าง block ip address : 184.22.157.108 port 80 สมมุติว่าโดน DDoS เข้ามาทาง port 80
VPC >> Network ACLs >> acl-XXXX
จากนั้นลองใช้เครื่องเราที่ได้ ip ดังกล่าวลองเปิด web app ขึ้นมาก็จะไม่สามารถเข้ามาได้ แล้วลองลบ rule ออกจะเข้าใช้งานได้ปกติ
เป็นแค่ตัวอย่างเราต้องรู้ ip และ port ที่ถูกโจมตีเข้ามาให้ได้ก่อน
ดังท่านซุนวูได้สอนไว้
“หากรู้เขารู้เรา แม้นรบกันตั้งร้อยครั้งก็ไม่มีอันตรายอันใด ถ้าไม่รู้เขาแต่รู้เพียงตัวเรา แพ้ชนะย่อมก้ำกึ่งอยู่ หากไม่รู้ในตัวเขาตัวเราเสียเลย ก็ต้องปราชัยทุกครั้งที่มีการยุทธนั้นแล”
Developer Project : IoT Phuket Lab
https://iotphuketlab.home.blog/
https://medium.com/@aegkaluk
https://www.facebook.com/iotphuket/
https://www.youtube.com/user/MrAegkaluk
https://sites.google.com/view/iot-phuket-lab-documents
https://pantip.com/profile/368674#topics
แวะเยี่ยมชมสินค้าของทางร้าน
https://www.phuket-it.com/iotphuketlab/
https://www.lazada.co.th/shop/phuket-bike-lover
https://shopee.co.th/aegkaluk