ขอบคุณผู้ที่เข้ามาเยี่ยมชม blogs นี้เป็นอย่างสูง ทางเราจะ update ข้อมูลอย่างต่อเนื่อง โปรดเข้ามาชมได้ตลอด ขอบคุณครับ

วันศุกร์ที่ 6 พฤษภาคม พ.ศ. 2554

การตรวจสอบว่าเราถูกยิงหรือไม่ผ่านคำสั่ง netstat

หลายๆ คนคงรู้วิธีใช้งาน netstat กันบ้างแล้ว คราวนี้จะมาดูวิธีการใช้งาน netstat อย่างประยุคๆ หน่อย

-- การใช้ netstat ตรวจสอบการถูกยิงด้วย syn
คำสั่ง netstat -ntu | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr อันนี้จะบอกว่า ณ ขณะเวลานั้นๆ มีคนส่ง syn เข้ามาเพื่อขอเชื่อมกับ server ของเรา โดยปกติไม่ควรเกิน 10 ครั้งต่อ 1 IP หากเกินกว่านั้นท่าน Block ได้เลย

-- การใช้ netstat นับจำนวน connetion ของแต่ละ IP
คำสั่ง netstat -ntu | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr อันนี้จะบอกว่า ณ ขณะเวลานั้นๆ แต่ละ IP มีการเชื่อมต่อกับเรากี่ connetion โดยปกติไม่ควรเกิน 10-20 ครั้งต่อ 1 IP หากเกินกว่านั้นท่าน Block ได้เลย

การใช้ netstat ตรวจสอบได้กับ tcp จะง่าย แต่ถ้าเป็น udp icmp ผมจะใช้โปรแกรม iptraf ช่วยอีกแรง ดูง่ายหน่อย
ติดตั้ง yum -y install iptraf
วิธีใช้พิมพ์คำสั่ง iptraf จากนั้นดูว่ามี packet udp icmp วิงผิดปกติหรือเปล่า ถ้ามีก็ดู ip นั้นๆ แล้วนำมา block

การ Block ก็ง่ายๆ ไม่ยากด้วย iptables
ตัวอย่าง

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP ความหมาย -A = เพิ่ม (add), -s = IP ต้นทาง, -j DROP = Block IP นั้นซ่ะ

Block เป็น class

iptables -A INPUT -s xxx.xxx.xxx.xxx/xx -j DROP
Block เป็น Protocal

iptables -A INPUT -p udp --dport 80 -j DROP ความหมาย -p = เลือก Protocal ที่ต้องการ (udp,tcp) , --dpoprt = Port ปลายทาง, --spoprt = Port ต้นทางทาง

เคดิต THD