วิธีป้องกันการโจมตี cloud server AWS

Mr.aegkaluk sopapun
2 min readJul 11, 2021

--

หลังจากทำ 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

--

--

Mr.aegkaluk sopapun
Mr.aegkaluk sopapun

Written by Mr.aegkaluk sopapun

IoT Developer @ IoT Worldtech Co.,Ltd

No responses yet