EQVPS

VPS पर ब्रूट-फ़ोर्स हमले रोकने के लिए fail2ban कैसे सेट करें

अपने सर्वर पर लगातार पासवर्ड-अनुमान लगाने का सिलसिला रोकें: fail2ban आपके लॉग देखता है और बहुत बार लॉगिन में विफल होने वाले IP को अपने-आप बैन कर देता है। इसे इंस्टॉल करें, SSH jail चालू करें, और बैन के नियम ट्यून करें — बस कुछ कमांड में।

बाक़ी सब कुछ बंद कर देने के बाद भी, बॉट कभी पोर्ट 22 पर पासवर्ड अनुमान लगाना बंद नहीं करते — यह लगातार बैकग्राउंड शोर और लोड है। fail2ban आपके लॉग देखता है और जो भी IP बहुत बार लॉगिन में विफल होता है उसे अपने-आप बैन कर देता है, ताकि हमलावर हमेशा के लिए अनुमान लगाते रहने के बजाय कुछ ही कोशिशों के बाद बाहर हो जाएँ। यह एक छोटी-सी इंस्टॉल है और लॉग स्पैम में बड़ी कमी।

1. fail2ban इंस्टॉल करें

sudo apt update && sudo apt install -y fail2ban

2. एक लोकल कॉन्फ़िग बनाएँ

दिए गए jail.conf को कभी सीधे संपादित न करें — इसे jail.local में ओवरराइड करें:

sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

इससे 10 मिनट में 5 बार लॉगिन विफल होने पर किसी IP को एक घंटे के लिए बैन कर दिया जाता है। अपना IP ignoreip में जोड़ दें ताकि कोई ग़लत टाइप किया पासवर्ड आपको कभी लॉकआउट न कर दे।

3. इसे शुरू करें और बूट पर सक्षम करें

sudo systemctl enable --now fail2ban

4. SSH jail जाँचें

sudo fail2ban-client status sshd

आपको दिखेगा कि इस समय कितने IP बैन हैं — अक्सर कुछ ही मिनटों में हैरान कर देने वाली संख्या।

बैन प्रबंधित करना

sudo fail2ban-client set sshd unbanip 1.2.3.4   # lift a ban
sudo fail2ban-client status                     # list all jails
sudo systemctl reload fail2ban                  # apply config changes

ईमानदार सावधानियाँ

आगे के क़दम

fail2ban एक हार्डेंड सर्वर की एक परत है। इसे SSH की-प्रमाणीकरण और UFW फ़ायरवॉल के साथ जोड़ें, और कुछ भी इंटरनेट पर उजागर करने से पहले पूरा नए VPS का सुरक्षा चेकलिस्ट चलाएँ।

सामान्य प्रश्न

fail2ban असल में करता क्या है?

यह लॉग फ़ाइलों (जैसे SSH auth log) पर नज़र रखता है और देखता है कि कोई एक ही IP से बार-बार लॉगिन में विफल हो रहा है या नहीं; जब कोई IP एक तय सीमा पार करता है, तो यह एक अस्थायी फ़ायरवॉल बैन जोड़ देता है। जो बॉट दिन-रात पोर्ट 22 पर हमला करते रहते हैं, वे हमेशा के लिए अनुमान लगाते रहने के बजाय कुछ ही कोशिशों के बाद ब्लॉक हो जाते हैं। यह अपने-आप चलने वाली, लगातार सुरक्षा है।

अगर मैं SSH कीज़ इस्तेमाल करता हूँ तो भी मुझे fail2ban चाहिए?

ये दोनों अलग-अलग समस्याएँ हल करते हैं। SSH की अनुमान लगाना व्यावहारिक रूप से असंभव बना देती है; fail2ban लगातार प्रयासों का शोर और लोड रोकता है, और आपके उजागर किसी भी दूसरी सेवा (मेल, वेब लॉगिन) की भी रक्षा करता है। की-ओनली SSH के साथ जोखिम पहले से ही कम है, लेकिन fail2ban सस्ती अतिरिक्त-परत की सुरक्षा है और लॉग स्पैम कम करता है।

क्या fail2ban ग़लती से मुझे बैन कर सकता है?

हाँ, अगर आप अपना ही पासवर्ड कई बार ग़लत टाइप कर दें — तब आप bantime तक बैन रहेंगे, फिर अपने-आप अनबैन हो जाएँगे। खुद को कभी लॉकआउट न करने के लिए, कॉन्फ़िग में अपना IP 'ignoreip' में जोड़ें, और याद रखें कि प्रदाता का कंसोल (EQVPS में एक है) हमेशा आपको वापस अंदर ले आता है।

मैं कैसे देखूँ कि कौन बैन है, या किसी IP को अनबैन कैसे करूँ?

jail और बैन किए गए IP देखने के लिए 'sudo fail2ban-client status sshd' इस्तेमाल करें। बैन हटाने के लिए: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'। किसी भरोसेमंद IP को स्थायी रूप से जोड़ने के लिए उसे ignoreip में डालें और reload करें।

bantime, findtime और maxretry क्या हैं?

maxretry यह बताता है कि कितनी विफलताओं की अनुमति है, findtime वह समय-विंडो है जिसमें उन्हें गिना जाता है, और bantime यह बताता है कि बैन कितनी देर तक रहता है। उदाहरण के लिए 10 मिनट में 5 विफलताएँ 1 घंटे का बैन ट्रिगर करती हैं। ज़्यादा दृढ़ हमलावरों के लिए bantime बढ़ाएँ (या इसे लंबे मान पर सेट करें)।

टिप्पणियाँ

अभी तक कोई टिप्पणी नहीं। पहले बनें।

एक टिप्पणी छोड़ें

टिप्पणियाँ दिखने से पहले मॉडरेट की जाती हैं।