উবুন্টু এবং ডেবিয়ানে কীভাবে ইউএফডাব্লু ফায়ারওয়াল সেটআপ করবেন


সঠিকভাবে কার্যকর ফায়ারওয়াল হ'ল সম্পূর্ণ লিনাক্স সিস্টেম সুরক্ষার সবচেয়ে গুরুত্বপূর্ণ অংশ। ডিফল্টরূপে, ডেবিয়ান এবং উবুন্টু বিতরণটি ইউএফডাব্লু (আনকম্প্লেক্টেড ফায়ারওয়াল) নামে একটি ফায়ারওয়াল কনফিগারেশন সরঞ্জাম নিয়ে আসে, এটি উবুন্টু এবং ডেবিয়ান বিতরণগুলিতে একটি ফায়ারওয়াল কনফিগার এবং পরিচালনা করার জন্য একটি জনপ্রিয় এবং সহজেই ব্যবহারযোগ্য কমান্ড লাইন সরঞ্জাম tool

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

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

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

উবুন্টু এবং ডেবিয়ানে ইউএফডাব্লু ফায়ারওয়াল ইনস্টল করুন

উবুন্টু এবং ডেবিয়ানে ইউএফডাব্লু (আনকম্প্লেসিটেড ফায়ারওয়াল) ডিফল্টরূপে ইনস্টল করা উচিত, যদি না হয় তবে নিম্নলিখিত কমান্ডটি ব্যবহার করে এপিটি প্যাকেজ ম্যানেজার ব্যবহার করে এটি ইনস্টল করুন।

$ sudo apt install ufw

ইনস্টলেশন শেষ হয়ে গেলে আপনি টাইপ করে ইউএফডাব্লু এর স্থিতি পরীক্ষা করতে পারেন।

$ sudo ufw status verbose

প্রথম ইনস্টলের সময়, ইউএফডাব্লু ফায়ারওয়াল ডিফল্টরূপে অক্ষম থাকে, আউটপুট নীচের মতো হয়।

Status: inactive

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

$ sudo ufw enable

ইউএফডাব্লু ফায়ারওয়াল অক্ষম করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন, যা ফায়ারওয়ালটি আনলোড করে এবং এটি বুট শুরু হতে অক্ষম করে।

$ sudo ufw disable 

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

ডিফল্ট ইউএফডাব্লু ফায়ারওয়াল পলিসগুলি /etc/default/ufw ফাইলে রাখা হয় এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে পরিবর্তন করা যায়।

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

এপিটি প্যাকেজ ম্যানেজার ব্যবহার করে কোনও সফ্টওয়্যার প্যাকেজ ইনস্টল করার সময়, এটি /etc/ufw/applications.d ডিরেক্টরিতে একটি অ্যাপ্লিকেশন প্রোফাইল অন্তর্ভুক্ত করবে যা পরিষেবাটি সংজ্ঞায়িত করে এবং ইউএফডাব্লু সেটিংস ধারণ করে।

নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি আপনার সার্ভারে উপলব্ধ সমস্ত অ্যাপ্লিকেশন প্রোফাইল তালিকাভুক্ত করতে পারেন।

$ sudo ufw app list

আপনার সিস্টেমে সফ্টওয়্যার প্যাকেজ ইনস্টলেশনের উপর নির্ভর করে আউটপুট নিম্নলিখিতগুলির মতো দেখাবে:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

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

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

আপনার সার্ভারটি যদি আইপিভি 6 দিয়ে কনফিগার করা থাকে তবে নিশ্চিত হয়ে নিন যে আপনার ইউএফডাব্লু আইপিভি 6 এবং আইপিভি 4 সমর্থন সহ কনফিগার হয়েছে। এটি যাচাই করতে, আপনার প্রিয় সম্পাদক ব্যবহার করে UFW কনফিগারেশন ফাইলটি খুলুন।

$ sudo vi /etc/default/ufw

তারপরে কনফিগারেশন ফাইলে প্রদর্শিত হিসাবে "আইপিভি 6" "হ্যাঁ" তে সেট করা আছে তা নিশ্চিত করুন।

IPV6=yes

সংরক্ষণ করুন এবং প্রস্থান করুন। তারপরে আপনার ফায়ারওয়ালটি নিম্নলিখিত কমান্ডগুলি দিয়ে পুনরায় চালু করুন:

$ sudo ufw disable
$ sudo ufw enable

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

নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি বন্ধ হতে আমাদের সার্ভারের এসএসএইচ সংযোগগুলি সক্ষম করুন:

$ sudo ufw allow ssh

আপনি যদি কাস্টম এসএসএইচ পোর্ট ব্যবহার করছেন (উদাহরণস্বরূপ 2222 পোর্ট), তবে আপনাকে নিম্নলিখিত কমান্ডটি ব্যবহার করে ইউএফডাব্লু ফায়ারওয়ালে সেই পোর্টটি খুলতে হবে।

$ sudo ufw allow 2222/tcp

সমস্ত এসএসএইচ সংযোগগুলি ব্লক করতে নিম্নলিখিত কমান্ডটি টাইপ করুন।

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp  [If using custom SSH port]

আপনি নির্দিষ্ট পরিষেবাতে সংযোগের অনুমতি দেওয়ার জন্য আপনি ফায়ারওয়ালে একটি নির্দিষ্ট বন্দরও খুলতে পারেন। উদাহরণস্বরূপ, আপনি যদি কোনও ওয়েব সার্ভার সেটআপ করতে চান যা ডিফল্টরূপে পোর্ট 80 (HTTP) এবং 443 (HTTPS) এ শোনে।

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

$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

ধরে নিই আপনার কাছে কিছু অ্যাপ্লিকেশন রয়েছে যা আপনি বন্দরগুলির একটি পরিসরে (5000-5003) চালাতে চান, আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এই সমস্ত পোর্ট যুক্ত করতে পারেন।

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

আপনি যদি নির্দিষ্ট আইপি ঠিকানা 192.168.56.1 থেকে সমস্ত বন্দরগুলিতে সংযোগের অনুমতি দিতে চান তবে আপনাকে আইপি ঠিকানার আগে থেকেই নির্দিষ্ট করতে হবে।

$ sudo ufw allow from 192.168.56.1

আপনার বাড়ির মেশিন থেকে 192.168.56.1 এর ঠিকানা সহ একটি নির্দিষ্ট পোর্টে (উদাহরণস্বরূপ পোর্ট 22) সংযোগের অনুমতি দেওয়ার জন্য, আইপি ঠিকানার পরে আপনাকে যে কোনও পোর্ট এবং পোর্ট নম্বর যুক্ত করতে হবে shown

$ sudo ufw allow from 192.168.56.1 to any port 22

192.168.1.1 থেকে 192.168.1.254 থেকে পোর্ট 22 (এসএসএইচ) পর্যন্ত নির্দিষ্ট আইপি ঠিকানার জন্য সংযোগগুলির অনুমতি দেওয়ার জন্য, নিম্নলিখিত কমান্ডটি চালান।

$ sudo ufw allow from 192.168.1.0/24 to any port 22

নির্দিষ্ট পোর্ট 22 (এসএসএইচ) এর জন্য নির্দিষ্ট নেটওয়ার্ক ইন্টারফেস eth2 এর সাথে সংযোগের অনুমতি দেওয়ার জন্য, নিম্নলিখিত কমান্ডটি চালান।

$ sudo ufw allow in on eth2 to any port 22

ডিফল্টরূপে, আগত সমস্ত সংযোগগুলি অবরুদ্ধ করা হয়, যদি না আপনি সুনির্দিষ্টভাবে ইউএফডাব্লুতে সংযোগটি না খোলেন। উদাহরণস্বরূপ, আপনি 80 এবং 443 বন্দরগুলি খুলেছেন এবং আপনার ওয়েব সার্ভারটি অজানা নেটওয়ার্ক 11.12.13.0/24 এর আক্রমণে রয়েছে।

এই 11.12.13.0/24 নেটওয়ার্ক পরিসীমা থেকে সমস্ত সংযোগ ব্লক করতে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

$ sudo ufw deny from 11.12.13.0/24

আপনি যদি 80 এবং 443 পোর্টগুলিতে কেবল সংযোগগুলি অবরুদ্ধ করতে চান তবে আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন।

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

নিয়ম সংখ্যা এবং প্রকৃত নিয়ম অনুসারে ইউএফডাব্লু বিধি মোছার 2 উপায় রয়েছে।

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

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

নিয়ম 1 নম্বর মুছতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

$ sudo ufw delete 1

দ্বিতীয় পদ্ধতিটি হ'ল প্রকৃত নিয়ম ব্যবহার করে কোনও নিয়ম মুছে ফেলা, উদাহরণস্বরূপ কোনও নিয়ম মোছার জন্য, প্রোটোকল সহ পোর্ট নম্বরটি প্রদর্শিত হিসাবে উল্লেখ করুন।

$ sudo ufw delete allow 22/tcp

- শুকনো চালানো পতাকাটি ব্যবহার করে সিস্টেম ফায়ারওয়ালে আসলে কোনও পরিবর্তন না করে আপনি যেকোনও ufw কমান্ড চালাতে পারেন, এটি কেবল সেখানে পরিবর্তনগুলি দেখায় যেখানে মনে হয়।

$ sudo ufw --dry-run enable

একটি কারণ বা অন্য কারণে, আপনি যদি সমস্ত ফায়ারওয়াল বিধি মোছা/পুনরায় সেট করতে চান তবে নীচের কমান্ডগুলি টাইপ করুন, এটি আপনার সমস্ত পরিবর্তনগুলি ফিরিয়ে আনবে এবং তাজা শুরু করবে।

$ sudo ufw reset
$ sudo ufw status

ইউএফডাব্লু ফায়ারওয়াল iptables যা কিছু করতে পারে তা পরিচালনা করতে পারে। এটি নিয়মের ফাইলগুলির বিভিন্ন সেটগুলির সাহায্যে করা যেতে পারে, যা কিছুই নয়, সাধারণ iptables- পুনরুদ্ধার পাঠ্য ফাইলগুলি।

ইউএফডাব্লু ফায়ারওয়াল টিউন করা বা ইউপিডব্লিউ কমান্ডের মাধ্যমে অতিরিক্ত আইপিটবেল কমান্ড যুক্ত করার অনুমতি নেই, নিম্নলিখিত পাঠ্য ফাইলগুলিকে পরিবর্তন করার বিষয়টি ঠিক

  • /ইত্যাদি/ডিফল্ট/ufw: পূর্বনির্ধারিত নিয়মগুলির সাথে প্রধান কনফিগারেশন ফাইল
  • /etc/ufw/beforelays6_rules: এই ফাইলটিতে ufw কমান্ডের মাধ্যমে বিধি যুক্ত করার আগে নিয়ম গণনা করা হয়
  • /etc/ufw/ aftermitted66.rules: এই ফাইলটিতে নিয়মগুলি ufw কমান্ডের মাধ্যমে যুক্ত করার পরে গণনা করা হয়
  • /etc/ufw/sysctl.conf: এই ফাইলটি কার্নেল নেটওয়ার্ক টিউন করতে ব্যবহৃত হয়
  • /etc/ufw/ufw.conf: এই ফাইলটি বুটে ufw সক্ষম করে

এটাই! ইউএফডাব্লু একটি একক ufw কমান্ডের সাহায্যে জটিল বিধিগুলি নির্ধারণ করতে ব্যবহারকারী বান্ধব ইন্টারফেস সহ আইপটেবলগুলির একটি দুর্দান্ত ফ্রন্ট-এন্ড।

আপনার যদি এই ইউএফডাব্লু নিবন্ধটি সম্পর্কে ভাগ করে নিতে কোনও প্রশ্ন বা চিন্তা থাকে তবে আমাদের কাছে পৌঁছানোর জন্য নীচের মন্তব্য ফর্মটি ব্যবহার করুন।