GORAGOD.com

การตั้งค่า Rate Limit บน Firewall เพื่อป้องกันการโจมตี

การตั้งค่า rate limit ใน firewall จะช่วยป้องกันการโจมตีแบบ DDoS (Distributed Denial of Service) และจำกัดการใช้งานทรัพยากรโดยไม่ต้องการจากผู้ใช้งาน ซึ่งสามารถทำได้โดยการกำหนดจำนวนคำขอที่สามารถยอมรับได้ในช่วงเวลาที่กำหนด

ตัวอย่างการตั้งค่า rate limit ใน firewall สามารถทำได้หลายวิธี ขึ้นอยู่กับชนิดของ firewall ที่คุณใช้งาน เช่น
 

IPTables (สำหรับ Linux-based firewall)

คุณสามารถใช้ IPTables เพื่อกำหนด rate limit ต่อ IP address
# อนุญาตไม่เกิน 25 คำขอภายใน 60 วินาทีจากแต่ละ IP
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 25 -j REJECT
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 25 -j DROP

 

NGINX

NGINX สามารถกำหนด rate limit โดยใช้ limit_req_zone และ limit_req
http {
    # สร้างโซนสำหรับการเก็บสถานะการเชื่อมต่อ
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    
    server {
        location / {
            limit_req zone=one burst=5;
            # การกำหนดการทำงานเมื่อเกิดการจำกัดการเชื่อมต่อ
            limit_req_status 429;
            
            # ตัวเลือกอื่นๆ สำหรับการตอบกลับ
            proxy_pass http://backend;
        }
    }
}

 

Cloudflare

หากคุณใช้บริการ Cloudflare คุณสามารถตั้งค่า rate limiting ผ่าน Dashboard ของ Cloudflare
- Login to Cloudflare Dashboard
- Navigate to the specific site
- Go to Firewall -> Tools -> Rate Limiting
- Create a new rule, specify the URL pattern, request limit, time period, and action (e.g., Block, Challenge)

 

AWS WAF (Web Application Firewall)

คุณสามารถสร้าง rate-based rules ใน AWS WAF เพื่อกำหนดการป้องกันการโจมตี
- Login to AWS Management Console
- Go to WAF & Shield
- Create or select a WebACL
- Add a Rate-based rule
- Set the rate limit (e.g., 2000 requests per 5 minutes)
- Associate the rule with your resources (e.g., CloudFront distribution, API Gateway)


การตั้งค่า rate limit มีความสำคัญในการป้องกันการใช้งานทรัพยากรที่ไม่จำเป็นและปกป้องเว็บไซต์หรือบริการของคุณจากการโจมตีรูปแบบต่างๆ ทั้งนี้ควรปรับแต่งค่า rate limit ให้เหมาะสมกับการใช้งานจริงและปริมาณการรับส่งข้อมูลที่คาดหวังจากผู้ใช้บริการทั่วไปเพื่อไม่ให้ส่งผลกระทบต่อผู้ใช้งานปกติ