Home Knowledge base Skyline Cloud Ubuntu 22.04/24.04 پر firewalld کے ساتھ فائر وال کیسے ترتیب دیں KNOWLEDGE BASE

Ubuntu 22.04/24.04 پر firewalld کے ساتھ فائر وال کیسے ترتیب دیں

Ubuntu پر firewalld کے ساتھ فائر وال ترتیب دینے کی ایک عملی اور درست رہنمائی — اسے انسٹال کرنا، زونز کے ساتھ کام کرنا، سروسز اور پورٹس کھولنا، رِچ رولز لکھنا، اور پروڈکشن VPS پر تبدیلیاں محفوظ طریقے سے لاگو کرنا۔

Ubuntu 22.04/24.04 پر firewalld کے ساتھ فائر وال کیسے ترتیب دیں

Ubuntu پر firewalld کے ساتھ فائر وال ترتیب دینے کی ایک عملی اور درست رہنمائی — اسے انسٹال کرنا، زونز کے ساتھ کام کرنا، سروسز اور پورٹس کھولنا، رِچ رولز لکھنا، اور پروڈکشن VPS پر تبدیلیاں محفوظ طریقے سے لاگو کرنا۔

ضروری پیشگی شرائط

  • ایک Ubuntu 22.04/24.04 سرور جس میں ایک non-root صارف ہو جسے sudo کے اختیارات حاصل ہوں۔
  • SSH رسائی۔ فائر وال ترتیب دیتے وقت اپنا موجودہ SSH سیشن کھلا رکھیں، تاکہ اگر آپ خود کو باہر بند کر بیٹھیں تو آپ بحالی کر سکیں۔

مرحلہ 1 — firewalld انسٹال اور شروع کریں

Ubuntu بطورِ ڈیفالٹ firewalld کے بجائے ufw کے ساتھ آتا ہے۔ اگر ufw فعال ہے تو پہلے اسے غیر فعال کر دیں تاکہ دو مینیجرز ایک ہی بیک اینڈ پر آپس میں نہ ٹکرائیں:

sudo systemctl disable --now ufw

پھر firewalld انسٹال اور فعال کریں:

sudo apt update
sudo apt install firewalld -y
sudo systemctl enable --now firewalld

تصدیق کریں کہ یہ چل رہا ہے:

sudo firewall-cmd --state

آپ کو running نظر آنا چاہیے۔

مرحلہ 2 — زونز کو سمجھیں

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

زون عام استعمال
drop تمام آنے والی ٹریفک کو بغیر کسی جواب کے ڈراپ کر دیتا ہے (سب سے زیادہ پابند)
block آنے والی ٹریفک کو ICMP پیغام کے ساتھ مسترد کرتا ہے
public غیر بھروسہ مند نیٹ ورکس کے لیے ڈیفالٹ؛ صرف منتخب کردہ سروسز کی اجازت
internal بھروسہ مند اندرونی نیٹ ورکس
trusted تمام ٹریفک کی اجازت دیتا ہے (سب سے کم پابند)

ڈیفالٹ اور فعال زونز چیک کریں:

sudo firewall-cmd --get-default-zone
sudo firewall-cmd --get-active-zones

ایک نئے سرور پر ڈیفالٹ عموماً public ہوتا ہے، جو عوام کا سامنا کرنے والے VPS کے لیے درست انتخاب ہے۔ اس میں فی الحال جس کی بھی اجازت ہے، وہ سب دیکھیں:

sudo firewall-cmd --zone=public --list-all

مرحلہ 3 — Runtime بمقابلہ permanent: کلیدی تصور

ہر تبدیلی بطورِ ڈیفالٹ runtime کنفیگریشن پر لاگو ہوتی ہے، جو ری لوڈ یا ری بوٹ پر ضائع ہو جاتی ہے۔ کسی تبدیلی کو برقرار رکھنے کے لیے --permanent شامل کریں۔ permanent تبدیلیاں اُس وقت تک نافذ نہیں ہوتیں جب تک آپ ری لوڈ نہ کریں۔

محفوظ ورک فلو یہ ہے: پہلے runtime میں آزمائیں، پھر برقرار رکھیں۔ کسی کام کرنے والے runtime سیٹ اپ کو برقرار رکھنے کا سب سے صاف طریقہ یہ ہے:

sudo firewall-cmd --runtime-to-permanent

یا ہر رول میں --permanent شامل کریں اور پھر ری لوڈ کریں:

sudo firewall-cmd --reload

--reload permanent رولز کو قائم شدہ کنکشنز کو ختم کیے بغیر دوبارہ پڑھتا ہے — آپ کا SSH سیشن زندہ رہتا ہے۔

مرحلہ 4 — کسی بھی چیز سے پہلے SSH کی اجازت دیں

فائر وال کو سخت کرنے سے پہلے یقینی بنائیں کہ SSH کی اجازت ہے، ورنہ آپ کا اگلا ری کنیکٹ ناکام ہو جائے گا۔ ssh سروس ڈیفالٹ پورٹ 22 کا احاطہ کرتی ہے:

sudo firewall-cmd --permanent --zone=public --add-service=ssh

اگر آپ SSH کو کسی کسٹم پورٹ پر چلاتے ہیں (مثلاً 2222)، تو اس کے بجائے وہ پورٹ کھولیں:

sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp

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

sudo firewall-cmd --reload

مرحلہ 5 — اپنی ایپلیکیشنز کے لیے سروسز کھولیں

firewalld سینکڑوں پہلے سے طے شدہ سروسز کو نام سے جانتا ہے۔ انہیں firewall-cmd --get-services کے ساتھ فہرست کریں۔ ایک عام ویب سرور کے لیے HTTP اور HTTPS کی اجازت دیں:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

اگر آپ اسی مشین پر کاروباری ای میل ہوسٹ کرتے ہیں، تو متعلقہ submission اور IMAP پورٹس کھولیں:

sudo firewall-cmd --permanent --zone=public --add-service=smtp-submission
sudo firewall-cmd --permanent --zone=public --add-service=imaps
sudo firewall-cmd --reload

کسی ایسے بے ترتیب پورٹ کو کھولنے کے لیے جو کسی نامزد سروس کے تحت نہ آتا ہو، پروٹوکول کے ساتھ --add-port استعمال کریں:

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

مرحلہ 6 — رولز ہٹانا

کسی سروس یا پورٹ کو بند کرنے کے لیے add کو remove سے بدلیں اور ری لوڈ کریں:

sudo firewall-cmd --permanent --zone=public --remove-service=http
sudo firewall-cmd --permanent --zone=public --remove-port=8080/tcp
sudo firewall-cmd --reload

مرحلہ 7 — باریک بینی سے کنٹرول کے لیے رِچ رولز

رِچ رولز آپ کو ایسی شرائط بیان کرنے دیتے ہیں جو سادہ سروسز نہیں کر سکتیں — مثلاً، رسائی کو ماخذ IP کے ذریعے محدود کرنا۔ SSH کی اجازت صرف اپنے دفتر کے نیٹ ورک سے دینے اور باقی ہر جگہ اسے مسترد کرنے کے لیے، پہلے وسیع ssh سروس کو ہٹائیں، پھر ایک رِچ رول شامل کریں:

sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --permanent --zone=public \
  --add-rich-rule='rule family="ipv4" source address="203.0.113.10/32" service name="ssh" accept'
sudo firewall-cmd --reload

نئے رول کو پہلے runtime میں آزمائیں (--permanent کے بغیر) اور اسے برقرار رکھنے سے پہلے تصدیق کریں کہ آپ اب بھی اپنے مجاز IP سے کنکٹ کر سکتے ہیں۔ آپ brute-force کوششوں کو سست کرنے کے لیے کسی سروس کو rate-limit بھی کر سکتے ہیں:

sudo firewall-cmd --permanent --zone=public \
  --add-rich-rule='rule service name="ssh" limit value="5/m" accept'

مرحلہ 8 — تصدیق اور آڈٹ

یہ تصدیق کرنے کے لیے کہ سب کچھ مطلوبہ حالت کے مطابق ہے، اپنے زون کی حتمی حالت کی فہرست بنائیں:

sudo firewall-cmd --zone=public --list-all

نحوی غلطیوں کے لیے permanent کنفیگریشن چیک کریں:

sudo firewall-cmd --check-config

لاک آؤٹ سے بحالی

اگر کوئی تبدیلی آپ کی رسائی کاٹ دے، تو runtime تبدیلی ری بوٹ پر ختم ہو جاتی ہے — لہٰذا آپ کے فراہم کنندہ کے کنسول سے ایک hard reboot پچھلی permanent حالت کو بحال کر دیتا ہے۔ اس سے بھی بہتر یہ ہے کہ کسی ایسے کنسول سیشن کے ذریعے کام کریں جو آپ کا فراہم کنندہ آپ کو دیتا ہے، یا خطرناک تبدیلیوں سے پہلے ایک ٹائمڈ rollback ترتیب دیں۔ یہی وہ جگہ ہے جہاں ایک مینیجڈ کلاؤڈ پلیٹ فارم پر چلنا مدد دیتا ہے: آپ کے پاس out-of-band کنسول رسائی اور سنیپ شاٹس رہتے ہیں تاکہ کوئی غلط ترتیب دیا گیا رول کبھی کسی مردہ سرور میں نہ بدلے۔

نتیجہ

اب آپ کے پاس ایک کام کرنے والا firewalld سیٹ اپ موجود ہے: اعتماد کی سطحوں کے لیے زونز، آپ کی ایپس کے لیے نامزد سروسز اور پورٹس، ماخذ پر مبنی پابندیوں کے لیے رِچ رولز، اور ایک محفوظ runtime-to-permanent ورک فلو۔ رول سیٹ کو کم سے کم رکھیں — صرف وہی کھولیں جس کی آپ کو ضرورت ہے — اور جب بھی آپ کوئی نئی سروس شامل کریں تو اس کا دوبارہ آڈٹ کریں۔

کیا آپ یہ سختی ایسے انفراسٹرکچر پر چاہتے ہیں جو مملکت کے اندر رہے، PDPL/NCA کے مطابق ڈیٹا ریزیڈنسی اور مقامی عربی سپورٹ کے ساتھ؟ 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.