iptables, नियमों का क्रम - क्या मैं इसे सही समझता हूं?


17

मैं अपने VPS को इस तरह से कॉन्फ़िगर करना चाहूंगा कि यह केवल पोर्ट 22 पर बाहर से कनेक्शन स्वीकार करता है (जहां sshd सुनता है) और ICMP अनुरोध। बाहर से बाकी सभी चीजों को खारिज कर दिया जाना चाहिए। सर्वर के अंदर, सब कुछ अनुमति दी जानी चाहिए। क्या निम्नलिखित नियम वांछित व्यवहार बनाते हैं?

iptables -A INPUT --jump ACCEPT --protocol all   --source 127.0.0.1
iptables -A INPUT --jump ACCEPT --protocol tcp   --dport 22
iptabels -A INPUT --jump ACCEPT --protocol icmp
iptables -A INPUT --jump ACCEPT --match state    --state ESTABLISHED,RELATED
iptables -A INPUT --jump REJECT --protocol all

मुझे पूरी तरह से यकीन नहीं है कि अगर ACCEPT नियम अंतिम समग्र परिणाम पर "जीत" लेंगे


1
आपको यह --source 127.0.0.1निर्धारित करने के लिए उपयोग नहीं करना चाहिए कि क्या पैकेट स्वीकार करने के लिए सुरक्षित है। देखें serverfault.com/a/825231/4131
ब्रूनो Bronosky

जवाबों:


20

तुम सही हो।

नियमों को फ़ाइल के लाइन ऑर्डर में संसाधित किया जाएगा। यदि किसी नियम के लिए मैच है तो आपके मामले में उस IP पैकेट के लिए कोई अन्य नियम संसाधित नहीं किए जाएंगे।

http://en.wikipedia.org/wiki/Iptables

श्रृंखला के प्रत्येक नियम में विनिर्देश होता है कि वह किस पैकेट से मेल खाता है। इसमें एक लक्ष्य (एक्सटेंशन के लिए प्रयुक्त) या निर्णय (अंतर्निहित निर्णयों में से एक) हो सकता है। एक पैकेट एक चेन का पता लगाता है, बदले में प्रत्येक नियम की जांच की जाती है। यदि कोई नियम पैकेट से मेल नहीं खाता है, तो पैकेट को अगले नियम में पास कर दिया जाता है। यदि कोई नियम पैकेट से मेल खाता है, तो नियम लक्ष्य / निर्णय द्वारा इंगित कार्रवाई करता है, जिसके परिणामस्वरूप पैकेट को चेन के साथ जारी रखने की अनुमति दी जा सकती है या यह नहीं हो सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.