लॉगिन गति को सीमित करने की दर उच्च गति पासवर्ड अनुमान लगाने के कुछ हमलों को रोकने का एक आसान तरीका है। हालांकि, वितरित हमलों को सीमित करना मुश्किल है और कई हफ्तों या महीनों में कम गति से चलते हैं। मैं व्यक्तिगत रूप से विफल 2ban जैसे स्वचालित प्रतिक्रिया टूल का उपयोग करने से बचना पसंद करता हूं। और यह दो कारणों से है:
- वैध उपयोगकर्ता कभी-कभी अपने पासवर्ड भूल जाते हैं। मैं अपने सर्वर से वैध उपयोगकर्ताओं को प्रतिबंधित नहीं करना चाहता, मुझे अपने खातों को मैन्युअल रूप से सक्षम करने के लिए मजबूर करें (या इससे भी बदतर, यह पता लगाने की कोशिश करें कि 100/1000 में से कौन सा प्रतिबंधित आईपी पते उनका है)।
- एक आईपी पता एक उपयोगकर्ता के लिए एक अच्छा पहचानकर्ता नहीं है। यदि आपके पास एक एकल आईपी के पीछे कई उपयोगकर्ता हैं (उदाहरण के लिए, एक स्कूल जो 500 छात्र मशीनों पर NAT चलाता है) तो कुछ बुरे अनुमान लगाने वाला एक एकल उपयोगकर्ता आपको दर्द की दुनिया में उतार सकता है। एक ही समय में मेरे द्वारा देखे गए पासवर्ड के अधिकांश प्रयास वितरित किए जाते हैं।
इसलिए मैं brute force हमलों के खिलाफ एक सर्वर हासिल करने के लिए fail2ban (और इसी तरह के स्वचालित प्रतिक्रिया टूल) को बहुत अच्छा तरीका नहीं मानता। एक साधारण IPTables नियम लॉग स्पैम पर कटौती करने के लिए सेट किया गया है (जो कि मेरे अधिकांश लिनक्स सर्वर पर है) कुछ इस तरह है:
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
यह किसी भी 60 सेकंड की अवधि में एक आईपी से 4 से अधिक कनेक्शन के प्रयासों को रोकता है। बाकी पासवर्डों को यथोचित रूप से मजबूत बनाकर नियंत्रित किया जा सकता है। उपयोगकर्ताओं को सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करने के लिए मजबूर करने वाले उच्च सुरक्षा सर्वर पर अनुमान लगाने से रोकने का एक और तरीका है।