RHEL, CentOS এবং ফেডোরায় ফায়ারওয়াল্ড কীভাবে কনফিগার করবেন


নেট ফিল্টার যেমনটি আমরা সবাই জানি এটি লিনাক্সের ফায়ারওয়াল। << ফায়ারওয়াল্ড নেটওয়ার্ক অঞ্চলগুলির সমর্থনে ফায়ারওয়াল পরিচালনা করার জন্য একটি গতিশীল ডিমন। পূর্ববর্তী সংস্করণে, RHEL & CentOS 6 আমরা প্যাকেট ফিল্টারিং ফ্রেমওয়ার্কের জন্য ডেমন হিসাবে iptables ব্যবহার করছি। আরএইচএল / CentOS 7/8 , ফেডোরা এবং ওপেনসুএস - রং> আইপ্যাবস ইন্টারফেস ফায়ারওয়াল্ড দ্বারা প্রতিস্থাপিত হচ্ছে।

ভবিষ্যতে এটি বন্ধ হতে পারে, কারণ ইপটিবলগুলির পরিবর্তে ফায়ারওয়াল্ড ব্যবহার শুরু করার পরামর্শ দেওয়া হচ্ছে। যাইহোক, iptables এখনও সমর্থিত এবং yum কমান্ডের সাথে ইনস্টল করা যেতে পারে। আমরা ফায়ারওয়াল্ড এবং iptables উভয়কে একই সিস্টেমে রাখতে পারি না যা দ্বন্দ্বের কারণ হতে পারে।

আইপটিবেলে আমরা ইনপুট, আউটপুট এবং ফরোয়ার্ড চেইনস হিসাবে কনফিগার করতাম তবে ফায়ারওয়াল্ডে ধারণাটি অঞ্চল ব্যবহার করে। ডিফল্টরূপে, ফায়ারওয়াল্ডে বিভিন্ন অঞ্চল উপলব্ধ রয়েছে, যা এই নিবন্ধে আলোচনা করা হবে।

বেসিক জোন যা পাবলিক জোন এবং প্রাইভেট জোনের মতো। এই অঞ্চলগুলির সাথে জিনিসগুলি কাজ করতে, আমাদের নির্দিষ্ট জোন সমর্থন সহ ইন্টারফেস যুক্ত করতে হবে এবং তারপরে আমরা পরিষেবাগুলিকে ফায়ারওয়াল্ডে যুক্ত করতে পারি।

ডিফল্টরূপে, অনেকগুলি পরিষেবা উপলব্ধ রয়েছে, ফায়ারওয়াল্ডের অন্যতম সেরা বৈশিষ্ট্য এটি পূর্বনির্ধারিত পরিষেবাদির সাথে আসে এবং কেবলমাত্র অনুলিপি করে আমাদের পরিষেবাগুলি যুক্ত করার জন্য আমরা এই পরিষেবাগুলিকে উদাহরণ হিসাবে নিতে পারি।

ফায়ারওয়াল্ড আইপিভি 4, আইপিভি 6, এবং ইথারনেট ব্রিজগুলির সাথে দুর্দান্ত কাজ করে। ফায়ারওয়াল্ডে আমাদের একটি পৃথক রান-টাইম এবং স্থায়ী কনফিগারেশন থাকতে পারে।

আসুন জোনগুলির সাথে কীভাবে কাজ করবেন এবং আমাদের নিজস্ব পরিষেবা এবং ফায়ারওয়াল্ডের আরও অনেক আকর্ষণীয় ব্যবহার তৈরি করবেন তা শুরু করা যাক।

Operating System :	CentOS Linux release 7.0.1406 (Core)
IP Address       :	192.168.0.55
Host-name	:	server1.tecmintlocal.com

পদক্ষেপ 1: CentOS এ ফায়ারওয়াল্ড ইনস্টল করা

ফায়ারওয়াল্ড প্যাকেজটি ডিএইচএইচএল/সেন্টোস 7/8, ফেডোরা এবং ওপেনসুসে ডিফল্টরূপে ইনস্টল করা আছে। যদি তা না হয় তবে আপনি নিম্নলিখিত yum কমান্ডটি ব্যবহার করে এটি ইনস্টল করতে পারেন।

# yum install firewalld -y

২. ফায়ারওয়াল্ড প্যাকেজটি ইনস্টল হওয়ার পরে, iptables পরিষেবাটি চলছে কিনা তা যাচাই করার সময় এসেছে, যদি চলমান থাকে তবে আপনাকে নীচের কমান্ডগুলি সহ iptables পরিষেবাটি থামাতে এবং মুখোশ করা দরকার (আর ব্যবহার করবেন না)।

# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables

পদক্ষেপ 2: ফায়ারওয়াল্ড উপাদানগুলি নিয়ে আলোচনা করা

৩. ফায়ারওয়াল্ড কনফিগারেশনের দিকে যাওয়ার আগে, আমি প্রতিটি অঞ্চল নিয়ে আলোচনা করতে চাই। ডিফল্টরূপে, কিছু জোন উপলব্ধ। আমাদের জোনে ইন্টারফেসটি নির্ধারণ করতে হবে। একটি জোন সংজ্ঞা দেয় যে জোনটি একটি সংযোগ পেতে ইন্টারফেসের উপর নির্ভরযোগ্য বা অস্বীকৃত স্তর ছিল। একটি জোনে পরিষেবা এবং বন্দর থাকতে পারে।

এখানে, আমরা ফায়ারওয়াল্ডে উপলব্ধ প্রতিটি অঞ্চল বর্ণনা করতে যাচ্ছি।

  • ড্রপ অঞ্চল : যদি আমরা এই ড্রপ অঞ্চলটি ব্যবহার করি তবে যে কোনও আগত প্যাকেটগুলি বাদ দেওয়া হবে। এটি << iptables -j ড্রপ যোগ করার জন্য আমরা একইভাবে ব্যবহার করি। যদি আমরা ড্রপ বিধিটি ব্যবহার করি, তার মানে কোনও উত্তর নেই, কেবলমাত্র বহির্গামী নেটওয়ার্ক সংযোগগুলি উপলব্ধ থাকবে
  • ব্লক অঞ্চল : ব্লক জোন একটি আইএমপি-হোস্ট-নিষিদ্ধের সাথে আগত নেটওয়ার্ক সংযোগগুলি প্রত্যাখ্যান করবে। কেবলমাত্র সার্ভারের মধ্যে প্রতিষ্ঠিত সংযোগগুলিকেই অনুমতি দেওয়া হবে।
  • পাবলিক জোন : নির্বাচিত সংযোগগুলি গ্রহণ করার জন্য আমরা পাবলিক জোনে নিয়মগুলি সংজ্ঞায়িত করতে পারি। এটি কেবলমাত্র আমাদের সার্ভারে নির্দিষ্ট পোর্টটি খোলার অনুমতি দেবে অন্য সংযোগগুলি বাদ দেওয়া হবে
  • বাহ্যিক অঞ্চল : এই অঞ্চলটি মাস্টারডিং সহ রাউটার বিকল্প হিসাবে কাজ করবে অন্য সংযোগগুলি বাদ দেওয়া হবে এবং গ্রহণযোগ্য হবে না, কেবল নির্দিষ্ট সংযোগের অনুমতি দেওয়া হবে
  • ডিএমজেড অঞ্চল : যদি আমাদের জনসাধারণের কাছে কিছু পরিষেবা অ্যাক্সেসের অনুমতি দেওয়ার দরকার হয় তবে আপনি এটি ডিএমজেড জোনে সংজ্ঞায়িত করতে পারেন। এটিতে কেবলমাত্র নির্বাচিত আগত সংযোগগুলির বৈশিষ্ট্য রয়েছে।
  • কাজের অঞ্চল: এই জোনে, আমরা কেবলমাত্র অভ্যন্তরীণ নেটওয়ার্কগুলি সংজ্ঞায়িত করতে পারি অর্থাত্ ব্যক্তিগত নেটওয়ার্ক ট্র্যাফিকের অনুমতি রয়েছে
  • হোম জোন : এই অঞ্চলটি বিশেষ করে হোম অঞ্চলে ব্যবহৃত হয়, প্রতিটি জোন হিসাবে আপনার কম্পিউটারের ক্ষতি না করার জন্য আমরা নেটওয়ার্কগুলিতে অন্যান্য কম্পিউটারগুলিকে বিশ্বাস করতে আমরা এই অঞ্চলটি ব্যবহার করতে পারি। এটি কেবলমাত্র নির্বাচিত আগত সংযোগগুলিকেই মঞ্জুরি দেয়
  • অভ্যন্তরীণ অঞ্চল : এইটি নির্বাচিত অনুমোদিত সংযোগের সাথে কাজের জোনের অনুরূপ
  • বিশ্বস্ত অঞ্চল : আমরা যদি বিশ্বস্ত অঞ্চল নির্ধারণ করি তবে সমস্ত ট্র্যাফিক গ্রহণ করা হবে

এখন আপনি অঞ্চলগুলি সম্পর্কে আরও ভাল ধারণা পেয়েছেন, এখন নিম্নলিখিত কমান্ডগুলি ব্যবহার করে উপলভ্য অঞ্চলগুলি, ডিফল্ট অঞ্চলগুলি অনুসন্ধান করুন এবং সমস্ত অঞ্চল তালিকাভুক্ত করুন।

# firewall-cmd --get-zones
# firewall-cmd --get-default-zone
# firewall-cmd --list-all-zones

দ্রষ্টব্য: উপরের কমান্ডের আউটপুট কোনও একক পৃষ্ঠায় মানায় না কারণ এটি প্রতিটি অঞ্চল যেমন ব্লক, ডিএমজেড, ড্রপ, বহিরাগত, হোম, অভ্যন্তরীণ, পাবলিক, বিশ্বস্ত, এবং কাজের তালিকা তৈরি করবে list জোনে যদি কোনও সমৃদ্ধ-বিধি থাকে, সক্ষম পরিষেবাগুলি বা বন্দরগুলিও সেই সংশ্লিষ্ট অঞ্চলের তথ্যের সাথে তালিকাভুক্ত করা হবে।

পদক্ষেপ 3: ডিফল্ট ফায়ারওয়াল্ড অঞ্চল নির্ধারণ করা

৪. যদি আপনি ডিফল্ট অঞ্চলটি অভ্যন্তরীণ, বাহ্যিক, ড্রপ, কাজ বা অন্য কোনও অঞ্চল হিসাবে সেট করতে চান, আপনি ডিফল্ট অঞ্চল সেট করতে নীচের আদেশটি ব্যবহার করতে পারেন। এখানে আমরা "অভ্যন্তরীণ" অঞ্চলটি ডিফল্ট হিসাবে ব্যবহার করি।

# firewall-cmd --set-default-zone=internal

৫. অঞ্চল নির্ধারণের পরে, নীচের কমান্ডটি ব্যবহার করে ডিফল্ট অঞ্চল যাচাই করুন।

# firewall-cmd --get-default-zone

Here. এখানে, আমাদের ইন্টারফেসটি enp0s3 , যদি আমাদের জোনটি পরীক্ষা করতে হয় যা ইন্টারফেসটি সীমানা রয়েছে আমরা নীচের কমান্ডটি ব্যবহার করতে পারি।

# firewall-cmd --get-zone-of-interface=enp0s3

Fire. ফায়ারওয়াল্ডের আর একটি আকর্ষণীয় বৈশিষ্ট্য হ'ল 'আইসএমপিটাইপ' ফায়ারওয়াল্ড সমর্থিত আইসএমপি ধরণের একটি। সমর্থিত আইসিএমপি ধরণের তালিকা পেতে আমরা নীচের কমান্ডটি ব্যবহার করতে পারি।

# firewall-cmd --get-icmptypes

পদক্ষেপ 4: ফায়ারওয়াল্ডে নিজস্ব পরিষেবা তৈরি করা

৮. পরিষেবাগুলি বন্দর এবং বিকল্পগুলির সাথে নিয়মের একটি সেট যা ফায়ারওয়াল্ড ব্যবহার করে। পরিষেবাগুলি সক্ষম করা রয়েছে, ফায়ারওয়াল্ড পরিষেবা আপ এবং চলমান থাকলে স্বয়ংক্রিয়ভাবে লোড হবে।

ডিফল্টরূপে, অনেকগুলি পরিষেবা উপলব্ধ থাকে, সমস্ত উপলব্ধ পরিষেবার তালিকা পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

# firewall-cmd --get-services

9. সমস্ত ডিফল্ট উপলব্ধ পরিষেবাদির তালিকা পেতে নিম্নলিখিত ডিরেক্টরিতে যান, এখানে আপনি পরিষেবার তালিকা পাবেন।

# cd /usr/lib/firewalld/services/

১০. আপনার নিজের পরিষেবাটি তৈরি করতে, আপনাকে নীচের স্থানে এটি সংজ্ঞায়িত করতে হবে। উদাহরণস্বরূপ, এখানে আমি আরটিএমপি পোর্ট 1935 এর জন্য একটি পরিষেবা যুক্ত করতে চাই, প্রথমে পরিষেবাগুলির যে কোনও একটির একটি অনুলিপি তৈরি করুন।

# cd /etc/firewalld/services/
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

এবং তারপরে, যেখানে আমাদের পরিষেবা ফাইলটি অনুলিপি করা হয়েছিল সেখানে নেভিগেট করুন, তারপরে নীচের ছবিতে দেখানো হিসাবে 'ssh.xML' ফাইলটির নাম পরিবর্তন করে 'rtmp.xML' করুন।

# cd /etc/firewalld/services/

১১. এরপরে শিরোনাম, বিবরণ, প্রোটোকল এবং পোর্ট নম্বর হিসাবে ফাইলটি খুলুন এবং সম্পাদনা করুন, যা আমাদের নীচের চিত্রের মতো আরটিএমপি পরিষেবার জন্য ব্যবহার করা দরকার।

12. এই পরিবর্তনগুলি সক্রিয় করতে ফায়ারওয়াল্ড পরিষেবাটি পুনরায় চালু করুন বা সেটিংস পুনরায় লোড করুন।

# firewall-cmd --reload

১৩. পরিষেবা যুক্ত হয়েছে কি না তা নিশ্চিত করার জন্য, পরিষেবাগুলির উপলভ্য তালিকা পেতে নীচের কমান্ডটি চালান।

# firewall-cmd --get-services

পদক্ষেপ 5: ফায়ারওয়াল্ড অঞ্চলগুলিতে পরিষেবা বরাদ্দ করা

14. আমরা এখানে ফায়ারওয়াল-সিএমডি কমান্ড ব্যবহার করে ফায়ারওয়াল পরিচালনা করার পদ্ধতি দেখতে যাচ্ছি। ফায়ারওয়াল এবং সমস্ত সক্রিয় জোনের বর্তমান অবস্থা জানতে নিম্নলিখিত কমান্ডটি টাইপ করুন।

# firewall-cmd --state
# firewall-cmd --get-active-zones

15. enp0s3 ইন্টারফেসের জন্য সর্বজনীন অঞ্চল পেতে, এটি ডিফল্ট ইন্টারফেস, যা /etc/firewalld/firewalld.conf ফাইল << DefaultZone = হিসাবে সংজ্ঞায়িত করা হয়েছে সর্বজনীন ।

এই ডিফল্ট ইন্টারফেস জোনে সমস্ত উপলব্ধ পরিষেবাদি তালিকা করতে।

# firewall-cmd --get-service

পদক্ষেপ।: ফায়ারওয়াল্ড জোনে পরিষেবা যুক্ত করা

১.. উপরের উদাহরণগুলিতে, আমরা দেখেছি কীভাবে আরটিএমপি পরিষেবা তৈরি করে আমাদের নিজস্ব পরিষেবা তৈরি করতে হয়, এখানে আমরা জোনটিতে আরটিএমপি পরিষেবাটি যুক্ত করার পদ্ধতিটি দেখতে পাব।

# firewall-cmd --add-service=rtmp

17. যুক্ত অঞ্চলটি অপসারণ করতে, টাইপ করুন।

# firewall-cmd --zone=public --remove-service=rtmp

উপরের পদক্ষেপটি কেবল একটি অস্থায়ী সময়কাল ছিল। এটিকে স্থায়ী করতে আমাদের – স্থায়ী বিকল্পের সাহায্যে নীচের কমান্ডটি চালানো দরকার।

# firewall-cmd --add-service=rtmp --permanent
# firewall-cmd --reload

18. নেটওয়ার্ক উত্স সীমার জন্য নিয়মগুলি সংজ্ঞায়িত করুন এবং বন্দরগুলির যে কোনও একটি খুলুন। উদাহরণস্বরূপ, আপনি যদি কোনও নেটওয়ার্ক পরিসর খুলতে চান তবে ‘192.168.0.0/24’ এবং পোর্ট ‘1935’ নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

# firewall-cmd --permanent --add-source=192.168.0.0/24
# firewall-cmd --permanent --add-port=1935/tcp

কোনও পরিষেবা বা পোর্ট যুক্ত বা অপসারণের পরে ফায়ারওয়াল্ড পরিষেবাটি পুনরায় লোড করার বিষয়টি নিশ্চিত করুন।

# firewall-cmd --reload 
# firewall-cmd --list-all

পদক্ষেপ 7: নেটওয়ার্ক ব্যাপ্তির জন্য সমৃদ্ধ বিধি যুক্ত করা

19. আমি যদি HTTP, https, vnc-server, PostgreSQL এর মতো পরিষেবার অনুমতি দিতে চাই তবে আপনি নীচের বিধিগুলি ব্যবহার করুন। প্রথমে বিধি যুক্ত করুন এবং এটিকে স্থায়ী করুন এবং নিয়মগুলি পুনরায় লোড করুন এবং স্থিতিটি পরীক্ষা করুন।

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' 
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent

এখন, নেটওয়ার্ক পরিসীমা 192.168.0.0/24 আমার সার্ভার থেকে উপরের পরিষেবাটি ব্যবহার করতে পারে। erman স্থায়ী বিকল্পটি প্রতিটি নিয়মে ব্যবহার করা যেতে পারে, তবে আমাদের বিধিটি সংজ্ঞায়িত করতে হবে এবং ক্লায়েন্টের অ্যাক্সেসের সাথে আমাদের এটি স্থায়ী করতে হবে।

20. উপরোক্ত নিয়মগুলি যুক্ত করার পরে, ফায়ারওয়াল বিধিগুলি পুনরায় লোড করতে এবং ব্যবহার করে নিয়মগুলি তালিকাভুক্ত করতে ভুলবেন না:

# firewall-cmd --reload
# firewall-cmd --list-all

ফায়ারওয়াল্ড সম্পর্কে আরও জানতে।

# man firewalld

এটি হ'ল আমরা দেখেছি কীভাবে আরএইচইএল/সেন্টোস এবং ফেডোরায় ফায়ারওয়াল্ড ব্যবহার করে নেট-ফিল্টার সেট আপ করতে হয়।

নেট-ফিল্টার প্রতিটি লিনাক্স বিতরণের জন্য ফায়ারওয়ালের কাঠামো। প্রতিটি আরএইচইএল এবং সেন্টোস সংস্করণে ফিরে আমরা আইপটেবল ব্যবহার করি তবে নতুন সংস্করণে তারা ফায়ারওয়াল্ড প্রবর্তন করে। ফায়ারওয়াল্ড বোঝা এবং ব্যবহার করা সহজ। আশা করি আপনি লেখার উপভোগ করেছেন।