Fail2ban सेवा लॉग देखता है और दुरुपयोग करने वाले IP को अस्थायी रूप से ब्लॉक करता है (बार-बार SSH विफलता, HTTP probing आदि)। UFW और SSH hardening के साथ उपयोग करें।
पूर्वापेक्षाएँ
sudoवाला Ubuntu/Debian (या व्युत्पन्न)- सुरक्षित सेवा पहले से चल रही हो (उदा.
sshd,nginx)
इंस्टॉलेशन
Bashsudo apt update && sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban
बुनियादी कॉन्फ़िगरेशन
अपडेट ओवरराइट न हों, /etc/fail2ban/jail.d/ में कस्टम फ़ाइलें रखें।
/etc/fail2ban/jail.d/local.conf बनाएँ:
INI1[DEFAULT] 2bantime = 1h 3findtime = 10m 4maxretry = 5 5ignoreip = 127.0.0.1/8 ::1 6 7[sshd] 8enabled = true 9port = ssh 10logpath = %(sshd_log)s 11backend = %(sshd_backend)s
SSH पोर्ट बदला हो तो ssh की जगह port = 2222 (उदाहरण) लिखें।
Fail2ban रीलोड करें:
Bashsudo systemctl restart fail2ban sudo fail2ban-client status sudo fail2ban-client status sshd
Nginx (आक्रामक HTTP पैटर्न)
उदाहरण:
INI[nginx-http-auth] enabled = true port = http,https logpath = /var/log/nginx/error.log
लॉग पथ अपनी इंस्टॉलेशन के अनुसार समायोजित करें।
सर्वोत्तम अभ्यास
- परीक्षण के दौरान अपना स्थिर IP
ignoreipमें जोड़ें। - डिप्लॉय के बाद
sudo fail2ban-client status sshdजाँचें। - ब्लॉक अस्थायी (
bantime) हैं; अपनी सहनशीलता के अनुसार समायोजित करें।
IP का ब्लॉक मैन्युअल हटाना
Bashsudo fail2ban-client set sshd unbanip 198.51.100.10
समस्या निवारण
- कोई ब्लॉक नहीं:
enabled = true, सहीlogpath, सेवा त्रुटियाँ लॉग कर रही हो। - खुद लॉक हो गए: प्रदाता कंसोल/IPMI या दूसरा IP उपयोग करें, फिर
ignoreipठीक करें या unban करें।