دونوں اوزار لاگ پڑھتے ہیں اور پتے روکتے ہیں، اور پہلی نظر میں CrowdSec نئے کوڈ والا Fail2ban لگتا ہے۔ مگر ان کا فرق اس سے کہیں بنیادی ہے، اور وہ کوڈ کی عمر میں نہیں بلکہ اس میں ہے کہ روکنے کا فیصلہ کہاں سے آتا ہے۔
یہ کیسے بنے ہیں
Fail2ban ایک واحد عمل ہے جو لاگ پڑھتا ہے، ریگولر ایکسپریشن کے میل گنتا ہے اور فائروال کی کمانڈ چلاتا ہے۔ ہر فیصلہ آپ کی مشین پر آپ ہی کے شمار کنندوں سے ہوتا ہے۔ کہیں کچھ نہیں بھیجا جاتا، کوئی انحصار نہیں، اور ترتیبات متنی فائلیں ہیں۔
CrowdSec دو حصوں میں بٹا ہے، اور تنصیب سے پہلے سمجھنے کی اصل بات یہی ہے۔ خود ایجنٹ صرف نشاندہی کرتا ہے: لاگ کا تجزیہ کرتا ہے، منظرنامے لاگو کرتا ہے اور فیصلے اپنے ڈیٹابیس میں لکھتا ہے۔ فیصلے نافذ ایک الگ پروگرام کرتا ہے، bouncer۔ اور bouncer نصب کیے بغیر CrowdSec چلتا ہے، اطلاعات دکھاتا ہے، فیصلوں کی فہرست رکھتا ہے — اور کچھ نہیں روکتا۔
اور پہلی ملاقات میں یہی سب سے عام مایوسی ہے: اوزار نصب ہے، حملے نظر آتے ہیں، اور ٹریفک بالکل پہلے جیسا بہہ رہا ہے۔
sudo apt install crowdsec
sudo apt install crowdsec-firewall-bouncer-iptables
sudo cscli bouncers list
یہ آخری کمانڈ کم از کم ایک اندراج دکھانی چاہیے۔ خالی فہرست کا مطلب ہے کہ کوئی روک نہیں۔
دوسرا فرق: مشترکہ ساکھ
Fail2ban صرف یہ جانتا ہے کہ آپ کے ہاں کیا ہوا۔ وہ پتہ جس نے کل سو دوسرے سرور توڑنے میں گزارا، اس کے نزدیک صاف ہے جب تک آپ کا دروازہ نہ کھٹکھٹائے — اور اس کی پہلی پانچ کوششیں مفت ہیں۔
CrowdSec جو کچھ چلا اس کے اشارے ایک مشترکہ نیٹ ورک کو بھیجتا ہے اور جواب میں اُن پتوں کی فہرست پاتا ہے جو دوسروں کے سرورز پر دیکھے گئے۔ عملی اثر: اندازہ لگانے کا نمایاں حصہ پہلی کوشش سے پہلے ہی کٹ جاتا ہے۔ اور یہ خاص طور پر تقسیم شدہ حملوں کے سامنے اہم ہے — ہزاروں پتے، ہر ایک کی ایک کوشش، جہاں مقامی شمار کنندے بالتعریف بے بس ہیں۔
اور یہ پہلے سے جان لینا چاہیے: تبادلہ دونوں طرف ہوتا ہے۔ آپ کے سرور سے خلاف ورزی کرنے والے پتے اور چلنے والے منظرناموں کی اقسام باہر جاتی ہیں۔ مکمل مقامی کام ممکن ہے — کلاؤڈ کنسول میں رجسٹر کیے بغیر — مگر تب مشترکہ فہرست بھی آپ کے لیے دستیاب نہیں رہتی، اور اصل فائدہ ختم ہو جاتا ہے۔ اور یہ ایک شعوری انتخاب ہے، ترتیبات کی تفصیل نہیں۔
روزمرہ کی کمانڈیں
sudo cscli metrics
sudo cscli alerts list
sudo cscli decisions list
sudo cscli decisions delete --ip 203.0.113.25
metrics اس سوال کا جواب دیتا ہے کہ لاگ سرے سے پڑھے بھی جا رہے ہیں: اگر تجزیہ شدہ سطروں کی تعداد صفر ہو تو آپ کے ویب سرور کے لیے مجموعہ نصب نہیں یا لاگ کا راستہ غلط ہے۔ اور یہ «نصب ہے اور کام نہیں کرتا» کی دوسری سب سے عام صورت ہے۔
sudo cscli collections list
sudo cscli collections install crowdsecurity/nginx
وسائل
CrowdSec Go میں لکھا گیا ہے اور اپنی حالت ڈیٹابیس میں رکھتا ہے۔ میموری کا استعمال سو میگابائٹ کے لگ بھگ ہے، اور ساتھ bouncer۔ ایک گیگابائٹ میموری والے سرور پر یہ محسوس ہوتا ہے؛ دو سے اوپر نہیں۔ Fail2ban ہلکا ہے، اور کم کرتا ہے۔
کیا دونوں رکھنے چاہئیں
ان میں ٹکراؤ نہیں: ایک اپنے قواعد فائروال میں لکھتا ہے اور دوسرا اپنے، اور ایک ہی پتے کو دو بار روکنے سے کسی کا نقصان نہیں۔ معقول تقسیم یوں ہے۔
CrowdSec بڑے پیمانے کا ٹریفک سنبھالتا ہے: SSH کا اندازہ، ویب سرور کی اسکیننگ، اور مشترکہ فہرست کے معلوم برے پتے۔ اور Fail2ban وہاں رہتا ہے جہاں آپ کا اپنا لاگ اپنی وضع میں ہو، جس کے لیے منظرنامہ لکھنے سے ریگولر ایکسپریشن لکھنا آسان ہو — اپنی بنائی ہوئی ایپلیکیشن، کوئی نادر سروس، کوئی مخصوص لاگ اِن فارم۔
اور اگر ایک ہی چننا ہو تو معیار یہ ہے: ایسی سائٹ والے سرور پر جسے مسلسل ٹٹولا جاتا ہو، CrowdSec مشترکہ فہرست کی بدولت زیادہ دیتا ہے۔ مگر ایسے سرور پر جہاں صرف آپ کلیدوں کے ساتھ SSH سے پہنچتے ہیں، ان کا فرق کم ہے — وہاں زیادہ تر کام پاس ورڈ بند کر کے پہلے ہی ہو چکا۔
ایک مشترکہ حد
ان میں سے کوئی بھی ایپلیکیشن کی خامی سے حفاظت نہیں کرتا۔ دونوں درخواستوں کی تعدد اور پتوں کی ساکھ پر کام کرتے ہیں، اور صاف پتے سے پہلی ہی کوشش میں کسی پلگ اِن کا سوراخ استعمال کرنے والی درخواست دونوں کے پہلو سے گزر جائے گی۔ یہ دوسرے اوزاروں کا کام ہے — درخواست کی سطح پر WAF اور بروقت تازہ کاریاں۔ پتے روکنا پس منظر ہٹاتا ہے، سبب نہیں۔
اور دونوں کی عملی قدر اس پر منحصر ہے کہ کوئی نتیجہ دیکھے۔ فیصلوں کی بڑھتی تعداد، پہلی بار چلنے والا منظرنامہ، اُن ممالک کی تبدیلی جہاں سے کوششیں آتی ہیں — یہی وہ معلومات ہیں جن کے لیے اوزار نصب کیا گیا تھا۔ یہ ایک صفحے پر کیسا لگتا ہے، نیچے ڈیمو دکھاتا ہے۔