কীভাবে ব্যবহার করবেন
- ওয়েব সার্ভার (SSH, HTTP, HTTPS)-এর মতো একটি টেমপ্লেট বেছে নিন, অথবা নিয়মগুলো সরাসরি সম্পাদনা করুন।
- প্রতিটি নিয়মে পোর্ট, প্রোটোকল, উৎস ঠিকানা (যেকোনো জায়গার জন্য খালি রাখুন) এবং অনুমতি দিন বা ব্লক করুন দিন।
- আপনার SSH পোর্ট ঠিক করুন এবং অন্য সব ইনকামিং ট্রাফিক ব্লক করুন কি না সিদ্ধান্ত নিন।
- আপনার ফায়ারওয়াল বেছে নিয়ে কমান্ডগুলো সার্ভারের root শেলে কপি করে চালান।
অপশনগুলোর ব্যাখ্যা
- পোর্ট
- একটি পোর্ট (22), একটি তালিকা (80,443) বা একটি পরিসর (8000-8100)।
- উৎস
- একটি IPv4 বা IPv6 ঠিকানা বা নেটওয়ার্ক, যেমন 203.0.113.0/24। IPv6 উৎস ip6tables-এ যায়।
- অন্য সব ইনকামিং ট্রাফিক ব্লক করুন
- ইনকামিংয়ের ডিফল্ট নীতি প্রত্যাখ্যানে সেট করে। আউটগোয়িং ট্রাফিক অনুমোদিত থাকে।
আউটপুটের উদাহরণ
তিনটি নিয়ম, SSH পোর্ট 22-এ এবং ডিফল্ট নীতি deny: SSH শুধু 203.0.113.5 থেকে অনুমোদন, যেকোনো জায়গা থেকে TCP পোর্ট 80 ও 443 অনুমোদন, এবং 198.51.100.0/24 থেকে পোর্ট 25 ব্লক। ব্লকের নিয়মটি প্রথমে লেখা হয়, কারণ প্রথম যে নিয়ম মেলে সেটিই কার্যকর হয়।
# ufw
ufw default deny incoming
ufw default allow outgoing
ufw deny from 198.51.100.0/24 to any port 25 proto tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw allow 80,443/tcp
ufw enable
# iptables
iptables -A INPUT -p tcp -s 198.51.100.0/24 --dport 25 -j DROP
iptables -A INPUT -p tcp -s 203.0.113.5 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -P INPUT DROP
firewalld-এ সবার জন্য খোলা পোর্টে --add-port ব্যবহার হয়, আর সোর্স আছে এমন বা ব্লকের নিয়মে rich rule ব্যবহার হয়। একমাত্র SSH নিয়মে সোর্স ঠিকানা থাকায় firewalld কমান্ডগুলো জোন থেকে ডিফল্ট ssh সার্ভিসও সরিয়ে দেয়। এই ধাপ ছাড়া জোন তখনও সবাইকে পোর্ট 22-এ ঢুকতে দিত।
সচরাচর জিজ্ঞাসিত প্রশ্ন
নিজে লক হয়ে যাওয়া কীভাবে এড়াব?
আপনার SSH পোর্টকে অনুমতি দেয় এমন একটি নিয়ম রাখুন, আর SSH কিছু নির্দিষ্ট IP-তে সীমিত করলে আগে আপনার বর্তমান IP দেখে নিন। ক্লাউড প্রদানকারীর ওয়েব কনসোল খোলা রাখলে ফেরার একটি পথ থাকে।
পোর্ট খুলেছি তবু সংযোগ হচ্ছে না, কেন?
ক্লাউড সার্ভারে প্রদানকারীর কনসোলেও সাধারণত একটি সিকিউরিটি গ্রুপ বা নেটওয়ার্ক ফায়ারওয়াল থাকে; পোর্ট সেখানেও খোলা থাকতে হবে। সার্ভিসটি ওই পোর্টে শুনছে কি না তাও দেখুন, যেমন ss -tlnp দিয়ে।
আমার সার্ভার কোন ফায়ারওয়াল ব্যবহার করে?
Ubuntu ও Debian সাধারণত ufw ব্যবহার করে; RHEL, Rocky, AlmaLinux ও CentOS ব্যবহার করে firewalld। দুটিই কার্নেল ফায়ারওয়ালের ফ্রন্ট-এন্ড, তাই যেকোনো একটি ব্যবহার করুন এবং সরাসরি iptables কমান্ড মেশাবেন না।
গোপনীয়তা
এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।