শোরওয়াল - লিনাক্স সার্ভারগুলি কনফিগার করার জন্য একটি উচ্চ-স্তরের ফায়ারওয়াল


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

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

শোরওয়াল কী?

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

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

লিনাক্সে শোরওয়াল ইনস্টলেশন

শোরওয়াল অ্যাপটি-গেট এবং yum প্যাকেজ ম্যানেজার সরঞ্জাম ব্যবহার করে ইনস্টল করা যেতে পারে।

$ sudo apt-get install shorewall6
$ sudo yum install shorewall6

ইনস্টলেশন শেষে, আমাদের "/ usr/share/doc/shorewall" ডিরেক্টরি থেকে শোরওয়ালের ডিফল্ট ডিরেক্টরি "/ etc/shorewall" ডিরেক্টরিতে একটি নমুনা কনফিগারেশন কপি করতে হবে।

$ sudo cp /usr/share/doc/shorewall/example/two-interfaces/* /etc/shorewall

এবং তারপরে সিডি থেকে/ইত্যাদি/শোরওয়াল।

$ cd /etc/shorewall

যদি আমরা এই ডিরেক্টরিটি একবার দেখে নিই, আমরা ফাইল এবং shorewall.conf ফাইলের একটি গোছা দেখতে পাচ্ছি। শোরওয়াল নেটওয়ার্কটিকে বিভিন্ন জোনের একটি দল হিসাবে দেখে, তাই প্রথম ফাইলটি আমরা একবার দেখতে চাই এটি হ'ল "/ ইত্যাদি/শোরওয়াল/অঞ্চল" ফাইল।

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

"/ ইত্যাদি/শোরওয়াল/অঞ্চল" ফাইলটি বেশ স্ব-বর্ণনামূলক। আপনার কাছে নেট জোন (ইন্টারনেটের মুখোমুখি ইন্টারফেস), লোক জোন (ল্যান মুখোমুখি ইন্টারফেস) এবং সমস্ত কিছু রয়েছে যা সবকিছু।

এই সেট আপটি নিম্নলিখিতগুলি দেয়:

  1. এটি লোকাল অঞ্চল (ল্যান) থেকে নেট জোন (ইন্টারনেট) এ সমস্ত সংযোগের অনুরোধের অনুমতি দেয়
  2. নেট অঞ্চল থেকে ফায়ারওয়াল এবং ল্যানে সমস্ত সংযোগের অনুরোধ (উপেক্ষা) হ্রাস করে
  3. অন্যান্য সমস্ত অনুরোধ প্রত্যাখ্যান করে এবং লগ করে।

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

আপনি যদি আপনার ল্যান থেকে প্রশাসনের জন্য আপনার ফায়ারওয়ালটি উপলব্ধ রাখতে চান তবে আপনি নীচের লাইনগুলিকে আপনার "/ ইত্যাদি/শোরওয়াল/নীতি" ফাইলটিতে যুক্ত করতে পারেন।

#SOURCE		DEST	POLICY		LOG		LEVEL		LIMIT:BURST
loc			$FW		ACCEPT
$FW			loc		ACCEPT

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

এখানে, আমরা নেট জোনে E00 হিসাবে আমাদের ইন্টারনেট মুখোমুখি ইন্টারফেস সেট করেছি। আমাদের ল্যান সাইডে, আমরা অন্য ইন্টারফেসটি, এথ 1, লোক জোনে সেট করেছি। আপনার কনফিগারেশন যথাযথভাবে এই ফাইলটি সংশোধন করুন।

এই ইন্টারফেসগুলির যে কোনও একটির জন্য আপনি যে বিকল্পগুলি রাখতে পারেন তা বিস্তৃত এবং ম্যান পৃষ্ঠায় বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে।

$ man shorewall-interfaces

এর মধ্যে কয়েকটি এর দ্রুত রান ডাউন হলেন:

  1. nosmurfs - উত্স হিসাবে সম্প্রচারের ঠিকানা সহ প্যাকেটগুলি ফিল্টার করুন
  2. লগমারিয়ানস - অসম্ভব উত্সের ঠিকানা সহ লগ প্যাকেট
  3. রুটফিল্টার - অ্যান্টি-স্পুফিংয়ের জন্য কার্নেল রুট ফিল্টারিং

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

এই ফাইলটি প্রথমে বিভ্রান্ত দেখাচ্ছে, মূলত কারণ কলামগুলি ওভারল্যাপ করে, তবে শিরোনামগুলি বেশ স্ব-বর্ণনামূলক। প্রথমত, আপনার কাছে অ্যাকশন কলাম রয়েছে, এতে আপনি কী করতে চান তা বর্ণনা করে describes

এরপরে, আপনার কাছে একটি উত্স হেডার রয়েছে যেখানে আপনি জোনটি সংজ্ঞায়িত করেন যেখানে প্যাকেটটি উত্পন্ন হচ্ছে। তারপরে, আপনার নিজের ডিএসটি বা গন্তব্য আছে, যা গন্তব্যের জোন বা আইপি ঠিকানা। একটি উদাহরণ ব্যবহার করা যাক।

ধরুন আপনি 192.168.1.25 এর আইপি ঠিকানা দিয়ে মেশিনে আপনার ফায়ারওয়ালের পিছনে একটি এসএসএইচ সার্ভার চালাতে চান। আপনাকে কেবল আপনার ফায়ারওয়ালে একটি পোর্ট খোলার দরকার নেই, তবে আপনাকে ফায়ারওয়ালকে বলতে হবে যে 22 পোর্টে আসা যে কোনও ট্র্যাফিকের জন্য 192.168.1.25 নম্বরে মেশিনে যেতে হবে।

এটি পোর্ট ফরওয়ার্ডিং হিসাবে পরিচিত। এটি বেশিরভাগ ফায়ারওয়াল/রাউটারগুলিতে একটি সাধারণ বৈশিষ্ট্য। “/ ইত্যাদি/শোরওয়াল/নিয়ম” তে আপনি এর মতো একটি লাইন যুক্ত করে এটি সম্পাদন করবেন:

SSH(DNAT)	net		loc:192.168.1.25

উপরে, আমরা নেট অঞ্চল থেকে ফায়ারওয়ালে আসা যে কোনও এসএসএইচ গন্তব্যযুক্ত প্যাকেটগুলি সংজ্ঞায়িত করেছি 192 192.168.1.25 ঠিকানার সাথে মেশিনে 22 পোর্টে রুট করতে হবে (ডিএনএটি)।

একে নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন বা NAT বলা হয়। "ডি" শোরওয়ালকে কেবল জানায় যে এটি কোনও গন্তব্যের ঠিকানার জন্য একটি NAT।

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

রেফারেন্স লিংক

শোরওয়াল হোমপেজ

পরের নিবন্ধে, আমরা আরও কয়েকটি উন্নত বিষয়ে চলব, তবে আপাতত আপনাকে এখানে শুরু করার জন্য এখানে প্রচুর পরিমাণে থাকা উচিত। সর্বদা হিসাবে, আরও গভীরতর বোঝার জন্য দয়া করে ম্যান পৃষ্ঠাগুলি একবার দেখুন।