Home Knowledge base Skyline Cloud UFW اور Fail2ban کے ساتھ لینکس سرور کی حفاظت کیسے کریں KNOWLEDGE BASE

UFW اور Fail2ban کے ساتھ لینکس سرور کی حفاظت کیسے کریں

UFW فائر وال اور Fail2ban انٹروژن پریونشن کے ساتھ لینکس سرور کو محفوظ بنانے کی عملی، مرحلہ وار رہنمائی — غیر استعمال شدہ پورٹس بند کریں، SSH کو ریٹ لمٹ کریں، اور بروٹ فورس حملہ آوروں کو خود کار طریقے سے بلاک کریں۔

UFW اور Fail2ban کے ساتھ لینکس سرور کی حفاظت کیسے کریں

UFW فائر وال اور Fail2ban انٹروژن پریونشن کے ساتھ لینکس سرور کو لاک ڈاؤن کرنے کی ایک عملی، مرحلہ وار رہنمائی — غیر استعمال شدہ پورٹس بند کریں، SSH کو ریٹ لمٹ کریں، اور بروٹ فورس حملہ آوروں کو خود کار طریقے سے بلاک کریں۔

آپ کیا بنائیں گے

انٹرنیٹ پر ہر عوامی سامنے والا سرور لائیو ہونے کے چند ہی منٹوں میں جانچ لیا جاتا ہے — خود کار بوٹس کھلے پورٹس کے لیے اسکین کرتے ہیں اور کریڈنشل اندازوں کے ساتھ SSH پر مسلسل حملے کرتے ہیں۔ دو ہلکے پھلکے، آزمودہ ٹولز آپ کے لیے اس کا بیشتر حصہ سنبھال لیتے ہیں:

  • UFW (Uncomplicated Firewall)iptables/nftables کے لیے ایک دوستانہ فرنٹ اینڈ جو کنٹرول کرتا ہے کہ کون سے پورٹس کھلے ہیں۔
  • Fail2ban — بار بار ناکام لاگ ان کے لیے لاگ فائلوں کی نگرانی کرتا ہے اور خلاف ورزی کرنے والے IP ایڈریسز کو عارضی طور پر بلاک کر دیتا ہے۔

یہ ٹیوٹوریل ایک Debian یا Ubuntu سرور پر دونوں کو کنفیگر کرنے کے عمل سے گزارتا ہے (کمانڈز دیگر ڈسٹری بیوشنز پر تقریباً ایک جیسی ہی ہوتی ہیں)۔ یہ اس بات پر لاگو ہوتا ہے کہ آپ کلاؤڈ سرور، VPS، یا ڈیڈیکیٹڈ مشین چلائیں، اور یہ سعودی عرب میں ہمارے VPS اور کلاؤڈ سرورز کے نالج کلسٹر کا حصہ ہے۔

پیشگی شرائط

  • ایک لینکس سرور جس تک آپ SSH کے ذریعے پہنچ سکتے ہوں۔
  • sudo مراعات کے ساتھ ایک صارف (کبھی بھی کسی فال بیک کے بغیر کھلے کنکشن پر root کے طور پر ایسا نہ کریں)۔
  • آپ کا SSH پورٹ (ڈیفالٹ 22 ہے؛ اگر آپ نے اسے تبدیل کیا ہے تو پورے عمل میں اپنی اصل ویلیو استعمال کریں)۔

انتباہ: ایک فائر وال آپ کو باہر تالہ بند کر سکتی ہے۔ UFW کو فعال کرنے سے پہلے، یقینی بنائیں کہ SSH کی اجازت دینے والا قاعدہ موجود ہے۔ اگر آپ کوئی کلاؤڈ فراہم کنندہ استعمال کرتے ہیں، تو اس کا ویب کنسول یا ریکوری رسائی کھلا رکھیں تاکہ غلطی کی صورت میں آپ بحالی کر سکیں۔

مرحلہ 1 — UFW انسٹال اور کنفیگر کریں

UFW زیادہ تر Ubuntu امیجز کے ساتھ آتا ہے۔ ضرورت ہو تو اسے انسٹال کریں:

sudo apt update
sudo apt install ufw

معقول ڈیفالٹس ترتیب دیں — تمام آنے والی ٹریفک کو مسترد کریں، تمام باہر جانے والی کی اجازت دیں:

sudo ufw default deny incoming
sudo ufw default allow outgoing

یہ ایک اچھی فائر وال پوزیشن کا بنیادی حصہ ہے: جب تک آپ واضح طور پر اجازت نہ دیں، کوئی چیز آپ کی سروسز تک نہیں پہنچتی۔

مرحلہ 2 — صرف وہی سروسز اجازت دیں جن کی آپ کو واقعی ضرورت ہے

فائر وال آن کرنے سے پہلے، وہ پورٹس کھولیں جو آپ کا سرور استعمال کرتا ہے۔ ہمیشہ پہلے SSH کی اجازت دیں ورنہ آپ کا کنکشن منقطع ہو جائے گا:

sudo ufw allow OpenSSH

UFW /etc/ufw/applications.d سے نامزد ایپلیکیشن پروفائلز پڑھتا ہے۔ sudo ufw app list کے ساتھ دستیاب فہرست دیکھیں۔ اگر آپ نے اپنا SSH پورٹ تبدیل کیا ہے، تو اس کے بجائے اسے واضح طور پر اجازت دیں:

sudo ufw allow 2222/tcp

اگر آپ کوئی سائٹ یا بزنس ای میل اور ویب سروسز چلاتے ہیں تو ویب ٹریفک کھولیں:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

آپ کسی قاعدے کو کسی قابل اعتماد ماخذ تک محدود کر سکتے ہیں — مثال کے طور پر، ڈیٹابیس تک رسائی صرف اپنے ایپلیکیشن سرور سے اجازت دیں:

sudo ufw allow from 10.0.0.5 to any port 3306 proto tcp

مرحلہ 3 — SSH کو ریٹ لمٹ کریں اور فائر وال فعال کریں

UFW کا limit قاعدہ کسی بھی ایسے IP سے کنکشنز کو روکتا ہے جو 30 سیکنڈ میں 6 بار سے زیادہ کنکٹ کرنے کی کوشش کرے — بروٹ فورس ٹولز کے خلاف ایک سستا، مؤثر رفتار روک:

sudo ufw limit OpenSSH

اب فائر وال فعال کریں:

sudo ufw enable

نمبر والی فہرست کے ساتھ اپنے قواعد کی تصدیق کریں:

sudo ufw status numbered

متوقع آؤٹ پٹ کچھ اس طرح ہوتا ہے:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] OpenSSH                    LIMIT       Anywhere
[ 2] 80/tcp                     ALLOW       Anywhere
[ 3] 443/tcp                    ALLOW       Anywhere

کسی قاعدے کو حذف کرنے کے لیے، اس کے نمبر کا حوالہ دیں: sudo ufw delete 2۔

مرحلہ 4 — Fail2ban انسٹال کریں

UFW پورٹس بند کرتا ہے، لیکن وہ پورٹس جنہیں آپ کو کھلا رکھنا پڑتا ہے (جیسے SSH) اب بھی اندازہ لگانے کے لیے بے نقاب ہوتے ہیں۔ Fail2ban لاگز کی نگرانی کرتا ہے اور بار بار خلاف ورزی کرنے والوں کو بلاک کر دیتا ہے:

sudo apt install fail2ban

جدید سسٹمز پر Fail2ban اپنا جرنل systemd کے ذریعے پڑھتا ہے، اس لیے یہ ڈبے سے باہر ہی کام کرتا ہے۔ تصدیق کریں کہ سروس چل رہی ہے:

sudo systemctl status fail2ban

مرحلہ 5 — jail.local فائل کے ساتھ Fail2ban کنفیگر کریں

کبھی بھی jail.conf کو براہ راست ایڈٹ نہ کریں — اپ گریڈ پر یہ اوور رائٹ ہو جاتی ہے۔ اس کے بجائے ایک مقامی اوور رائیڈ بنائیں:

sudo nano /etc/fail2ban/jail.local

درج ذیل شامل کریں:

[DEFAULT]
# Don't ban your own trusted networks. Add your office/home IP.
ignoreip = 127.0.0.1/8 ::1

# How long a ban lasts (10 minutes).
bantime  = 10m

# Time window for counting failures.
findtime = 10m

# Failures allowed before a ban.
maxretry = 5

# Tell Fail2ban to act through UFW.
banaction = ufw

[sshd]
enabled = true

[sshd] جیل /etc/fail2ban/filter.d/sshd.conf پر موجود بلٹ ان sshd فلٹر استعمال کرتی ہے۔ banaction = ufw ترتیب دینے سے Fail2ban خام iptables کو چھیڑنے کے بجائے آپ کی موجودہ فائر وال کے ذریعے ڈینائی قواعد داخل کرتا ہے۔

لاگو کرنے کے لیے ری اسٹارٹ کریں:

sudo systemctl restart fail2ban

مرحلہ 6 — تصدیق اور نگرانی کریں

مجموعی حیثیت اور خاص طور پر SSH جیل کی جانچ کریں:

sudo fail2ban-client status
sudo fail2ban-client status sshd

جیل کی حیثیت موجودہ ناکام اور بلاک شدہ IPs دکھاتی ہے:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     23
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned:     4
   `- Banned IP list:   203.0.113.42

کسی ایڈریس کو دستی طور پر ان بین کرنے کے لیے:

sudo fail2ban-client set sshd unbanip 203.0.113.42

تجویز کردہ بنیادی خطوط

ترتیب ویلیو کیوں
UFW ڈیفالٹ آنے والی deny بطور ڈیفالٹ بند
SSH قاعدہ limit بروٹ فورس کو سست کرتا ہے
bantime 10m1h بار بار خلاف ورزی کرنے والوں کو سزا دیتا ہے
maxretry 35 سخت لیکن ٹائپنگ کی غلطیوں کے لیے رواداری
ignoreip آپ کے ایڈمن IPs خود کو باہر تالہ بند ہونے سے بچائیں

مزید آگے بڑھنا

پروڈکشن سرورز کے لیے، جس بھی سروس کو آپ بے نقاب کرتے ہیں اس کے لیے جیلز بھی فعال کریں (مثال کے طور پر nginx-http-auth یا آپ کا میل اسٹیک)، پاس ورڈز کے بجائے SSH کیز استعمال کریں، اور ایک طویل تر یا بڑھنے والے bantime پر غور کریں۔ UFW اور Fail2ban ایک مضبوط بنیادی خط ہیں، نہ کہ ایک مکمل سیکیورٹی پروگرام — پیکجز کو پیچ شدہ رکھیں اور کلاؤڈ بیک اپ کے ساتھ باقاعدگی سے بیک اپ لیں۔

اپنے ورک لوڈ کو سلطنت کے اندر ہوسٹ کرنا کارکردگی کے لیے اور PDPL، NCA، اور SDAIA ڈیٹا ریزیڈنسی تقاضوں کے لیے اہمیت رکھتا ہے۔ Skyline Cloud سعودی عرب کے اندر کلاؤڈ سرورز، VPS، اور ڈیڈیکیٹڈ ہارڈویئر چلاتا ہے، مقامی عربی سپورٹ اور شفاف قیمتوں کے ساتھ۔

ایک مضبوط سرور تعینات کرنے کے لیے تیار ہیں؟ اپنا Skyline Cloud اکاؤنٹ بنائیں اور منٹوں میں ایک VPS لانچ کریں۔

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.