कैसे जांच करें कि फ़ायरवॉल पोर्ट के लिए खोला गया है लेकिन पोर्ट पर नहीं सुन रहा है


29

हम एक नए एप्लिकेशन को एक सर्वर पर तैनात करेंगे और एप्लिकेशन पोर्ट 8443 पर सुन रहा होगा। हमने नेटवर्क टीम को एप्लिकेशन को तैनात करने से पहले उस सर्वर पर पोर्ट 8443 के लिए फ़ायरवॉल खोलने के लिए कहा है। वर्तमान में सर्वर पर उस विशेष पोर्ट पर सुनने वाला कोई एप्लिकेशन नहीं है।

वैसे भी मैं यह सुनिश्चित कर सकता हूं कि पोर्ट 8443 के लिए फ़ायरवॉल खोला गया है

ओएस: लिनक्स / विंडोज

जवाबों:


16

यदि आप यह देखना चाहते हैं कि क्या आप रिमोट मशीन से एक टीसीपी कनेक्शन बना सकते हैं, तो उस पर ओपनसीएसडब्ल्यू और लक्ष्य मशीन स्थापित करें और दोनों पर नेटकाट स्थापित करें। टीसीपी कनेक्शन का परीक्षण करने के लिए नेटकाट का उपयोग करने के लिए यह वाक्यविन्यास है:

nc -vz targetServer portNum

उदाहरण के लिए SSH को "homeServer1" पर जाँचें:

nc -vz homeserver1 22

यह आपको दूरस्थ प्रणाली से टीसीपी-स्तरीय कनेक्टिविटी का परीक्षण करने में सक्षम बनाता है। Netcat को क्लाइंट के रूप में कार्य करने के बजाय पोर्ट पर सुनने के लिए भी कॉन्फ़िगर किया जा सकता है। टीसीपी / 8443 पर इसे सुनने के लिए:

सर्वर पर जो एप्लिकेशन को रखेगा: nc -l homeserver1 8443

फ़ायरवॉल के बाहर बैठने वाली मशीन पर: nc -vz homeserver.fqdn 8443

यह एक सफल निष्पादन का एक उदाहरण है:

[jadavis6@ditirlns01 ~]$ nc -vz ditirlns01.ncat.edu 8443
Connection to ditirlns01.ncat.edu 8443 port [tcp/pcsync-https] succeeded!

एक असफल निष्पादन:

[jadavis6@ditirlns01 ~]$ nc -vz ditirlns01.ncat.edu 8443
nc: connect to ditirlns01.ncat.edu port 8443 (tcp) failed: Connection refused

यह (काफी) इस सवाल को हल नहीं करता है कि क्या कोई फ़ायरवॉल पोर्ट को ब्लॉक कर रहा है। ऐसा लगता है कि ncपोर्ट के सुलभ होने पर "कनेक्शन ने इनकार कर दिया" रिपोर्ट करता है, लेकिन कोई श्रोता नहीं है, और "नेटवर्क पहुंच योग्य नहीं है" जब अनुरोध फ़ायरवॉल के माध्यम से icmp द्वारा बाउंस किया गया है (जिसका अर्थ है कि पोर्ट पर कोई सेवा हो सकती है या नहीं भी हो सकती है) )। यदि फ़ायरवॉल पैकेट को वास्तव में अस्वीकार करने के बजाय छोड़ देता है, ncतो बस थोड़ी देर के लिए लटका रहेगा।
गोल्डीलॉक्स

अच्छी तरह से अंतिम नेटकैट कमांड के साथ मेरा लक्ष्य सिर्फ एक उदाहरण प्रदान करना था कि सफल निष्पादन और असफल निष्पादन उन्हें अपने अंत पर किसी भी परिणाम की व्याख्या करने में मदद करने के लिए यदि यह किसी कारण से उनके लिए अस्पष्ट था। जो भाग उनके प्रश्न का उत्तर देता है वह पहला "मशीन पर" / "सर्वर पर" भाग होता है।
ब्राचली

मुझे पता है कि सवाल सोलारिस 10 के बारे में था, लेकिन एक FYI के रूप में, v11 के रेपो में नेटकाट उपलब्ध है।
स्लीपवाइज़ेल

15

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

आप यह देखने के लिए बाहर से परीक्षण कर सकते हैं कि कोई पोर्ट फ़ायरवॉल के माध्यम से उपलब्ध है या नहीं, यदि ऐसा है, तो उस पर कुछ भी सुनना है। यहां तीन अलग-अलग परिदृश्य हैं, जिसमें एक tcp अनुरोध शामिल है जिसे आप wiresharkया किसी अन्य पैकेट स्निफर के साथ देख सकते हैं , और आप जो देखेंगे:

1) फ़ायरवॉल अनुरोध को अस्वीकार करता है

आपको एक ICMP संदेश वापस मिल जाता है, और अनुरोध करने वाले उपकरण को तुरंत आपको इस आशय के बारे में कुछ बताना चाहिए ("अगम्य, व्यवस्थापक निषिद्ध" आदि)। "टूल" से मेरा तात्पर्य उस ग्राहक से है जो आप अनुरोध भेजने के लिए उपयोग कर रहे हैं (मैंने उपयोग किया telnet)। संदेश 1 का विवरण इस बात पर निर्भर करता है कि फ़ायरवॉल कैसे कॉन्फ़िगर किया गया है, लेकिन "पोर्ट अनुपलब्ध" शायद सबसे आम है।

"होस्ट करने के लिए कोई मार्ग नहीं" यह संकेत दे सकता है, लेकिन यह अधिक सूक्ष्म रूटिंग मुद्दों को भी इंगित कर सकता है।

2) फ़ायरवॉल पैकेट गिराता है

कोई उत्तर नहीं है, इसलिए उपकरण तब तक इंतजार करता है जब तक कि वह बाहर न निकल जाए या आप ऊब न जाएं।

3) फ़ायरवॉल पैकेट की अनुमति देता है (या कोई फ़ायरवॉल नहीं है), लेकिन पोर्ट पर कुछ भी नहीं सुन रहा है।

आपको एक टीसीपी आरएसटी / एसीके संदेश वापस मिलता है। मुझे लगता है कि टीसीपी प्रोटोकॉल को इसकी आवश्यकता है। दूसरे शब्दों में, यदि पोर्ट पर कुछ भी नहीं सुन रहा है, तो ओएस खुद ही यह उत्तर भेजता है। # 1 से केवल एक उपकरण की रिपोर्ट के आधार पर इसे अलग करना मुश्किल हो सकता है, क्योंकि यह दोनों मामलों में एक ही बात कह सकता है (हालांकि, सबसे शायद इसे अलग करते हैं क्योंकि "कनेक्शन मना कर दिया" बनाम # 1, "नेटवर्क पहुंच से बाहर" )। ग्राहक मशीन पर एक पैकेट स्निफर में देखा गया, परिदृश्य # 1 (ICMP अस्वीकार संदेश) और # 3 (टीसीपी RST / ACK संदेश) स्पष्ट रूप से अलग हैं।

यहां एकमात्र एकमात्र विकल्प यह है कि पैकेट को फ़ायरवॉल द्वारा अनुमति दी जाती है और कुछ सुन रहा है, इसलिए आपको एक सफल कनेक्शन मिलता है।

दूसरे शब्दों में: यदि आप # 1 या # 2 प्राप्त करते हैं, तो सामान्य रूप से अपनी नेटवर्किंग को सही तरीके से मानते हुए, इसका मतलब है कि एक फ़ायरवॉल सक्रिय रूप से पोर्ट तक पहुंच को रोक रहा है। # 3 तब होगा जब आपका सर्वर नहीं चल रहा है लेकिन पोर्ट सुलभ है, और निश्चित रूप से (निहित) # 4 एक सफल कनेक्शन है।


  1. जैसे, "पोर्ट अगम्य", "होस्ट निषिद्ध", होस्ट / पोर्ट / एडमिन के विभिन्न अन्य संयोजन और अगम्य / निषिद्ध ; संदेश में इन्हें देखें क्योंकि वे आईपी फ़ायरवॉल के एक स्पष्ट संकेत हैं।

4

आप यह netstatदेखने के लिए कमांड का उपयोग कर सकते हैं कि क्या कोई पोर्ट खुला और सुन रहा है।

उदाहरण

$ netstat -anp | less
Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:41716               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:17500               0.0.0.0:*                   LISTEN      3034/dropbox        
tcp        0      0 0.0.0.0:17501               0.0.0.0:*                   LISTEN      3033/dropbox        
tcp        0      0 127.0.0.1:2143              0.0.0.0:*                   LISTEN      3191/ssh                       
tcp        0      0 127.0.0.1:2025              0.0.0.0:*                   LISTEN      3191/ssh 

आउटपुट प्रक्रियाएँ दिखाता है (स्तंभ सबसे दाईं ओर) जो TCP पोर्ट पर सुन रहे हैं। पोर्ट नंबर वे नंबर होते हैं जो IP पतों के बाद कॉलोन का अनुसरण करते हैं (उदाहरण के लिए 0.0.0.0:111 पोर्ट 111 होगा)।

आईपी ​​पते स्थानीय और विदेशी पते दिखाते हैं । स्थानीय आपकी प्रणाली होगी, जबकि विदेशी या तो आपके टीसीपी पोर्ट से जुड़ने वाले पते होंगे या आप उनके किसी टीसीपी पोर्ट से जुड़ेंगे।

इसलिए पोर्ट 22 के मामले में, मेरे सिस्टम पर ssh डेमॉन चल रहा है, यही कनेक्शन के लिए LISTENING है। एक बार जब कोई sshडेमॉन से जुड़ने का प्रयास करता है, तो वह खुद की एक कॉपी की तलाश करता है और उस कनेक्शन को दूसरे पोर्ट से धक्का देता है, जैसे ही वे आते हैं, टीसीपी पोर्ट 22 को अतिरिक्त कनेक्शन के लिए खुला रखते हैं।


सिर्फ एक FYI करें कि netstat सिंटैक्स बहुत netstat -a -P tcp -f inet | awk '/LISTEN$/ {print $0}'
GNU-

सोलारिस का आदर्श वाक्य "कुछ भी कभी आसान नहीं है" होना चाहिए।
ब्राचली

1

कॉन्फ़िगरेशन और फ़ायरवॉल कॉन्फ़िगरेशन की स्थिति फ़ायरवॉल / OS विशिष्ट है।

आप इसे सर्वर 2 से आज़मा सकते हैं:

nmap server1

आपकी सहायता के लिए धन्यवाद। दुर्भाग्य से यह कमान सोलारिस में नहीं है (या स्थापित नहीं है)। मैं "
नैम्प

@ user1734143 यह शायद "रिपॉजिटरी" या सोलारिस समतुल्य है, लेकिन वैसे भी आप इसे डाउनलोड कर सकते हैं, और यहां से इसे संकलित भी कर सकते हैं
RSFalcon7

@ user1734143 यह OpenCSW के माध्यम से उपलब्ध है, जिसे आपको शायद वैसे भी स्थापित करना चाहिए, आपके प्रशासनिक अनुभव को बहुत आसान बनाता है।
ब्राचली

1

हाल ही में मुझे एक ही अनुरोध मिला है और थ्रेड पर आया हूं। मैं nc कमांड के साथ एफडब्ल्यू पर खुले बंदरगाहों को स्कैन करने में सक्षम था, जैसे कि मैं इसके आउटपुट को क्वेरी करता हूं:

nc -v -w 1 -z -s *srcIP destIP port* 2>&1 | grep timed > /dev/null && echo closed || echo open

असल में, अगर मुझे 'टाइम आउट' मिलता है तो इसका मतलब है कि पोर्ट एफडब्ल्यू पर नहीं खुला है।


0

बाहरी होस्ट tcp कनेक्शन स्थापित कर सकते हैं या नहीं यह देखने के लिए आप www.firewallruletest.com जैसे ऑनलाइन टूल का उपयोग कर सकते हैं।

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