লিনাক্স সবচেয়ে সুরক্ষিত অপারেটিং সিস্টেমগুলোর একটি। সাধারণত, আপনাকে অ্যান্টিভাইরাস দরকার নেই, ফাইলগুলো আপনার অনুমতি ছাড়া এক্সিকিউট হতে পারে না এবং দূরদৃষ্টিপূর্ণ উদ্দেশ্যে লোকদের থেকে আপনাকে রক্ষা করার জন্য অনেক কিছু রয়েছে। একটি সাধারণ টুল যা সিস্টেম অ্যাডমিনিস্ট্রেটর এবং হোম ইউজার দুজনই একসাথে ব্যবহার করেন সেটি হল ফায়ারওয়াল।
সর্বাধিক সাদা রূপে একটি ফায়ারওয়াল শুধু ইনকামিং প্যাকেটগুলো ইন্টারসেপ্ট করে, এবং সেগুলোর সাথে কী করা উচিত সেটি দেখে, তাদের আপনার কম্পিউটারের নির্দিষ্ট অ্যাপ্লিকেশনে পাঠানোর আগে বা অন્યথা ফরওয়ার্ড করার আগে। "সেগুলোর সাথে কী করা উচিত সেটি দেখা" অংশটি ইউজার-ডিফাইনড নেটওয়ার্ক ফায়ারওয়াল রুলস থেকে আসে যা সিদ্ধান্ত নেয় একটি প্যাকেট এক্সেপ্ট করবে কি রিজেক্ট।
লিনাক্স কার্নেলে একটি বিল্ট-ইন ফিল্টারিং সিস্টেম রয়েছে যা একটি সেট রুলের উপর ভিত্তি করে একটি প্যাকেট এক্সেপ্ট বা রিজেক্ট করতে পারে, যা অনুপ্রাণে আমরা চাই। বাকি রয়েছে কীভাবে আমরা এই রুলগুলো স্পেসিফাই করব।
ডিফল্টভাবে, উবুন্টু এবং অন্যান্য লিনাক্স ডিস্ট্রিবিউশন iptables ইউটিলিটি অন্তর্ভুক্ত করে যা নেটওয়ার্ক ফায়ারওয়াল রুল ডিফাইন এবং ম্যানেজ করতে ব্যবহৃত হয় যা কম্পিউটারের মাধ্যমে নেটওয়ার্ক ট্রাফিকে প্রয়োগ করা হয়। iptables-এর বিষয়টি হল কমান্ড লাইন সوییচ এবং অপশনগুলো খুব ক্রিপ্টিক এবং সেটির কমপক্ষে কয়েকশো আছে। অন্য কথায়, এটি ইউজার-ফ্রেন্ডলি বলার কোথাও কাছে নেই।
এখানে একটি সাধারণ iptables রুলের উদাহরণ:
# iptables -A INPUT -s xmail.spammer.ru -d 10.4.5.6 -p tcp --dport 25 -j REJECT
জিনিসগুলো অনেক সহজ হওয়া উচিত, ঠিক না? মানে, উইন্ডোজের জন্য সফ্টওয়্যার আছে যা আউট-অফ-দ-বক্স একটি ফুলি ফাংশনাল ফায়ারওয়াল দেয়, যা আপনি পরে মডিফাই করতে পারেন। এবং অবশ্যই লিনাক্সেও ফায়ারওয়াল সহজে কনফিগার করার জন্য অনেক সফ্টওয়্যার আছে।
UFW & GuFW
উবুন্টু ব্যবহারকারীদের জন্য আছে Uncomplicated Firewall (যাকে UFW-ও বলা হয়)। UFW একটি কমান্ড লাইন ইউটিলিটি, যদিও এর সিনট্যাক্স অনেক সহজ। প্রথম আপনি সকল ইনকামিং/আউটগোइং কানেকশন অ্যালো বা ডেনাই করুন যেন দরকার হয় এবং তারপর নির্বাচিত পোর্টসে, বা নির্দিষ্ট হোস্ট থেকে বা নির্দিষ্ট সার্ভিসের জন্য ট্রাফিক সিলেক্টিভলি এনেবল বা ডিসেবল করুন। হয়তো একটি উদাহরণ বিষয়টি অনেক স্পষ্ট করবে:
ufw allow 8080/tcp পোর্ট ৮০৮০-এ সকল অ্যাক্সেস অ্যালো করে। একইভাবে ufw deny 21 পোর্ট ২১-এ (অথবা FTP-তে) সকল অ্যাক্সেস ডেনাই করে।
UFW-র একটি গ্রাফিক্যাল ফ্রন্টএন্ডও আছে যাকে GuFW বলা হয়। এটি আপনাকে একটি গ্রাফিক্যাল ইন্টারফেস দেয় যা ব্যবহার করে আপনি সবচেয়ে সোফিস্টিকেটেড রুলস তৈরি করতে পারেন, UFW-এর সوییচ এবং অপশনগুলো মনে রাখার কোনো প্রয়োজন ছাড়া। আপনি এটি উবুন্টু সফ্টওয়্যার সেন্টার থেকে ইনস্টল করতে পারেন, অথবা sudo apt-get install gufw কমান্ডটিও ব্যবহার করতে পারেন।
Firestarter
Firestarter আরও একটি জনপ্রিয় টুল, যা লিনাক্স ফায়ারওয়াল কনফিগারেশন অনেক সহজ করে দেয়। আবার আপনি উবুন্টু সফ্টওয়্যার সেন্টারে Firestarter খুঁজে পাবেন এবং ইনস্টল করবেন, অথবা sudo apt-get install firestarter ব্যবহার করুন।
GuFW-এর विपরীতে, যা সিম্পলি UFW ইউটিলিটির একটি GUI ফ্রন্ট-এন্ড, Firestarter অনেক বেশি ফিচার-রিচ এবং ডিফল্টভাবে একটি উইজার্ড মোডে শুরু হয় জিনিসগুলো আপনার জন্য সহজ করার জন্য। উইজার্ড আপনার নেটওয়ার্ক ডিভাইস ডিটেক্ট করে এবং অপশনালি ইন্টারনেট কানেকশন শেয়ারিং এবং সাদৃশ্য জিনিসগুলো সেট আপ করে।
আবার আপনি নেটওয়ার্ক ফায়ারওয়াল রুলস খুব সহজে তৈরি করতে পারেন এবং Firestarter সকল ইন্টারনাল ডিটেইলস হ্যান্ডেল করবে। একটি রুল তৈরি করতে, Policy ট্যাবে যান, সক্রিয় এলিয়ার যেকোনো একটার ভেতরে রাইট-ক্লিক করুন এবং আপনি সেই টাইপের জন্য একটি রুল (অথবা পলিসি) যোগ করতে পারবেন।
নিচের স্ক্রিনে, উদাহরণস্বরূপ, আমি হোস্ট ১৯২.১৬৮.০.৫৬ থেকে ইনবাউন্ড HTTP ট্রাফিক অ্যালো করছি। আপনি চাইলে অপশনাল কমেন্ট যোগ করুন এবং রুলটি যোগ হয়ে যাবে।
লিনাক্স ফায়ারওয়াল কনফিগার করার জন্য এগুলো একমাত্র টুল নয়। অন্যদের আছে ipkungfu এবং shorewall, যেগুলো আপনাকে একই জিনিস করতে দেয়। Firestarter এবং UFW/GuFW সবচেয়ে সাধারণ কিন্তু সহজে ব্যবহারযোগ্য টুলস এই কাজের জন্য। আপনার হোম কম্পিউটার বা সার্ভারের জন্য ফায়ারওয়াল কনফিগার করার সকল প্রয়োজন আপনার হলে, এগুলো অনেক কষ্ট ছাড়া কাজটি করে দেবে।
আপনি লিনাক্সে ফায়ারওয়াল ব্যবহার করেন? যদি হ্যাঁ, তবে কী টুল বা ইউটিলিটি ব্যবহার করেন?