fail2ban లో ఏదీ తనంతట తానే ప్యాకెట్ వదలదు: అది ఒక చర్యను పిలుస్తుంది, ఆ చర్యే ప్రోటోకాల్ మరియు పోర్టును పేరు పెడుతుంది. jail ban ను నివేదిస్తున్నప్పుడు డీమన్ లాగిన్లను అంగీకరిస్తూనే ఉంటే, ఆ ban సాధారణంగా నిజమైనది మరియు లాగ్ సూచించే దానికంటే సన్నగా ఉంటుంది. మరొక రవాణా ద్వారా తిరిగి కనెక్ట్ అయ్యే క్లయింట్ ఇన్స్టాల్ చేసిన నియమాన్ని ఎప్పటికీ ఎదుర్కోదు. ఏదైనా మార్చే ముందు చర్య ఏమి ఇన్స్టాల్ చేసింది మరియు డీమన్ ఏమి వింటుంది అని పోల్చండి, ఎందుకంటే సాక్ష్యం చర్య రాసిన ఫైర్వాల్ చైన్లో ఉంది, jail జాబితాలో కాదు.

చైన్ చదవండి, jail సారాంశం కాదు

fail2ban తన చైన్ను సేవ చైన్ ముందు చొప్పిస్తుంది, కాబట్టి కౌంటర్ జాబితా ఏమి ఉందో ఖచ్చితంగా చూపిస్తుంది. jail పేరుతో ఉన్న చైన్లో ఒకే నియమం ఉండి, దాని ప్రోటోకాల్ కాలమ్ udp అని చదివితే, వస్తూనే ఉన్న TCP లాగిన్లకు అది పూర్తి వివరణ. నిషేధించిన మూలం నుండి వచ్చే UDP ప్యాకెట్లు మాత్రమే తిరస్కరించబడతాయి. సేవకు TCP శ్రోత ఉంది, ఆ చైన్లో ఏదీ దానిని తాకదు.

పొరుగు jail ప్రభావాన్ని కూడా గమనించండి. ఒక హోస్ట్ పూర్తిగా కాన్ఫిగర్ చేయబడినట్లు కనిపించవచ్చు, కారణం మరొక jail లోపించిన సగం అందిస్తుంది, అదే బిల్డ్ ఆ jail ఇన్స్టాల్ లేని చోట ఏమీ చేయదు.

చర్య ఒకే ప్రోటోకాల్కు పేరు పెడుతుంది, అక్కడే అది విరుగుతుంది

ప్రతి banaction ఫైర్వాల్ ఆదేశ టెంప్లేట్, ప్రోటోకాల్ దాని ఒక ప్లేస్హోల్డర్లో ఉంటుంది. ఈ సన్నదనం ఉద్దేశపూర్వకం, ఎందుకంటే వెబ్ jail మరియు DNS jail ఒకే పోర్టులను నిరోధించే పని వాటికి లేదు. సేవ ఒకటి కంటే ఎక్కువ రవాణాలపై విన్నప్పుడు ఇది ఉచ్చుగా మారుతుంది, VPN డీమన్లు దీన్ని క్రమంగా చేస్తాయి. ఫిల్టర్ రెండు రవాణాల విఫల లాగిన్లను చూడగలదు, కానీ చర్య ఒకదాన్ని మాత్రమే కవర్ చేస్తుంది.

SoftEther మరియు OpenVPN డిప్లాయ్మెంట్లు సాధారణంగా ఒకేసారి UDP మరియు TCP పై వింటాయి, లాగ్ లైన్ రెండు సందర్భాలలో ఒకేలా కనిపిస్తుంది కాబట్టి ఫిల్టర్ రెండింటినీ గమనిస్తుంది. ఈ అసమానత jail స్వంత నివేదికలో ఎప్పటికీ కనిపించదు. fail2ban వైఫల్యాలను సరిగ్గా లెక్కించి, ఆ తర్వాత ఆ వైఫల్యాలు వచ్చిన ట్రాఫిక్లో సగానికి వర్తించే నియమాన్ని ఇన్స్టాల్ చేసింది.

ban రెండు రవాణాలను కవర్ చేయనివ్వండి

దాన్ని jail నిర్వచనంలోనే సరిచేయండి; చేతితో రాసిన నియమాలు తదుపరి రీలోడ్లో కలిసిపోతాయి. ప్రతి ప్రోటోకాల్కు ఒకటి చొప్పున రెండు చర్యలను స్పష్టంగా రాయండి:

action = %(banaction)s[name=%(__name__)s-tcp, actionname=%(__name__)s-tcp, protocol="tcp", port="%(port)s", chain="%(chain)s"]
         %(banaction)s[name=%(__name__)s-udp, actionname=%(__name__)s-udp, protocol="udp", port="%(port)s", chain="%(chain)s"]

protocol = all తో దాన్ని చిన్నగా చేయడానికి ప్రయత్నించవద్దు. డిఫాల్ట్ banaction ఒక multiport చర్య, అది -p <protocol> -m multiport --dports <port> గా విస్తరిస్తుంది; L4 ప్రోటోకాల్ లేకపోతే పోర్ట్ సరిపోలికకు పరీక్షించడానికి ఏమీ లేదు, కాబట్టి iptables నియమాన్ని తిరస్కరిస్తుంది, jail ఇంకా విజయవంతమైన ban ను నివేదిస్తుంది. iptables-allports లేదా nftables-allports వంటి అన్ని పోర్టుల చర్య ఒక ఎంట్రీని అంగీకరిస్తుంది, కానీ ఆ మూలంపై ప్రతి పోర్టును నిరోధిస్తుంది, ఇది వేరే నిర్ణయం మరియు దానికి స్వంత సమర్థన అవసరం. protocol ను tcp లేదా udp పై ఉంచి రెండు ఎంట్రీలను అంగీకరించండి.

సెట్టింగ్ను నమ్మడం కాకుండా నియమం ఉనికిలో ఉందని నిరూపించండి, ఎందుకంటే చైన్ దాన్ని పట్టుకునే వరకు సెట్టింగ్ ఒక ఉద్దేశాన్ని మాత్రమే వివరిస్తుంది:

iptables -S f2b-vpn-tcp
iptables -S f2b-vpn-udp

ప్రతి చైన్ ఒక నియమాన్ని జాబితా చేయాలి, మొదటిదానిలో -p tcp మరియు రెండవదానిలో -p udp, రెండూ నిషేధించిన చిరునామాను పేర్కొంటాయి. తర్వాత అదే చిరునామా రెండు రవాణాలపై తిరస్కరించబడుతుందని నిర్ధారించండి. చైన్లో మీరు చూడని ban ఒక ఆశ, అదే లక్షణం గురించిన తదుపరి నివేదిక మళ్లీ అదే గంటను ఖర్చు చేస్తుంది.

ban ఇంకా ఏమి తప్పిస్తుంది, మరియు తదుపరి సందర్భం

చర్య చేసేది ఒకే మూలాన్ని తిరస్కరించడం, అది కూడా అందులో జాబితా చేసిన పోర్టులపై మాత్రమే. చిరునామాలను తిప్పే దాడికి వ్యతిరేకంగా ఇది ఏమీ చేయదు, మరియు వందలాది వినియోగదారులు పంచుకునే క్యారియర్ స్థాయి NAT నిష్క్రమణ నుండి శత్రు యంత్రాన్ని వేరు చేయలేదు, అక్కడ ఒక ban ఏమీ చేయని వ్యక్తులను బయట ఉంచుతుంది. ఫిల్టర్ క్లయింట్ నిజంగా కలిగి ఉన్న చిరునామాను చదువుతుందని నిర్ధారించుకోండి, ఫార్వర్డ్ చేసిన హెడర్ లేదా ప్రాక్సీ చిరునామా కాదు. తప్పు తనంతట తానే ముగిసేలా విండోను తగినంత చిన్నగా ఉంచండి.

వీటిలో ఏదీ ప్రోటోకాల్ సరిచేయడాన్ని దాటవేయడానికి వాదించదు; ఇది ఒకేసారి రెండు ఆలోచనలను పట్టుకోవడానికి వాదిస్తుంది. ban jail సారాంశం సూచించే దానికంటే సన్నగా ఉంటుంది, పూర్తి ban కూడా ముప్పు కంటే సన్నగా ఉంటుంది. ఫైర్వాల్ చైన్ను డీమన్ శ్రోతల జాబితా పక్కన ఉంచి ప్రోటోకాల్ వారీగా పోల్చండి, ఎందుకంటే ban సేవను చేరుకోగలదా లేదా అని ఆ రెండు జాబితాలే నిర్ణయిస్తాయి.

రీలోడ్ ఆదేశాన్ని మరియు చైన్ జాబితాను jail పక్కన ఉన్న రన్బుక్లో ఉంచండి. తదుపరి వ్యక్తికి రెండూ అవసరం, jail సారాంశం అతనికి ఏదీ చెప్పదు.

సంబంధిత వ్యాసాలు