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

উবুন্টু 18.04 এ কীভাবে ufw সহ ফায়ারওয়াল সেট আপ করবেন

Ubuntu 18.04 LTS Bionic Beaver - Review

Ubuntu 18.04 LTS Bionic Beaver - Review

সুচিপত্র:

Anonim

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

পূর্বশর্ত

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

ইউএফডাব্লু ইনস্টল করুন

উবুন্টু 18.04-এ ডিফল্টরূপে জটিল বিহীন ফায়ারওয়াল ইনস্টল করা উচিত তবে এটি যদি আপনার সিস্টেমে ইনস্টল না করা থাকে তবে আপনি প্যাকেজটি টাইপ করে ইনস্টল করতে পারেন:

sudo apt install ufw

ইউএফডাব্লু স্থিতি পরীক্ষা করুন

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

sudo ufw status verbose

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

Status: inactive

যদি ইউএফডাব্লু সক্রিয় করা থাকে তবে আউটপুটটি নিম্নলিখিতগুলির মতো দেখাবে:

ইউএফডাব্লু ডিফল্ট নীতিসমূহ

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

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

ফায়ারওয়াল নীতিগুলি আরও বিস্তারিত এবং ব্যবহারকারী-সংজ্ঞায়িত নিয়ম গঠনের ভিত্তি। বেশিরভাগ ক্ষেত্রে, প্রাথমিক ইউএফডাব্লু ডিফল্ট নীতিগুলি একটি ভাল শুরুর পয়েন্ট।

অ্যাপ্লিকেশন প্রোফাইল

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

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

sudo ufw app list

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

Available applications: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix Postfix SMTPS Postfix Submission

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

sudo ufw app info 'Nginx Full'

Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: 80, 443/tcp

আপনি উপরের আউটপুট থেকে দেখতে পাচ্ছেন যে 'এনগিনেক্স ফুল' প্রোফাইলটি পোর্ট 80 এবং 443 খোলে।

এসএসএইচ সংযোগগুলির অনুমতি দিন

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

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

sudo ufw allow ssh

Rules updated Rules updated (v6)

আপনি যদি এসএসএইচ বন্দরটি 22 পোর্টের পরিবর্তে একটি কাস্টম পোর্টে পরিবর্তন করেন তবে আপনাকে সেই পোর্টটি খুলতে হবে।

উদাহরণস্বরূপ, যদি আপনার ssh ডিমন 4422 পোর্টে শুনেন, তবে আপনি সেই বন্দরে সংযোগের জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

sudo ufw allow 4422/tcp

ইউএফডাব্লু সক্ষম করুন

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

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

আপনাকে সতর্ক করা হবে যে ফায়ারওয়াল সক্ষম করা বিদ্যমান এসএসএস সংযোগগুলিকে ব্যাহত করতে পারে, কেবল y টাইপ করুন এবং Enter

অন্যান্য বন্দরগুলিতে সংযোগের অনুমতি দিন

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

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

খোলা পোর্ট 80 - এইচটিটিপি

নিম্নলিখিত কমান্ডের সাহায্যে এইচটিটিপি সংযোগগুলি অনুমোদিত হতে পারে:

sudo ufw allow

HTTP এর পরিবর্তে আপনি পোর্ট নম্বর ব্যবহার করতে পারেন, 80:

sudo ufw allow 80/tcp

বা আপনি এই ক্ষেত্রে অ্যাপ্লিকেশন প্রোফাইলটি ব্যবহার করতে পারেন, 'এনগিনেক্স এইচটিটিপি':

sudo ufw allow 'Nginx

443 পোর্ট খুলুন - এইচটিটিপিএস

নিম্নলিখিত কমান্ডের সাহায্যে এইচটিটিপি সংযোগগুলি অনুমোদিত হতে পারে:

sudo ufw allow

https প্রোফাইলের পরিবর্তে এটি অর্জন করতে আপনি পোর্ট নম্বরটি 443 ব্যবহার করতে পারেন:

sudo ufw allow 443/tcp

অথবা আপনি অ্যাপ্লিকেশন প্রোফাইল, 'এনগিনেক্স এইচটিটিপিএস' ব্যবহার করতে পারেন:

sudo ufw allow 'Nginx

খোলা পোর্ট 8080

sudo ufw allow 8080/tcp

পোর্ট রেঞ্জগুলির অনুমতি দিন

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

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

নির্দিষ্ট আইপি ঠিকানাগুলিকে অনুমতি দিন

আপনার হোম মেশিন from .6৪.33..6২..6১ আইপি ঠিকানা সহ সমস্ত বন্দরগুলিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য, আপনি হোয়াইটলিস্ট করতে চান এমন IP ঠিকানা অনুসরণ করে নির্দিষ্ট করুন:

sudo ufw allow from 64.63.62.61

নির্দিষ্ট বন্দরে নির্দিষ্ট আইপি ঠিকানাগুলিকে অনুমতি দিন

একটি নির্দিষ্ট বন্দরে অ্যাক্সেসের অনুমতি দেওয়ার জন্য let's৪.33.2২..6১ এর আইপি ঠিকানা সহ আপনার ওয়ার্ক মেশিন থেকে পোর্ট ২২ বলে, পোর্ট নম্বর অনুসরণ করে যে to any port ব্যবহার করুন:

sudo ufw allow from 64.63.62.61 to any port 22

সাবনেটকে অনুমতি দিন

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

sudo ufw allow from 192.168.1.0/24 to any port 3306

নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসে সংযোগগুলিকে অনুমতি দিন

নির্দিষ্ট পোর্টে অ্যাক্সেসের অনুমতি দেওয়ার জন্য eth2 পোর্টটি কেবল নির্দিষ্ট নেটওয়ার্ক ইন্টারফেস eth2 তে বলতে eth2 , তারপরে আপনাকে নেটওয়ার্ক ইন্টারফেসের allow in on এবং নাম নির্দিষ্ট করতে হবে:

sudo ufw allow in on eth2 to any port 3306

সংযোগ অস্বীকার করুন

সমস্ত আগত সংযোগগুলির জন্য ডিফল্ট নীতিটি deny করার জন্য সেট করা হয়েছে এবং যদি আপনি এটি পরিবর্তন না করেন, আপনি সুনির্দিষ্টভাবে সংযোগটি না খুললে UFW সমস্ত আগত সংযোগটিকে অবরুদ্ধ করে দেবে।

ধরা যাক আপনি 80 এবং 443 বন্দরগুলি খুলেছেন এবং 23.24.25.0/24 নেটওয়ার্ক থেকে আপনার সার্ভার আক্রমণে রয়েছে। 23.24.25.0/24 থেকে সমস্ত সংযোগ অস্বীকার করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

অস্বীকৃতি বিধি রচনা লেখার অনুমতি নিয়মের সমান, আপনার কেবল allow deny সাথে প্রতিস্থাপন allow

ইউএফডাব্লু বিধি মোছা

ইউএফডাব্লু বিধি মোছার দুটি ভিন্ন উপায় আছে, নিয়ম সংখ্যা দ্বারা এবং প্রকৃত নিয়ম নির্দিষ্ট করে।

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

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

নিয়ম 3 নম্বর মোছার জন্য, নিয়মটি 8080 পোর্টে সংযোগের অনুমতি দেয় এমন নিয়মটি নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

sudo ufw delete 3

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

sudo ufw delete allow 8069

ইউএফডাব্লু অক্ষম করুন

যদি কোনও কারণে আপনি ইউএফডাব্লু বন্ধ করতে চান এবং আপনি ব্যবহার করতে পারেন এমন সমস্ত নিয়ম নিষ্ক্রিয় করতে চান:

sudo ufw disable

পরে আপনি যদি ইউটিএফটিকে পুনরায় সক্ষম করতে এবং সমস্ত নিয়ম সক্রিয় করতে চান তবে কেবল টাইপ করুন:

sudo ufw enable

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

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

ইউএফডাব্লু রিসেট করতে কেবল নিম্নলিখিত কমান্ডটি টাইপ করুন:

sudo ufw reset

উপসংহার

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

ufw ফায়ারওয়াল iptables উবুন্টু সুরক্ষা