ตัวอย่างง่ายๆ ที่อาจช่วยป้องกัน SYN-FLOOD ทำให้ server ยังอยู่ได้ไม่ม่องเท่งก่อน เวลาอันควร
เอาคำสั่งนี้ไว้บนๆ สุดหน่อย จะช่วยได้มากครับ
คำสั่งแรกเป็นคำสั่ง Limit syn
ตัวอย่างง่ายๆ ที่อาจช่วยป้องกัน SYN-FLOOD ทำให้ server ยังอยู่ได้ไม่ม่องเท่งก่อน เวลาอันควร
เอาคำสั่งนี้ไว้บนๆ สุดหน่อย จะช่วยได้มากครับ
คำสั่งแรกเป็นคำสั่ง Limit syn
วิธีที่ง่ายกว่านั้นคือ drop syn packet (ที่เป็น packet เริ่ม) ทิ้งไปเลยครับ
iptables -A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
iptables -A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
เพราะถ้า packet เริ่มไม่เป็น syn แสดงว่ามันกำลังเข้าสู่ขั้นตอนการ syn ack ของ tcp อยู่
แล้วจะทำให้ตรวจสอบได้ว่า host ปลายทางมีตัวตนจริงๆ หรือไม่ด้วย (เพราะการ accept connection ต้องมีการ ack กลับมาด้วย)
ผมก็ใส่แล้วครับท่าน แต่ว่ามันยังยิงมาอีกมากมายครับ server ไม่เป็นอันทำงานอื่นเลย ไม่รู้ว่า script มันถูกต้องหรือเปล่า
iptables -N syn-flood
iptables -A syn-flood
จะลองดูครับผม
ขอบคุณครับ iptables ช่วยได้เยอะมาก
เก็บๆ
^^