/ / प्रति आईपी HTTP / 2 कनेक्शन कैसे सीमित करें? - नग्नेक्स

आईपी ​​प्रति HTTP / 2 कनेक्शन कैसे सीमित करें? - nginx

वहाँ से प्रलेखन of ngx_http_limit_conn_module,

HTTP / 2 और SPDY में, प्रत्येक समवर्ती अनुरोध को एक अलग कनेक्शन माना जाता है।

क्या HTTP / 2 कनेक्शन की कोई सीमा है, अनुरोध नहीं?

इसके अलावा, इसका मतलब यह नहीं है कि एक हमलावर किसी भी समवर्ती कनेक्शन को स्थापित कर सकता है?

उत्तर:

जवाब के लिए 0 № 1

मैं नहीं जानता कि यह NGINX के साथ ठीक कैसे करना है (यहां तक ​​कि limit_conn के साथ), लेकिन आप शायद कॉन्फ़िगर फायरवायर या समान का उपयोग करें, है ना?

फ़ायरफ़ॉक्स डिफ़ॉल्ट रूप से प्रति कनेक्शन 32 अनुरोध करता है (स्वयं के लिए देखें: about: config -> network.http.pipelining), इसलिए मैं CT_LIMITS = "100", CT_INTERVAL = "20", CT_PORTS = "80,443" सेट करूंगा। क्यूं कर?

यदि वेबसाइट सामान्य रूप से 200 अनुरोध करती है, तो सरल है(अनुभव द्वारा अनुमान), आपके पास प्रति यात्रा ~ 8 कनेक्शन (सुरक्षा के लिए 200/32 + 2) है। तो, एक एकल आगंतुक 10 से अधिक बार वेबसाइट तक पहुंच सकता है और इसे अवरुद्ध नहीं किया जाएगा, जो एक बहुत ही उचित सीमा है। इससे अधिक, इसे DoS माना जाता है।

वैसे, आप http_limit_req_module का उपयोग 45 / s की सीमा और 80 s फटने के साथ कर सकते हैं, यह "503 त्रुटियों का कारण बनता है और कुछ छोटी L7 बाढ़ को रोक देगा, मैं आपको विश्वास दिलाता हूं।

डॉन "एक वास्तविक DDoS सुरक्षा का उपयोग करना न भूलें, क्योंकि सॉफ्टवेअर फ़ायरवॉल और वेब सर्वर" बड़े DDoS हमलों को नहीं संभाल सकते हैं।