কিভাবে IPtables দিয়ে লিনাক্সে ফায়ারওয়াল কনফিগার করবেন

iptable লিনাক্স

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

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

লিনাক্সে IPtables, আপনার যা জানা দরকার

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

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

  1. আমাদের যা করতে হবে তা হল প্যাকেজটি ইনস্টল করা। বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনে এটি ডিফল্টরূপে ইনস্টল করা থাকে, তবে এটি এমন কিছু যা সবসময় হয় না। আমাদের অপারেটিং সিস্টেমে IPtables ইনস্টল করা আছে কিনা তা খুঁজে বের করার জন্য, আমরা একটি টার্মিনাল খুলি এবং লিখি iptables -v. আমার ক্ষেত্রে এবং এই নিবন্ধটি লেখার সময়, আমার টার্মিনাল আমাকে ফেরত দেয় iptable v1.8.8. যদি এটি ইনস্টল করা না থাকে তবে এটি এর সাথে ইনস্টল করা যেতে পারে:

উবুন্টু/ডেবিয়ান বা ডেরিভেটিভস:

sudo apt iptables ইনস্টল করুন

ফেডোরা/রেডহাট বা ডেরিভেটিভস:

sudo yum iptables ইনস্টল করুন

আর্কিটেকচার লিনাক্স এবং ডেরিভেটিভস

sudo pacman -Siptables

ইনস্টলেশনের পরে, এটি এর সাথে সক্ষম হবে:

sudo systemctl iptables সক্ষম করুন sudo systemctl শুরু iptables

এবং আপনি এর স্থিতি দেখতে পারেন:

sudo systemctl অবস্থা iptables
  1. ইতিমধ্যেই ইনস্টল করা ফায়ারওয়ালের সাথে, আপনাকে এর নিয়মগুলি কনফিগার করতে হবে। IPtables নিয়মগুলিকে টেবিলে বিভক্ত করা হয়েছে (যা আমরা এই নিবন্ধে পরে আরও বিশদে আলোচনা করব): ফিল্টার, ন্যাট এবং ম্যাঙ্গেল, যাতে আমাদের অবশ্যই কাঁচা এবং সুরক্ষা যোগ করতে হবে। ফিল্টার টেবিলটি ইনকামিং এবং আউটগোয়িং ট্র্যাফিক নিয়ন্ত্রণ করতে ব্যবহৃত হয়, ন্যাট টেবিলটি NAT (নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন) করতে এবং ম্যাঙ্গেল টেবিলটি আইপি প্যাকেট পরিবর্তন করতে ব্যবহৃত হয়। ফিল্টার টেবিলের নিয়মগুলি কনফিগার করতে, নিম্নলিখিত কমান্ডগুলি ব্যবহার করা হয়:
  • iptables -একটি ইনপুট -j গ্রহন করুন (সমস্ত আগত ট্র্যাফিকের অনুমতি দিন)।
  • iptables -A OUTPUT -j ACCEPT (সমস্ত বহির্গামী ট্রাফিকের অনুমতি দিন)।
  • iptables -A FORWARD -j ACCEPT (সমস্ত রাউটিং ট্রাফিকের অনুমতি দিন)। যাইহোক, এই কনফিগারেশন সমস্ত ট্রাফিকের অনুমতি দেয়, এবং একটি উত্পাদন সিস্টেমের জন্য সুপারিশ করা হয় না। সিস্টেমের নির্দিষ্ট চাহিদার উপর ভিত্তি করে ফায়ারওয়াল নিয়ম উল্লেখ করা গুরুত্বপূর্ণ। উদাহরণস্বরূপ, আপনি যদি পোর্ট 22 (SSH) এ ইনকামিং ট্র্যাফিক ব্লক করতে চান তবে আপনি কমান্ডটি ব্যবহার করতে পারেন:
iptables -A INPUT -p tcp -dport 22 -j ড্রপ
  1. আরেকটি গুরুত্বপূর্ণ বিষয় হল সেটিংস সংরক্ষণ করা, যাতে সিস্টেমটি পুনরায় বুট করার সময় সেগুলি হারাতে না পারে। উবুন্টু এবং ডেবিয়ানে "iptables-save" কমান্ডটি একটি ফাইলে বর্তমান কনফিগারেশনগুলি সংরক্ষণ করতে ব্যবহৃত হয়। Red Hat এবং Fedora-এ, "service iptables save" কমান্ডটি কনফিগারেশন সংরক্ষণ করতে ব্যবহৃত হয়। আপনি কোনটি ব্যবহার করবেন তা নিয়ে সন্দেহ থাকলে, উবুন্টু/ডেবিয়ান কমান্ডগুলি আরও বিতরণে কাজ করে।

রিবুট করার পরে কনফিগারেশন লোড করুন

পাড়া সংরক্ষিত সেটিংস লোড করুন, সেগুলি সংরক্ষণ করতে ব্যবহৃত একই কমান্ডগুলি ব্যবহার করা হয়, তবে "সংরক্ষণ" এর পরিবর্তে "পুনরুদ্ধার" ক্রিয়া সহ। উবুন্টু এবং ডেবিয়ানে, "iptables-restore" কমান্ডটি একটি ফাইল থেকে সংরক্ষিত কনফিগারেশন লোড করতে ব্যবহৃত হয়। Red Hat এবং Fedora-এ, "service iptables restore" কমান্ডটি সংরক্ষিত কনফিগারেশন লোড করতে ব্যবহৃত হয়। আবারও, কোন কমান্ড ব্যবহার করতে হবে তা নিয়ে আপনার সন্দেহ থাকলে, উবুন্টু/ডেবিয়ান কমান্ড সাধারণত সবচেয়ে ভালো কাজ করে।

এটি লক্ষ্য করা গুরুত্বপূর্ণ যে ফায়ারওয়াল সেটিংসে পরিবর্তন করা হলে, পরিবর্তনগুলি কার্যকর করার জন্য সেগুলি সংরক্ষণ এবং পুনরায় লোড করতে হবে। এটি নতুন ডেটা দিয়ে কনফিগারেশন ফাইল ওভাররাইট করার একটি উপায়, এবং যদি এটি এইভাবে না করা হয় তবে পরিবর্তনগুলি সংরক্ষণ করা হবে না।

আইপিটেবলে টেবিল

সেখানে 5 ধরনের আছে আঁকা IPTables-এ এবং প্রতিটিতে আলাদা আলাদা নিয়ম প্রয়োগ করা হয়েছে:

  • ছাঁকনি : IPTables ব্যবহার করার সময় এটি প্রধান এবং ডিফল্ট টেবিল। এর মানে হল যে নিয়মগুলি প্রয়োগ করার সময় যদি কোনও নির্দিষ্ট টেবিল উল্লেখ না করা হয় তবে নিয়মগুলি ফিল্টার টেবিলে প্রয়োগ করা হবে। এর নাম অনুসারে, ফিল্টার টেবিলের ভূমিকা হল প্যাকেটগুলিকে তাদের গন্তব্যে পৌঁছানোর অনুমতি দেওয়া বা তাদের অনুরোধ অস্বীকার করা।
  • NAT (নেটওয়ার্ক ঠিকানা অনুবাদ): নাম অনুসারে, এই টেবিলটি ব্যবহারকারীদের নেটওয়ার্ক ঠিকানার অনুবাদ নির্ধারণ করতে দেয়। এই টেবিলের ভূমিকা হল উৎস এবং গন্তব্য প্যাকেট ঠিকানা পরিবর্তন করা কিনা এবং কিভাবে তা নির্ধারণ করা।
  • ছিন্ন করা: এই টেবিলটি আমাদের প্যাকেটের আইপি হেডার পরিবর্তন করতে দেয়। উদাহরণস্বরূপ, প্যাকেটটি সমর্থন করতে পারে এমন নেটওয়ার্ক হপগুলিকে লম্বা বা ছোট করার জন্য TTL সামঞ্জস্য করা যেতে পারে। একইভাবে, অন্যান্য আইপি শিরোনামগুলিও আপনার পছন্দ অনুসারে পরিবর্তন করা যেতে পারে।
  • কাঁচা: এই টেবিলের প্রধান ব্যবহার হল সংযোগগুলি ট্রেস করা কারণ এটি একটি চলমান অধিবেশনের অংশ হিসাবে প্যাকেটগুলি দেখতে প্যাকেটগুলিকে চিহ্নিত করার জন্য একটি প্রক্রিয়া প্রদান করে৷
  • নিরাপত্তা: নিরাপত্তা টেবিল ব্যবহার করে, ব্যবহারকারীরা নেটওয়ার্ক প্যাকেটে অভ্যন্তরীণ SELinux নিরাপত্তা প্রসঙ্গ ফ্ল্যাগ প্রয়োগ করতে পারে।

শেষ দুটি টেবিল খুব কমই ব্যবহার করা হয়, এই পয়েন্টে যে বেশিরভাগ ডকুমেন্টেশন শুধুমাত্র ফিল্টার, ন্যাট এবং ম্যাঙ্গেল সম্পর্কে কথা বলে।

সাহায্য ফাইলে আমরা কিভাবে IPtables পরিচালনা করতে হয় তার উদাহরণ খুঁজে পেতে পারি। এটি দেখতে, আমরা একটি টার্মিনাল খুলব এবং টাইপ করব iptables -h.

যদিও iptables লিনাক্সের জন্য সেরা বিকল্পগুলির মধ্যে একটি, আপনি যদি গ্রাফিকাল ইন্টারফেসের সাথে সহজ কিছু পছন্দ করেন তবে আপনি একবার দেখে নিতে পারেন Firewalld.


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়ী: AB ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।