আমি উবুন্টুতে বাইরের ট্র্যাফিকের জন্য কীভাবে পোর্ট 63 6379৯ ব্লক করতে পারি?


8

আমি আমার সার্ভারে 79৩79৯ বন্দরটিতে অ্যাক্সেস আটকাতে চাই, তবে আমি এখনও এটি অভ্যন্তরীণভাবে সংযোগ করতে চাই। রেডিস-সার্ভার অ্যাপ্লিকেশনটি সেই বন্দরে চলে এবং আমি কেবলমাত্র এটিতে স্থানীয়ভাবে সংযুক্ত হতে চাই (127.0.0.1)। কিভাবে আমি এটি করতে পারব?

উত্তর:


11

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

আমি ভাবছি আপনার 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

আমি ধরে নিয়েছি এটি পুরো ওয়েবের জন্য 79৩79৯ বন্দরটি খুলবে? 127.0.0.1 এর জন্য এই উন্মুক্ত করতে আমার কী করা উচিত?
স্টিভ

না, কারণ ডিফল্ট নিয়মটি DROP- এ। যদি এটির স্পষ্ট ACCEPT নিয়ম না থাকে তবে এটি ডিফল্ট DROP দ্বারা পাশেই অবরোধ করা হবে: শীর্ষে INPUT।
ম্যাগেলান

ব্যক্তিগতভাবে, আমি মনে করি ডিফল্ট এসিসিপিটি নিয়মটি "সার্ভার" মোতায়েনের ক্ষেত্রে কেবল অপরাধী। তবে এটি অবাক করার মতো নয় যেহেতু উবুন্টু প্রথম এবং সর্বাগ্রে একটি ডেস্কটপ বিতরণ।
ম্যাগেলান

ঠিক আছে, আপনি ঠিক যেমনটি অনুরোধ করেছিলেন ঠিক তেমনই করেছি, তবে মনে হচ্ছে আমি এখনও বাইরে থেকে 7979 63৯ বন্দরটিতে সংযোগ করতে পারি। আমি কি সার্ভারটি রিবুট করব নাকি কিছু?
স্টিভ

1
হ্যাঁ, তবে আমি কাউন্টারগুলি সম্পর্কে খুব বেশি যত্ন নিই না এবং এটি আমার পক্ষে কাজ করে। আরও কঠোর প্রক্রিয়া ফিট করতে উত্তরটি মুক্ত মনে করুন Fe
ম্যাগেলান

3

ঠিক আছে, আমি "জটিল জটিল ফায়ারওয়াল" (ইউএফডাব্লু) ব্যবহার করার পরামর্শ দেব, যা ক্যানোনিকাল দ্বারাও প্রস্তাবিত। কেবলমাত্র মাঝেমধ্যে পোর্ট লকিংয়ের জন্য iptables পড়া এবং লেখা খুব জটিল।

এখানে দেখুন: https://wiki.ubuntu.com/UncomplicatedFirewall


1
ইউএফডাব্লু এর পুরানো সংস্করণগুলিতে নির্বাচিত বন্দরগুলিতে বিধি প্রয়োগ করার ক্ষমতা ছিল না, এটি সব কিছুই বা কিছুই ছিল না। এবং পেশাদার সিসাদমিনদের তাদের iptables সেটিংস কী করে এবং চেইনগুলি কীভাবে কাজ করে তা বোঝার অভ্যাস করা উচিত।
ম্যাগেলান

2

কিছুটা এইরকম

iptables -A INPUT -s 0.0.0.0  -i eth0 --protocol tcp --dport 6379 -j DROP

কাজ করা উচিত.


এটি আমাকে এই ত্রুটিটি দেয়: iptables v1.4.4: অজানা বিকল্প `--dport '
স্টিভ

আপনি নতুন কমান্ড দিয়ে আবার চেষ্টা করতে পারেন? আমি --প্রোটোকল এবং -i অংশ যুক্ত করেছি (আপনার ইন্টারফেসের সাথে অভিযোজিত), এটি এখন কাজ করা উচিত।
কেদারে

আমার এই পরামর্শটি নিয়ে সমস্যাটি হ'ল অন্যান্য প্রয়োজনীয় কমান্ডগুলি চালিত না হওয়া পর্যন্ত এটি রিবুটগুলি জুড়ে সংরক্ষণ করে না এবং এটি ধরে নিয়েছে যে কেবলমাত্র 1 টি নন-লুপব্যাক ইন্টারফেস রয়েছে।
ম্যাগেলান

আমি নেগেশন অপারেটরটি ব্যবহার করার পরামর্শ দেব: -i! লো
ম্যাগেলান

অ্যাড্রিয়ান: আপনার মানে আমি যদি সার্ভারটি রিবুট করি তবে সেই পরিবর্তনটি আর সক্রিয় থাকবে না?
স্টিভ

0

Redis এর নতুন সংস্করণে জন্য আপনি ব্যবহার করতে পারেন bind 127.0.0.1মধ্যে redis.confঅতিরিক্ত iptables- র কনফিগারেশন ছাড়া সরাসরি এই কাজ করতে

দেখতে এই নিবন্ধটি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.