Iptables को कॉन्फ़िगर कैसे करें ताकि फ़िल्टर के रूप में अवांछित पोर्ट की रिपोर्ट न की जाए


9

मैं अपने पोर्ट्स को देखने के लिए दूसरों को रोकना चाहूंगा जैसे कि नैम्प मानक स्कैन (अनप्राइवल्ड) में फ़िल्टर किया गया हो। मान लें कि मेरे पास निम्नलिखित पोर्ट खुले हैं: 22, 3306, 995 और एक फ़ायरवॉल जैसे कॉन्फ़िगर किया गया है:

-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 995 -j DROP

यह एक नैम्प स्कैन का परिणाम है:

[+] Nmap scan report for X.X.X.X

    Host is up (0.040s latency).
    Not shown: 90 closed ports

    PORT     STATE    SERVICE
    22/tcp   filtered ssh
    995/tcp  filtered pop3s
    3306/tcp filtered mysql

यह इन पोर्ट्स को फिल्टर्ड के रूप में प्रदर्शित करता है, क्योंकि मेरे सर्वर ने SYN के लिए RST का उत्तर नहीं दिया था। क्या इस व्यवहार को संशोधित करने का कोई तरीका है? उदाहरण के लिए: यदि iptables फ़ायरवॉल एक पोर्ट को ब्लॉक करता है, तो शेष चुप रहने के बजाय SYN के लिए RST उत्तर दें (कुछ भी उत्तर नहीं दे रहा है)?

जवाबों:


18

DROP का उपयोग न करें, यह आसानी से "फ़िल्टर किए गए" के रूप में पहचाना जाता है यदि आपको पता है कि बॉक्स ऊपर है। इसके बजाय, आप RST भेजने के लिए निम्नलिखित का उपयोग कर सकते हैं। (जैसे कि कोई सेवा सुन रहा हो, लेकिन यह आपसे कनेक्शन स्वीकार नहीं करता है)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT --reject-with tcp-reset

या अन्यथा पोर्ट को बंद दिखने के लिए बस निम्नलिखित का उपयोग करें। (मानो इस पर कोई सेवा नहीं है)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT

9
-A INPUT -p tcp -m tcp --dport 995 -j REJECT --reject-with tcp-reset

आपको वही करना चाहिए जो आप चाहते हैं (RST के साथ उत्तर दें)।

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