উবুন্টু সার্ভারে ফায়ারওয়াল কীভাবে সেট আপ করবেন
প্রকাশিত: ১৫ ফেব্রুয়ারী, ২০২৫ এ ৯:৩৫:৩০ PM UTC
এই প্রবন্ধে ufw ব্যবহার করে GNU/Linux-এ ফায়ারওয়াল সেটআপ করার কিছু উদাহরণ ব্যাখ্যা করা হয়েছে এবং তা এখানে দেওয়া হয়েছে, যা Uncomplicated FireWall-এর সংক্ষিপ্ত রূপ - এবং নামটিও উপযুক্ত, এটি সত্যিই খুব সহজ একটি উপায় যাতে আপনার প্রয়োজনের চেয়ে বেশি পোর্ট খোলা না থাকে।
How to Set Up a Firewall on Ubuntu Server
এই পোস্টের তথ্য উবুন্টু সার্ভার ১৪.০৪ x৬৪ এর উপর ভিত্তি করে তৈরি। এটি অন্যান্য সংস্করণের জন্য বৈধ হতে পারে আবার নাও হতে পারে। (আপডেট: আমি নিশ্চিত করতে পারি যে এই পোস্টের তথ্য মূলত উবুন্টু সার্ভার ২৪.০৪ এর জন্য বৈধ এবং কার্যকর, তবে মধ্যবর্তী ১০ বছরে, ufw সাধারণ সার্ভার অ্যাপ্লিকেশনের জন্য প্রোফাইল থাকার মাধ্যমে কিছুটা "স্মার্ট" হয়ে উঠেছে (উদাহরণস্বরূপ, আপনি পোর্ট ৮০ এবং ৪৪৩ আলাদাভাবে "Nginx full" সক্ষম করতে পারেন) এবং নতুন নিয়ম প্রয়োগের জন্য সম্পূর্ণ ফায়ারওয়াল অক্ষম/সক্ষম করার আর প্রয়োজন নেই)
যখন আমি প্রথম GNU/Linux (Ubuntu) সার্ভার দিয়ে শুরু করি, তখন ফায়ারওয়াল সেটআপ করার জন্য iptables এর জন্য একটি সম্ভাব্য জটিল কনফিগারেশন ফাইল ম্যানুয়ালি তৈরি এবং রক্ষণাবেক্ষণ করা জড়িত ছিল। যাইহোক, আমি সম্প্রতি ufw আবিষ্কার করেছি, যা Uncomplicated Firewall এর সংক্ষিপ্ত রূপ - এবং এটি আসলে :-)
আমার উবুন্টু সার্ভার ১৪.০৪ ইনস্টলেশনে ইতিমধ্যেই ufw ইনস্টল করা আছে, কিন্তু যদি আপনার ইনস্টল না থাকে, তাহলে কেবল রিপোজিটরি থেকে এটি ইনস্টল করুন:
UFW আসলে এমন একটি টুল যা iptables কনফিগারেশনকে সহজ করে তোলে - পর্দার আড়ালে, এটি এখনও iptables এবং Linux কার্নেল ফায়ারওয়াল যা ফিল্টারিং করে, তাই ufw এর চেয়ে কম বা বেশি নিরাপদ নয়। যাইহোক, যেহেতু ufw সঠিকভাবে ফায়ারওয়াল কনফিগার করা অনেক সহজ করে তোলে, এটি মানুষের ত্রুটির ঝুঁকি কমাতে পারে এবং তাই সম্ভবত অনভিজ্ঞ প্রশাসকদের জন্য আরও নিরাপদ।
যদি আপনার সার্ভারটি IPv6 এবং IPv4 উভয়ের সাথেই কনফিগার করা থাকে, তাহলে নিশ্চিত করুন যে এটি UFW এর জন্যও সক্রিয় আছে। /etc/default/ufw ফাইলটি সম্পাদনা করুন এবং IPV6=yes লেখা একটি লাইন খুঁজুন। আমার ইনস্টলেশনে এটি ইতিমধ্যেই ছিল, কিন্তু যদি এটি না থাকে বা যদি এটি না বলে, তাহলে আপনার এটি সম্পাদনা করা উচিত।
তারপর কমান্ড প্রম্পট ব্যবহার করে আপনি যে পোর্টগুলি খুলতে চান তা সক্রিয় করুন। যদি আপনি ssh এর মাধ্যমে আপনার সার্ভারের সাথে সংযুক্ত থাকেন, তাহলে সেটিও অনুমতি দিতে ভুলবেন না, নাহলে এটি আপনার সংযোগ ব্যাহত করতে পারে এবং এটি সক্রিয় করার সময় আপনাকে আপনার সার্ভার থেকে লক আউট করতে পারে - সার্ভারে আপনার শারীরিক অ্যাক্সেস আছে কিনা তার উপর নির্ভর করে, এটি কিছুটা অসুবিধাজনক হতে পারে ;-)
উদাহরণস্বরূপ, যদি আপনি স্ট্যান্ডার্ড পোর্ট ২২-এ ssh ব্যবহার করেন এবং এমন একটি ওয়েব সার্ভার কনফিগার করেন যা আনএনক্রিপ্টেড (পোর্ট ৮০-তে HTTP) এবং এনক্রিপ্টেড (পোর্ট ৪৪৩-তে HTTPS) উভয় সংযোগ সমর্থন করে, তাহলে ufw কনফিগার করার জন্য আপনাকে নিম্নলিখিত কমান্ডগুলি জারি করতে হবে:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
যদি আপনার আরও নিয়মের প্রয়োজন হয়, তাহলে উপরের মতো করে সেগুলি যোগ করুন।
যদি আপনার একটি স্ট্যাটিক আইপি ঠিকানা থাকে এবং শুধুমাত্র একটি অবস্থান থেকে ssh এর মাধ্যমে সংযোগ করতে সক্ষম হন, তাহলে আপনি ssh সংযোগগুলিকে একটি একক অরিজিন ঠিকানায় সীমাবদ্ধ করতে পারেন যেমন:
অবশ্যই, পরিবর্তে আপনার নিজস্ব আইপি ঠিকানা লিখুন।
হয়ে গেলে, নিম্নলিখিতটি লিখে ufw সক্রিয় করুন:
আর তোমার কাজ শেষ! ফায়ারওয়াল চলছে এবং সার্ভার রিবুট করলে স্বয়ংক্রিয়ভাবে চালু হবে :-)
যদি আপনি ufw কনফিগারেশনে পরিবর্তন করেন, তাহলে সেগুলি কার্যকর করার জন্য আপনাকে এটিকে নিষ্ক্রিয় এবং পুনরায় সক্ষম করতে হতে পারে, যেমন:
sudo ufw enable
বর্তমান কনফিগারেশনটি দেখতে, কেবল লিখুন:
যদি ufw সক্রিয় না থাকে, তাহলে এটি কেবল একটি "নিষ্ক্রিয়" বার্তা দেখাবে, অন্যথায় এটি বর্তমানে সংজ্ঞায়িত নিয়মগুলি তালিকাভুক্ত করবে।