په fail2ban کې هېڅ شی خپله خپل ځان پاکټ نه غورځوي: دا یو عمل رابولي، او هماغه عمل د پروتوکول او پورټ نوم اخلي۔ کله چې jail د ban راپور ورکوي او ډیمون لا هم ننوتنې مني، نو ban معمولاً ریښتینی وي او له هغه څه تنګتر چې log یې ښیي۔ هغه کاروونکی چې د بلې ټرانسپورت له لارې بیا نښلول کېږي، هېڅکله د نصب شوي قاعده سره مخ نه شي۔ د هر څه بدلولو دمخه پرتله کړئ چې عمل څه نصب کړل او ډیمون پر څه غوږ نیسي، ځکه چې شواهد په هغه فایر وال زنځیر کې دي چې عمل لیکلی، نه د jail په لیست کې۔

زنځیر ولولئ، نه د jail لنډیز

fail2ban خپل زنځیر د خدمت زنځیر مخې ته ورټومبي، نو د شمېرونکو لیست په دقیق ډول ښیي چې څه شته۔ هغه زنځیر چې د jail په نوم نومول شوی او یوه قاعده لري چې د پروتوکول ستون یې udp لولي، د تل راتلونکو TCP ننوتنو لپاره بشپړه توضیح ده۔ یوازې د بند شوي سرچینې UDP پاکټونه رد کېږي۔ خدمت یو TCP اورېدونکی لري، او په هغه زنځیر کې هېڅ شی ورته نه رسېږي۔

د ګاونډي jail اغېزې ته هم پام وکړئ۔ یو کوربه کېدای شي په بشپړ ډول تنظیم شوی ښکاره شي یوازې ځکه چې بل jail نیمه نیمه برخه برابروي، او هماغه جوړښت هغه ځای کې هېڅ نه کوي چېرې چې هغه jail نصب نه دی۔

عمل یوازې یو پروتوکول نوموي، او همالته ماتېږي

هر banaction د فایر وال د کمانډ کالب دی، او پروتوکول د هغې په یو ځای نیوونکي کې ناست دی۔ دا تنګوالی په قصد دی، ځکه چې د وېب jail او DNS jail لپاره د یو شان پورټونو بندول هېڅ تړاو نه لري۔ دا تله کېږي کله چې خدمت له یوې زیاتې ټرانسپورت اورېدنه کوي، چې VPN ډیمونونه یې معمولاً کوي۔ فلټر کولی شي د دواړو ټرانسپورتونو ناکامې ننوتنې وګوري، خو عمل یوازې یوه پوښي۔

د SoftEther او OpenVPN ځای پرځای کول معمولاً په یو وخت کې UDP او TCP ته غوږ نیسي، او ځکه چې د log کرښه په دواړو حالتونو کې یو شان ښکاري فلټر دواړو ته ګوري۔ دا ناهمغږي هېڅکله د 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 ترڅنګ په runbook کې وساتئ۔ بل کس به دواړه ته اړ وي، او د jail لنډیز به ورته یو هم ونه وایي۔

اړوندې مقالې