Skip to content
VDS · سیکیورٹی

مشین پر حملے: ہم کیا کرتے ہیں اور آپ کیا کر سکتے ہیں

چینل اور ایپلیکیشن پر حملہ کیسا لگتا ہے، یہ کیسے مختلف ہیں، آپ اپنی طرف کیا کنفیگر کر سکتے ہیں، اور کیسے سمجھیں کہ یہ حملہ ہی نہیں ہے۔

اپ ڈیٹ 23 اگست، 2026

لفظ "attack" دو بالکل مختلف صورتوں میں ایک جیسا سنائی دیتا ہے: جب آپ کا چینل فضول ٹریفک سے بھر جائے اور جب فی سیکنڈ چند سو درخواستیں آپ کی ایپلیکیشن کو گرما دیں۔ ان دونوں کو مختلف طریقے سے نمٹایا جاتا ہے، اور سب سے پہلے یہ طے کرنا ہے کہ آپ کا سامنا کس سے ہے۔

ایک کو دوسرے سے پہچاننا

نشانیچینل بھرا ہواایپلیکیشن اوورلوڈ
"Overview" میں ٹریفک گرافحد کو چھو رہا ہےمعمول کی قدریں
پروسیسرلوڈ نہیںمکمل لوڈ
SSHکنیکٹ نہیں ہوگاکام کرتا ہے، مگر آہستہ
ویب سرور لاگزخالیہزاروں ایک جیسی درخواستیں

/hosting/vds/m/<id> پر "Overview" میں پچھلے 24 گھنٹوں کے پروسیسر، میموری اور ٹریفک گراف دیکھیں۔ اگر ٹریفک معمول پر ہے مگر پروسیسر حد پر جمّا ہوا ہے، تو یہ ایپلیکیشن کا لوڈ ہے، اور آپ کو اسے اپنی طرف سے نمٹانا ہوگا۔

آپ کیا کر سکتے ہیں

nginx میں درخواستوں کی ریٹ لمٹنگ:

limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn:10m;

server {
    limit_req zone=perip burst=20 nodelay;
    limit_conn conn 20;
    client_body_timeout 10s;
    client_header_timeout 10s;
}

فائر وال میں کنکشنز کی لمٹنگ:

ufw limit 22/tcp

مزید لچکدار قواعد nftables کے مضمون میں ہیں: وہاں آپ نئے کنکشنز کی ریٹ لمٹ بھی کر سکتے ہیں اور بلاک شدہ ایڈریسز کی فہرست وقتِ زندگی کے ساتھ رکھ سکتے ہیں۔

لاگز میں ماخذ تلاش کریں:

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
ss -tn state established | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head

کسی ایڈریس یا نیٹ ورک کو ایک بار بلاک کرنا:

ufw deny from 203.0.113.0/24

fail2ban لاگز کی بنیاد پر بلاکنگ خودکار بنا سکتا ہے۔

ہم کیا کرتے ہیں

ہمارا انفراسٹرکچر فضول ٹریفک کو نوڈ تک پہنچنے سے پہلے فلٹر کرتا ہے — اس سے پہلے کہ وہ آپ کی بینڈوڈتھ استعمال کرے۔ یہ چینل پر ہونے والے حجمی حملوں کے خلاف کام کرتا ہے اور اس کے لیے آپ کی طرف سے کوئی کنفیگریشن درکار نہیں۔

نوڈ لیول کا تحفظ کیا نہیں کرتا: یہ آپ کی ایپلیکیشن کی منطق کا تجزیہ نہیں کرتا۔ ظاہری طور پر معمول کی نظر آنے والی درخواستیں آپ کی مشین تک پہنچ جاتی ہیں، اور ان سے صرف آپ کی اپنی کنفیگریشن بچاتی ہے۔

اگر آپ کی مشین خود کسی حملے کا ماخذ بن جائے — مثلاً اس پر قبضہ کر لیا گیا ہو اور وہ کسی اور کے اسپام مہم میں شریک ہو — تو قابلِ قبول استعمال کی پالیسی کے تحت رسائی محدود کر دی جائے گی۔ اپنی مشین کو نفوذ کی نشانیوں کے مطابق جانچیں۔

کیشنگ اور اسٹیٹک فائلیں

درخواستوں کے سیلاب کے خلاف سب سے مؤثر طریقہ یہ ہے کہ ایک ہی چیز دو بار محسوب نہ کی جائے:

location /static/ {
    expires 30d;
    add_header Cache-Control "public";
}

بھاری صفحات کو ایپلیکیشن کی طرف کیش کریں۔ کیش سے دی گئی درخواست سینکڑوں گنا کم مہنگی پڑتی ہے۔

عام غلطیاں

  • burst کے بغیر limit_req سیٹ کرنا — عام صارفین جن کا صفحہ دو درجن فائلیں کھینچتا ہے، کٹ جاتے ہیں۔
  • تقسیم شدہ حملے کے دوران ایڈریسز کو ہاتھ سے ایک ایک کر کے بلاک کرنا: وہ ہزاروں میں ہوتے ہیں، اور آپ سبقت نہیں کر پائیں گے۔
  • ICMP کو مکمل طور پر بلاک کرنا — یہ پیکٹ سائز کی گفت و شنید توڑ دیتا ہے، MTU دیکھیں۔
  • اپنی ہی بگ کو حملہ سمجھ لینا: کوڈ میں لوپ، کوئی سرچ بوٹ کسی ایسی ڈائریکٹری کو کرال کر رہا ہو جسے آپ خارج کرنا بھول گئے، کلائنٹ کی لامتناہی دوبارہ کوششیں۔

اپنی لمٹس پہلے سے، پرسکون مشین پر سیٹ کریں۔ درخواستوں کے سیلاب کے دوران آپ rate اور burst کی قدریں ٹھیک نہیں کر سکیں گے: آپ اندھیرے میں اور ٹکڑوں میں کنفیگ ایڈٹ کر رہے ہوں گے۔