অ্যান্ড্রয়েড

সেন্টোস 7 এ ফায়ারওয়াল্ড সহ ফায়ারওয়াল কীভাবে সেটআপ করবেন

Configurar VSFPTD en CentOS 7

Configurar VSFPTD en CentOS 7

সুচিপত্র:

Anonim

সঠিকভাবে কনফিগার করা ফায়ারওয়াল সামগ্রিক সিস্টেম সুরক্ষার অন্যতম গুরুত্বপূর্ণ বিষয়।

ফায়ারওয়াল্ড হ'ল একটি সম্পূর্ণ ফায়ারওয়াল সমাধান যা সিস্টেমের iptables নিয়ম পরিচালনা করে এবং সেগুলিতে অপারেটিংয়ের জন্য একটি ডি-বাস ইন্টারফেস সরবরাহ করে। CentOS 7 দিয়ে শুরু করে ফায়ারওয়াল্ড iptables কে ডিফল্ট ফায়ারওয়াল পরিচালনার সরঞ্জাম হিসাবে প্রতিস্থাপন করে।

এই টিউটোরিয়ালে, আমরা আপনাকে আপনার সেন্টোস 7 সিস্টেমে ফায়ারওয়াল্ড দিয়ে ফায়ারওয়াল সেটআপ করার পদ্ধতি এবং ফায়ারওয়ালড ধারণাগুলি সম্পর্কে আপনাকে ব্যাখ্যা করব।

পূর্বশর্ত

আপনি এই টিউটোরিয়ালটি শুরু করার আগে নিশ্চিত হয়ে নিন যে আপনি নিজের সার্ভারে সুডোর সুবিধাগুলি সহ কোনও ব্যবহারকারীর অ্যাকাউন্টে বা মূল ব্যবহারকারীর সাথে লগ ইন করেছেন। সর্বোত্তম অনুশীলন হ'ল মূলের পরিবর্তে সুডো ব্যবহারকারী হিসাবে প্রশাসনিক কমান্ড চালানো। আপনার CentOS সিস্টেমে সুডো ব্যবহারকারী না থাকলে আপনি এই নির্দেশাবলী অনুসরণ করে একটি তৈরি করতে পারেন।

বেসিক ফায়ারওয়াল্ড ধারণা

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

ফায়ারওয়ালডি firewall-cmd কমান্ড-লাইন ইউটিলিটিটি ব্যবহার করে কনফিগার এবং পরিচালনা করা যায়।

ফায়ারওয়াল্ড জোনস

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

ফায়ারওয়াল্ড দ্বারা প্রদত্ত জোনগুলি অবিশ্বস্ত থেকে বিশ্বাসযোগ্য জোনটির বিশ্বাসের স্তর অনুসারে অর্ডার করা হয়েছে:

  • ড্রপ: সমস্ত আগত সংযোগগুলি কোনও বিজ্ঞপ্তি ছাড়াই ফেলে দেওয়া হয়। কেবল বহির্গামী সংযোগ অনুমোদিত। ব্লক: সমস্ত ইনকামিং সংযোগগুলি IPv4 icmp-host-prohibited বার্তা এবং IPv4 icmp6-adm-prohibited জন্য আইসিএমপি icmp6-adm-prohibited প্রত্যাখ্যান করা হয়। কেবল বহির্গামী সংযোগ অনুমোদিত। জনসাধারণ: অবিশ্বস্ত পাবলিক এলাকায় ব্যবহারের জন্য। আপনি নেটওয়ার্কের অন্যান্য কম্পিউটারগুলিতে বিশ্বাস রাখেন না, তবে আপনি নির্বাচিত আগত সংযোগগুলিকে মঞ্জুরি দিতে পারবেন। বাহ্যিক: আপনার সিস্টেমের গেটওয়ে বা রাউটার হিসাবে কাজ করার সময় NAT মাস্ক্রেডিং সহ বাহ্যিক নেটওয়ার্কগুলিতে ব্যবহারের জন্য। কেবলমাত্র নির্বাচিত আগত সংযোগগুলি অনুমোদিত। অভ্যন্তরীণ: অভ্যন্তরীণ নেটওয়ার্কগুলিতে ব্যবহারের জন্য যখন আপনার সিস্টেমটি গেটওয়ে বা রাউটার হিসাবে কাজ করে। নেটওয়ার্কের অন্যান্য সিস্টেমগুলি সাধারণত বিশ্বাসযোগ্য। কেবলমাত্র নির্বাচিত আগত সংযোগগুলি অনুমোদিত। dmz: আপনার ডিমিলিটাইজড জোনে অবস্থিত কম্পিউটারগুলির জন্য ব্যবহৃত যা আপনার নেটওয়ার্কের বাকী অংশে সীমিত অ্যাক্সেস রয়েছে। কেবলমাত্র নির্বাচিত আগত সংযোগগুলি অনুমোদিত। কাজ: কাজের মেশিনের জন্য ব্যবহৃত। নেটওয়ার্কের অন্যান্য কম্পিউটারগুলি সাধারণত বিশ্বাসযোগ্য। কেবলমাত্র নির্বাচিত আগত সংযোগগুলি অনুমোদিত। হোম: হোম মেশিনের জন্য ব্যবহৃত। নেটওয়ার্কের অন্যান্য কম্পিউটারগুলি সাধারণত বিশ্বাসযোগ্য। কেবলমাত্র নির্বাচিত আগত সংযোগগুলি অনুমোদিত। বিশ্বস্ত: সমস্ত নেটওয়ার্ক সংযোগ গ্রহণ করা হয়েছে। নেটওয়ার্কের সমস্ত কম্পিউটারে বিশ্বাস করুন।

ফায়ারওয়াল পরিষেবা

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

ফায়ারওয়াল্ড রানটাইম এবং স্থায়ী সেটিংস

ফায়ারওয়াল্ড দুটি পৃথক পৃথক কনফিগারেশন সেট, রানটাইম এবং স্থায়ী কনফিগারেশন ব্যবহার করে।

রানটাইম কনফিগারেশন হ'ল আসল চলমান কনফিগারেশন, এবং এটি রিবুটগুলিতে স্থির থাকে না। যখন ফায়ারওয়াল্ড পরিষেবা শুরু হয়, এটি স্থায়ী কনফিগারেশন লোড করে, যা রানটাইম কনফিগারেশন হয়ে যায়।

ডিফল্টরূপে, firewall-cmd ইউটিলিটি ব্যবহার করে firewall-cmd কনফিগারেশন পরিবর্তন করার সময়, পরিবর্তনগুলি রানটাইম কনফিগারেশনে প্রয়োগ করা হয়। পরিবর্তনগুলি স্থায়ী করতে আপনাকে - স্থায়ী বিকল্পটি ব্যবহার করতে হবে।

ফায়ারওয়াল্ড ইনস্টল করা ও সক্ষম করা

  1. ফায়ারওয়াল্ড সেন্টোস 7 এ ডিফল্টরূপে ইনস্টল করা থাকে তবে এটি যদি আপনার সিস্টেমে ইনস্টল না করা থাকে তবে আপনি প্যাকেজটি টাইপ করে ইনস্টল করতে পারেন:

    sudo yum install firewalld

    ফায়ারওয়াল্ড পরিষেবাটি ডিফল্টরূপে অক্ষম থাকে। আপনি এর সাথে ফায়ারওয়াল স্থিতি পরীক্ষা করতে পারেন:

    sudo firewall-cmd --state

    ফায়ারওয়াল্ড পরিষেবা শুরু করতে এবং এটি বুট প্রকারে সক্ষম করতে:

    sudo systemctl start firewalld sudo systemctl enable firewalld

ফায়ারওয়াল্ড জোনের সাথে কাজ করা

প্রথমবারের জন্য ফায়ারওয়াল্ড পরিষেবা সক্ষম করার পরে, public অঞ্চলটি ডিফল্ট অঞ্চল হিসাবে সেট করা হয়। আপনি টাইপ করে ডিফল্ট অঞ্চলটি দেখতে পারেন:

sudo firewall-cmd --get-default-zone

public

সমস্ত উপলব্ধ অঞ্চলগুলির তালিকা পেতে টাইপ করুন:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

ডিফল্টরূপে, সমস্ত নেটওয়ার্ক ইন্টারফেস ডিফল্ট অঞ্চল নির্ধারিত হয়। আপনার নেটওয়ার্ক ইন্টারফেস (গুলি) এর দ্বারা কোন অঞ্চলগুলি ব্যবহৃত হচ্ছে তা পরীক্ষা করতে:

sudo firewall-cmd --get-active-zones

public interfaces: eth0 eth1

উপরের আউটপুটটি আমাদের জানায় যে eth0 এবং eth1 উভয় ইন্টারফেস পাবলিক জোনে বরাদ্দ করা হয়েছে।

আপনি এর সাথে জোন কনফিগারেশন সেটিংস মুদ্রণ করতে পারেন:

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

public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

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

sudo firewall-cmd --list-all-zones

কমান্ডটি সমস্ত উপলব্ধ জোনের সেটিংস সহ একটি বিশাল তালিকা মুদ্রণ করে।

একটি ইন্টারফেসের অঞ্চল পরিবর্তন করা

--change-interface বিকল্পের সাথে --zone বিকল্পটি ব্যবহার করে আপনি সহজেই ইন্টারফেস অঞ্চল পরিবর্তন করতে পারেন। নিম্নলিখিত কমান্ডটি কার্য অঞ্চলে eth1 ইন্টারফেস নির্ধারণ করবে:

sudo firewall-cmd --zone=work --change-interface=eth1

টাইপ করে পরিবর্তনগুলি যাচাই করুন:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

ডিফল্ট অঞ্চল পরিবর্তন করা হচ্ছে

ডিফল্ট অঞ্চল পরিবর্তন করতে, - ডিফল্ট অঞ্চলটি পরিবর্তন করতে চান তার নাম অনুসারে --set-default-zone বিকল্পটি ব্যবহার করুন।

উদাহরণস্বরূপ, ডিফল্ট অঞ্চলটি বাড়িতে পরিবর্তন করতে আপনার নীচের কমান্ডটি চালাবেন:

sudo firewall-cmd --set-default-zone=home

এর সাথে পরিবর্তনগুলি যাচাই করুন:

sudo firewall-cmd --get-default-zone

home

একটি পোর্ট বা পরিষেবা খোলা হচ্ছে

ফায়ারওয়ালড দিয়ে আপনি পরিষেবাগুলি বলা পূর্বনির্ধারিত নিয়মের ভিত্তিতে নির্দিষ্ট পোর্টের জন্য ট্র্যাফিকের অনুমতি দিতে পারবেন।

সমস্ত ডিফল্ট উপলব্ধ পরিষেবাগুলির তালিকা পেতে:

sudo firewall-cmd --get-services

আপনি /usr/lib/firewalld/services ডিরেক্টরিতে সংশ্লিষ্ট.xML ফাইলটি খোলার মাধ্যমে প্রতিটি পরিষেবা সম্পর্কে আরও তথ্য পেতে পারেন। উদাহরণস্বরূপ, এইচটিটিপি পরিষেবাটি এভাবে সংজ্ঞায়িত করা হয়েছে:

/usr/lib/firewalld/services/http.xml

WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages. WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.

পাবলিক জোনে ইন্টারফেসের জন্য আগত এইচটিটিপি ট্র্যাফিক (পোর্ট 80) এর অনুমতি দেওয়ার জন্য, কেবলমাত্র বর্তমান সেশনের জন্য (রানটাইম কনফিগারেশন) টাইপ করুন:

sudo firewall-cmd --zone=public --add-service=http আপনি যদি ডিফল্ট অঞ্চল পরিবর্তন করে থাকেন তবে আপনি - জোন বিকল্পটি ছেড়ে দিতে পারেন।

পরিষেবাটি সফলভাবে যুক্ত করা হয়েছে কিনা তা যাচাই করতে --list-services বিকল্পটি ব্যবহার করুন:

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

ssh dhcpv6-client

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

আপনার পরিবর্তনগুলি যাচাই করতে - --permanent বিকল্পের সাথে --permanent --list-services ব্যবহার করুন:

sudo firewall-cmd --permanent --zone=public --list-services

ssh dhcpv6-client

পরিষেবা অপসারণের জন্য সিনট্যাক্সটি কোনও পরিষেবা যুক্ত করার সময় একই। --remove-service --add-service বিকল্পের পরিবর্তে কেবল --remove-service ব্যবহার করুন:

sudo firewall-cmd --zone=public --remove-service=http --permanent

উপরের কমান্ডটি সর্বজনীন অঞ্চল স্থায়ী কনফিগারেশন থেকে http পরিষেবাটি সরিয়ে দেয়।

আপনি যদি প্লেক্স মিডিয়া সার্ভারের মতো কোনও অ্যাপ্লিকেশন চালাচ্ছেন যার জন্য উপযুক্ত পরিষেবা নেই?

এ জাতীয় পরিস্থিতিতে আপনার কাছে দুটি বিকল্প রয়েছে। আপনি হয় উপযুক্ত পোর্টগুলি খুলতে পারেন বা একটি নতুন ফায়ারওয়ালডি পরিষেবা সংজ্ঞায়িত করতে পারেন।

উদাহরণস্বরূপ, প্লেক্স সার্ভারটি 32400 পোর্টে শোনে এবং টিসিপি ব্যবহার করে, বর্তমান সেশনের জন্য সর্বজনীন জোনে পোর্টটি খুলতে --add-port= বিকল্পটি ব্যবহার করুন:

sudo firewall-cmd --zone=public --add-port=32400/tcp প্রোটোকলগুলি tcp বা udp হতে পারে।

পোর্টটি সফলভাবে যুক্ত করা হয়েছে - যাচাই করতে --list-ports বিকল্পটি ব্যবহার করুন:

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

32400/tcp

রিবুট শেষে 32400 বন্দরটি খোলা রাখতে, --permanent বিকল্পটি ব্যবহার করে একই কমান্ডটি চালিয়ে স্থায়ী সেটিংসে নিয়ম যুক্ত করুন।

পোর্ট অপসারণের জন্য সিনট্যাক্সটি পোর্ট যুক্ত করার সময় একই। --remove-port --add-port বিকল্পের পরিবর্তে কেবল --remove-port ব্যবহার করুন।

sudo firewall-cmd --zone=public --remove-port=32400/tcp

একটি নতুন ফায়ারওয়ালডি পরিষেবা তৈরি করা হচ্ছে

আমরা ইতিমধ্যে উল্লেখ করেছি যে, ডিফল্ট পরিষেবাগুলি /usr/lib/firewalld/services ডিরেক্টরিতে সঞ্চিত থাকে। নতুন পরিষেবা তৈরির সহজতম উপায় হ'ল বিদ্যমান পরিষেবা ফাইলটি /etc/firewalld/services ডিরেক্টরিতে অনুলিপি করা, যা ব্যবহারকারীর দ্বারা নির্মিত পরিষেবাগুলির জন্য অবস্থান এবং ফাইল সেটিংস সংশোধন করা।

উদাহরণস্বরূপ, প্ল্লেক্স মিডিয়া সার্ভারের জন্য একটি পরিষেবা সংজ্ঞা তৈরি করতে আমরা এসএসএইচ পরিষেবা ফাইলটি ব্যবহার করতে পারি:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml

সদ্য নির্মিত plexmediaserver.xml ফাইলটি খুলুন এবং এর মধ্যে পরিষেবার জন্য সংক্ষিপ্ত নাম এবং বিবরণ পরিবর্তন করুন এবং ট্যাগ. আপনাকে যে পরিবর্তন করতে হবে তার মধ্যে সবচেয়ে গুরুত্বপূর্ণ ট্যাগটি হ'ল port ট্যাগ, যা আপনি খুলতে চান এমন পোর্ট নম্বর এবং প্রোটোকলটি সংজ্ঞায়িত করে।

নিম্নলিখিত উদাহরণে, আমরা বন্দরগুলি 1900 ইউডিপি এবং 32400 টিসিপি খুলছি।

/etc/firewalld/services/plexmediaserver.xml

plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere. plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.

ফাইলটি সংরক্ষণ করুন এবং ফায়ারওয়ালডি পরিষেবাটি পুনরায় লোড করুন:

sudo firewall-cmd --reload

আপনি এখন অন্য অঞ্চলের মতো আপনার জোনগুলিতে plexmediaserver সার্ভিস ব্যবহার করতে পারেন..

ফায়ারওয়াল্ড সহ ফরওয়ার্ডিং পোর্ট

এক পোর্ট থেকে অন্য পোর্ট বা ঠিকানায় ট্র্যাফিক ফরোয়ার্ড করার জন্য, প্রথমে --add-masquerade সুইচটি ব্যবহার করে কাঙ্ক্ষিত জোনের জন্য মাস্ক্রেডিং সক্ষম করুন। উদাহরণস্বরূপ external অঞ্চলের প্রকারের জন্য মুখোশ সক্ষম করতে:

sudo firewall-cmd --zone=external --add-masquerade

  • একই সার্ভারে এক বন্দর থেকে অন্য বন্দরে ট্র্যাফিক ফরওয়ার্ড করুন

নিম্নলিখিত উদাহরণটিতে আমরা ট্র্যাফিকটিকে একই সার্ভারে 80 বন্দর থেকে 8080 বন্দর পর্যন্ত ফরোয়ার্ড করছি:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

  • অন্য সার্ভারে ট্র্যাফিক ফরওয়ার্ড করুন

নিম্নলিখিত উদাহরণে আমরা আইপি 10.10.10.2 সহ একটি সার্ভারে পোর্ট 80 থেকে পোর্ট 80 এ ট্র্যাফিকটি ফরোয়ার্ড করছি:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2

  • অন্য বন্দরে অন্য সার্ভারে ট্র্যাফিক ফরওয়ার্ড করুন

নিম্নলিখিত উদাহরণে আমরা আইপি 10.10.10.2 সহ একটি সার্ভারে 80 পোর্ট 80 থেকে পোর্ট 8080 পর্যন্ত ট্র্যাফিক ফরওয়ার্ড করছি:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2

ফায়ারওয়ালডি দিয়ে একটি রুলসেট তৈরি করা হচ্ছে

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

  1. ডিফল্ট অঞ্চলটি ডিএমজেডে পরিবর্তন করুন

    আমরা dmz (demilitarized) জোন ব্যবহার করব কারণ ডিফল্টরূপে এটি কেবল এসএসএইচ ট্র্যাফিকের অনুমতি দেয়। ডিফল্ট অঞ্চলটি ডিএমজেডে পরিবর্তন করতে এবং এথ0 ইন্টারফেসে এটি নির্ধারণ করতে, নিম্নলিখিত কমান্ডগুলি চালনা করুন:

    sudo firewall-cmd --set-default-zone=dmz sudo firewall-cmd --zone=dmz --add-interface=eth0 sudo firewall-cmd --set-default-zone=dmz sudo firewall-cmd --zone=dmz --add-interface=eth0

    এইচটিটিপি এবং এইচটিটিপিএস পোর্টগুলি খুলুন:

    এইচটিটিপি এবং এইচটিটিপিএস পোর্টগুলি খুলতে ডিএমজেড অঞ্চলে স্থায়ী পরিষেবার বিধি যুক্ত করুন:

    sudo firewall-cmd --permanent --zone=dmz --add-service=http sudo firewall-cmd --permanent --zone=dmz --add-service=https

    ফায়ারওয়াল পুনরায় লোড করে তাত্ক্ষণিকভাবে পরিবর্তনগুলি কার্যকর করুন:

    sudo firewall-cmd --reload

    পরিবর্তনগুলি যাচাই করুন

    Dmz জোন কনফিগারেশন সেটিংস পরীক্ষা করতে টাইপ করুন:

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

    dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

    উপরের আউটপুটটি আমাদের বলে যে dmz ডিফল্ট অঞ্চল, এটি eth0 ইন্টারফেসে প্রয়োগ করা হয় এবং ssh (22) HTTP (80) এবং https (443) পোর্ট খোলা থাকে।

উপসংহার

আপনি আপনার সেন্টোস সিস্টেমে ফায়ারওয়ালডি পরিষেবাটি কনফিগার ও পরিচালনা করতে শিখলেন।

সমস্ত অপ্রয়োজনীয় সংযোগ সীমাবদ্ধ করার সময় আপনার সিস্টেমের সঠিক ক্রিয়াকলাপের জন্য প্রয়োজনীয় সমস্ত আগত সংযোগগুলির মঞ্জুরি দেওয়ার বিষয়ে নিশ্চিত হন।

ফায়ারওয়াল্ড ফায়ারওয়াল iptables শতকরা নিরাপত্তা