আমি আমার সার্ভারে 79৩79৯ বন্দরটিতে অ্যাক্সেস আটকাতে চাই, তবে আমি এখনও এটি অভ্যন্তরীণভাবে সংযোগ করতে চাই। রেডিস-সার্ভার অ্যাপ্লিকেশনটি সেই বন্দরে চলে এবং আমি কেবলমাত্র এটিতে স্থানীয়ভাবে সংযুক্ত হতে চাই (127.0.0.1)। কিভাবে আমি এটি করতে পারব?
আমি আমার সার্ভারে 79৩79৯ বন্দরটিতে অ্যাক্সেস আটকাতে চাই, তবে আমি এখনও এটি অভ্যন্তরীণভাবে সংযোগ করতে চাই। রেডিস-সার্ভার অ্যাপ্লিকেশনটি সেই বন্দরে চলে এবং আমি কেবলমাত্র এটিতে স্থানীয়ভাবে সংযুক্ত হতে চাই (127.0.0.1)। কিভাবে আমি এটি করতে পারব?
উত্তর:
এটি করার জন্য, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার আইপিটিবেলগুলি সঠিকভাবে কনফিগার করা হয়েছে। উবুন্টু সাধারণত তাদের সার্ভারগুলি ডিফল্টরূপে খোলা রেখে দেয়, এ কারণেই আমি এখনও সার্ভার হিসাবে তাদের ব্যবহারের পরামর্শ দিই না যদি না আপনি ইতিমধ্যে এটি কীভাবে সঠিকভাবে করবেন সে সম্পর্কে যথেষ্ট অবগত না হন।
আমি ভাবছি আপনার iptables -L -nv
চেহারাটি এরকম কিছু, হ্যাঁ?
# iptables -L -nv
Chain INPUT (policy ACCEPT 4M packets, 9M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 8M packets, 4M bytes)
pkts bytes target prot opt in out source destination
এটি খালি এবং এটি প্রশস্ত খোলা। উবুন্টু আইপেটেবলস হাওটো সম্ভবত এটির জন্য বেশ খানিকটা সহায়তা করবে। ( https://help.ubuntu.com/commune/IptablesHowTo )
আমি এই জাতীয় কিছু প্রস্তাব দিচ্ছি যা কোনও ইন্টারফেসে এসএসএইচকে অনুমতি দেয় এবং কোনও ইন্টারফেসকে 6379 টিসিপি দেয় তবে আপনি চান না:
*filter
:INPUT DROP [92:16679]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [203:36556]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -i lo -p udp -m udp --dport 6379 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
COMMIT
তারপরে আপনি এই ফাইলটি /etc/iptables.rules এ সংরক্ষণ করতে পারবেন।
স্পষ্টতই, অন্য যে কোনও বন্দরগুলি আপনি বিশেষভাবে খুলতে চান তা যুক্ত করা উচিত।
দ্রষ্টব্য: আমি স্বচ্ছতার জন্য নির্দিষ্ট 79৩79৯ টি লাইন যুক্ত করেছি। কমিমিটের ঠিক নীচে নীচে এসিসিপিটি আসলে এটির অনুমতি দেবে কারণ সঠিক ক্রিয়াকলাপের জন্য লিনাক্স সিস্টেমে সমস্ত লুপব্যাক সংযোগের অনুমতি থাকতে হবে।
আপনার / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস ফাইলগুলিতেও বিধিগুলি রাখতে হবে, যাতে ইন্টারফেসটি আসে যখন বুট প্রক্রিয়াতে আসে না এবং পরে যুক্ত হয় তা নিশ্চিত করার জন্য। এর মতো কিছু যুক্ত করার পরামর্শ দেওয়া হচ্ছে:
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
সম্পাদনা: প্রাথমিকভাবে এই কনফিগারেশনটি লোড করতে আপনাকে উপরে iptables-بحال কমান্ডটি রেফারেন্স করতে হবে:
iptables-restore < /etc/iptables.rules
ঠিক আছে, আমি "জটিল জটিল ফায়ারওয়াল" (ইউএফডাব্লু) ব্যবহার করার পরামর্শ দেব, যা ক্যানোনিকাল দ্বারাও প্রস্তাবিত। কেবলমাত্র মাঝেমধ্যে পোর্ট লকিংয়ের জন্য iptables পড়া এবং লেখা খুব জটিল।
এখানে দেখুন: https://wiki.ubuntu.com/UncomplicatedFirewall
কিছুটা এইরকম
iptables -A INPUT -s 0.0.0.0 -i eth0 --protocol tcp --dport 6379 -j DROP
কাজ করা উচিত.