IPTables केवल लोकलहोस्ट एक्सेस की अनुमति देता है


58

मैंने iptables पर एक ठोस समझ पाने के लिए पूरे साल संघर्ष किया है। जब भी मैं कोशिश करता हूं और उस आदमी के माध्यम से पढ़ता हूं, मेरी आंखें चमकने लगती हैं।

मेरे पास एक ऐसी सेवा है जिसे मैं केवल लोकलहोस्ट को एक्सेस करने की अनुमति देना चाहता हूं।

क्या शर्तें (या कॉन्फ़िगरेशन, यदि कोई व्यक्ति उदार महसूस कर रहा है) तो क्या मुझे Google को केवल स्थानीयहोस्ट होस्ट को किसी दिए गए पोर्ट तक पहुंचने की अनुमति देने के लिए चाहिए?


2
यह सेवा किस पोर्ट पर चल रही है?
बार्ट डे वोस

44344, इसकी सेवा इन-हाउस में लिखी गई
iptablessuck

1
मैं अस्थायी रूप से 'iptablesrules' के लिए अपने निक को बदलना चाहूंगा, लेकिन मैं नहीं कर सकता
कला शायडरोव

@ फिर, वे केवल इसलिए चूसते हैं क्योंकि मैं उन्हें नहीं समझता :)
iptablessuck

@iptablessuck वास्तव में ऐसा लगता है कि मैं कर सकता हूं। लेकिन मुझे यकीन नहीं है कि मुझे यकीन नहीं है कि मैं इसे वापस बदल
पाऊंगा

जवाबों:


65

यदि सेवा द्वारा आप एक विशिष्ट बंदरगाह का मतलब है, तो निम्नलिखित दो लाइनें काम करना चाहिए। आप जिस भी पोर्ट को प्रतिबंधित करने का प्रयास कर रहे हैं, उसे "25" बदलें।

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

1
"लोकलहोस्ट से पोर्ट 25 पर आने वाली कोई भी चीज़, स्वीकार करें" और दूसरा नियम कहता है "पोर्ट 25 में आने वाली किसी भी चीज़ को छोड़ें"। पहली पंक्ति को पहले संसाधित किया जाता है, जिससे लोकलहोस्ट की अनुमति मिलती है, और दूसरी पंक्ति द्वारा कुछ और गिरा दिया जाएगा। हाँ?
iptablessuck

यह सही है!
ह्यपी

4
@ हाय, आप इसे "पूर्ववत" कैसे करेंगे?
परीक्षक

10
@tester उन आदेशों फिर से टाइप करें, लेकिन बदलने के -Aसाथ-D
pepoluan

1
@Astronaut प्रकार 'sudo सेवा iptables' को बचाने के लिए परिवर्तनों को सहेजता है। फिर रिबूट। आप यह जांच सकते हैं कि क्या परिवर्तन 'sudo iptables -L' टाइप करके बचाए गए हैं
विनायक

30

मैं सुझाऊंगा:

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

क्योंकि, स्व-संबोधित पैकेट में जरूरी नहीं कि इसके स्रोत के रूप में 127.0.0.1 हो, लेकिन वे सभी loइंटरफ़ेस से 'एंटर' करते हैं ।

अब, यदि आप वास्तवiptables में पहली चीज को समझना चाहते हैं , तो आपको netfilterतालिकाओं के संबंधों को समझाते हुए अच्छे आरेखों को डाउनलोड और प्रिंट करना चाहिए । यहाँ दो महान हैं:

अंत में, iptablesHOWTO का एक बहुत कुछ पढ़ें । व्यावहारिक उदाहरण आपको वास्तविक त्वरित गति प्राप्त करने में मदद करेंगे :)


Ty! loइस लिंक cyberciti.biz/faq/howto-display-linux-iptables-loaded-rules से अंतिम आदेश के साथ इन कमांड का उपयोग करने के बाद मेरे लिए दिखाता हैiptables -L -v -n --line-numbers

2
@ ग्रेचूस मुझे इसे इस्तेमाल करने में बहुत आसान लगता है iptables-save, आउटपुट को किसी फाइल में सेव करना, इसे एडिट करना vimया emacs, और एडिट की हुई फाइल को फिर से इस्तेमाल करनाiptables-apply
pepoluan

मुझे लगता है कि उपयोग के मामले पर निर्भर करता है, दूसरे नियम को स्पष्ट रूप से चुपचाप छोड़ने के बजाय स्पष्ट रूप से अस्वीकार करना चाहिए। क्या यह चुपचाप एक सर्वोत्तम अभ्यास के रूप में गिरा दिया गया है? उपयोग करने के लिए सुरक्षित सुरक्षित है?
श्री डूमस्बस्टर

1
@ तकनीक-प्रो हां, REJECT उपयोग करने के लिए सुरक्षित है। यह इस बात पर निर्भर करता है कि आप क्या हासिल करने की कोशिश कर रहे हैं और क्या आप पोर्ट का इस्तेमाल करने की कोशिश कर रहे लोगों के लिए विनम्र होना चाहते हैं। REJECT क्लाइंट को यह कहते हुए एक टीसीपी RST पैकेट वापस भेज देगा कि मशीन ऊपर है, लेकिन पोर्ट बंद है। यदि आप एक पोर्ट को बंद कर रहे हैं, जिसे लोग वैध रूप से उपयोग करने की उम्मीद कर सकते हैं, तो REJECT अच्छा है। यदि आप केवल पोर्ट स्कैनर की उम्मीद करते हैं तो डीआरओपी बेहतर है।
Law29

1
@ x-yuri उदाहरण के लिए, मैं unboundDNS कैश के रूप में, के सामने दौड़ता हूं dnscrypt-proxyunboundबांधता है 127.0.53.1:53, और dnscrypt-proxyबांधता है 127.0.53.2:53। जब कोई ऐप किसी FQDN को हल करने के लिए अनबाउंड या dnscrypt- प्रॉक्सी का अनुरोध करता है, तो अनुमान लगाएं कि स्रोत का पता अनबाउंड / dnscrypt- प्रॉक्सी से क्या प्रतिक्रिया देगा?
पेपोलुआन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.