Skip to content
VDS · భద్రత

పాస్‌వర్డ్ బ్రూట్ ఫోర్స్‌కు వ్యతిరేకంగా Fail2ban

Fail2ban ను ఎలా ఇన్‌స్టాల్ చేసి కాన్ఫిగర్ చేయాలి: SSH మరియు వెబ్ ఫారమ్ బ్రూట్ ఫోర్స్‌ను బ్లాక్ చేయడం, మీ స్వంత చిరునామాలను వైట్‌లిస్ట్ చేయడం, అది పనిచేస్తుందో తనిఖీ చేయడం మరియు మిమ్మల్ని మీరు అన్‌బ్లాక్ చేసుకోవడం.

23 ఆగస్టు, 2026న నవీకరించబడింది

Fail2ban లాగ్‌లను చదువుతుంది, ఒకే అడ్రస్ నుండి విఫలమైన లాగిన్ ప్రయత్నాలను లెక్కిస్తుంది మరియు ఫైర్‌వాల్ రూల్‌తో దాన్ని తాత్కాలికంగా బ్లాక్ చేస్తుంది. ఇది కీ-ఆధారిత లాగిన్‌ను భర్తీ చేయదు, కానీ చాలా వరకు బ్యాక్‌గ్రౌండ్ బ్రూట్-ఫోర్స్ ట్రాఫిక్‌ను తొలగిస్తుంది మరియు మీ లాగ్‌లపై లోడ్‌ను తగ్గిస్తుంది.

ఇన్‌స్టాలేషన్ మరియు ప్రాథమిక సెటప్

apt install -y fail2ban

మీ స్వంత ఫైల్, /etc/fail2ban/jail.local ఉపయోగించండి — jail.confకు చేసిన మార్పులు అప్‌డేట్‌ల ద్వారా ఓవర్‌రైట్ అవుతాయి:

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 203.0.113.5
banaction = ufw

[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 24h
systemctl enable --now fail2ban
fail2ban-client status
fail2ban-client status sshd

మీ ఇంటి లేదా ఆఫీసు అడ్రస్‌ను ignoreipలో పెట్టండి — మిమ్మల్ని మీరే బ్యాన్ చేసుకోకుండా ఇది మీ భీమా. మీ అడ్రస్ మారితే, /hosting/vds/m/<id> వద్ద ఉన్న ప్యానెల్‌లోని కన్సోల్ మీ భద్రతా వలయంగా ఉంటుంది: ఇది నెట్‌వర్క్ మరియు రూల్‌లతో సంబంధం లేకుండా పనిచేస్తుంది.

banaction మీ ఫైర్‌వాల్‌కు సరిపోలాలి: ufw కోసం ufw, nftables కోసం nftables-multiport.

ఫలితాన్ని ఎక్కడ చూడాలి

fail2ban-client status sshd
tail -f /var/log/fail2ban.log
journalctl -u fail2ban -n 50

స్టేటస్ విఫలమైన ప్రయత్నాల సంఖ్యను మరియు బ్యాన్ చేయబడిన అడ్రస్‌ల జాబితాను చూపిస్తుంది. పబ్లిక్ అడ్రస్‌పై రోజుకు వందల సంఖ్యలో ఉండటం సాధారణం, ఇది లక్ష్యంగా చేసుకున్న దాడికి సంకేతం కాదు.

ఒక అడ్రస్‌ను (మీ స్వంతది సహా) అన్‌బ్యాన్ చేయండి:

fail2ban-client set sshd unbanip 203.0.113.5

SSH దాటి రక్షణ

విఫలమైన ప్రయత్నాలను చూపించే ఏ లాగ్‌తోనైనా Fail2ban పనిచేయగలదు.

[nginx-http-auth]
enabled = true

[nginx-limit-req]
enabled = true
logpath = /var/log/nginx/error.log

[postfix-sasl]
enabled = true

మీ స్వంత అప్లికేషన్ కోసం మీకు ఒక ఫిల్టర్ అవసరం — /etc/fail2ban/filter.d/లోని ఒక ఫైల్, దీనిలో అడ్రస్ <HOST>గా గుర్తించబడిన రెగ్యులర్ ఎక్స్‌ప్రెషన్ ఉంటుంది:

[Definition]
failregex = ^.*login failed.*ip=<HOST>.*$
ignoreregex =

నిజమైన లాగ్‌పై ఎక్స్‌ప్రెషన్‌ను పరీక్షించండి:

fail2ban-regex /var/log/myapp.log /etc/fail2ban/filter.d/myapp.conf

ఈ కమాండ్ ఎన్ని లైన్‌లు మ్యాచ్ అయ్యాయో చూపిస్తుంది. సున్నా మ్యాచ్‌లు అంటే రూల్ తప్పు — మరియు నిశ్శబ్దంగా విఫలమయ్యే రక్షణ ఏ రక్షణ లేకపోవడం కంటే అధ్వాన్నం.

సాధారణ తప్పులు

తప్పుపరిణామంపరిష్కారం
jail.confకు మార్పులుఅప్‌డేట్‌లో పోతాయిjail.localకు రాయండి
మీ అడ్రస్ ignoreipలో లేకపోవడంఒక రోజు మిమ్మల్ని మీరే బ్యాన్ చేసుకుంటారుదాన్ని జోడించండి, లేదా ప్యానెల్ కన్సోల్ ద్వారా కనెక్ట్ అవ్వండి
banaction మీ ఫైర్‌వాల్‌కు సరిపోలకపోవడంబ్యాన్‌లు వర్తించవుదాన్ని ufw లేదా nftablesతో సరిపోల్చండి
ఫిల్టర్ లాగ్ ఫార్మాట్‌కు సరిపోలకపోవడంరక్షణకు బదులు నిశ్శబ్దంfail2ban-regexతో తనిఖీ చేయండి
సర్వీస్ systemd లాగ్‌ను చదవలేకపోవడంఖాళీ స్టేటస్backend = systemd సెట్ చేయండి

నిజంగా పరీక్షించండి: బయటి అడ్రస్ నుండి అవసరమైన సంఖ్యలో సార్లు ఉద్దేశపూర్వకంగా తప్పు పాస్‌వర్డ్ నమోదు చేసి, అది బ్యాన్ చేయబడిన జాబితాలో చేరిందని నిర్ధారించుకోండి. కాన్ఫిగర్ చేయని fail2ban తప్పుడు భద్రతా భావనను కలిగిస్తుంది.

ఫైర్‌వాల్‌లోనే కనెక్షన్ రేట్ లిమిటింగ్‌తో దీన్ని పూర్తి చేయండి — ufw limit 22/tcp.