NTP को UDP पोर्ट 123 में द्वि-दिशात्मक फ़ायरवॉल एक्सेस की आवश्यकता क्यों है?


17

से परमिट एनटीपी के लिए iptables नियम क्या हैं? :

iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT

इसके अलावा, एनटीपी वेबसाइट से :

... ntpd को विशेषाधिकार प्राप्त यूडीपी पोर्ट 123 के लिए पूर्ण द्विदिश पहुंच की आवश्यकता होती है। ...

मेरा सवाल है, क्यों? किसी व्यक्ति को NTP से परिचित नहीं होने के लिए, यह एक संभावित सुरक्षा छेद की तरह लगता है, खासकर जब मैं अपने क्लाइंट से अपने फ़ायरवॉल में उस पोर्ट को खोलने के लिए कह रहा हूं ताकि मेरे सर्वर अपने समय को सिंक्रनाइज़ रख सकें। क्या किसी के पास एक उचित औचित्य है जो मैं अपने ग्राहक को उन्हें समझाने के लिए दे सकता हूं कि मुझे फ़ायरवॉल में इस पहुंच की आवश्यकता है? मदद की सराहना की है! :)


2
क्या आपने "अनुमति संबंधित / स्थापित" के बारे में भाग पढ़ा है? यदि इस नियम का वर्तमान UDP पोर्ट 123 के लिए सामान्य इनपुट नियम की कोई आवश्यकता नहीं है।
VMai

1
क्या यह वास्तव में एक संभावित सुरक्षा छेद है? यह एनोटेन दोहराया वाक्यांश है जो मुझे लगता है कि अर्थहीन है। यह 2014 है, विशेष गुणों के साथ 1024 से कम बंदरगाहों को लागू नहीं करने और स्पष्ट रूप से आवश्यक सभी ट्रैफ़िक को अवरुद्ध करने का समय नहीं है। आप इंटरनेट पर कुछ मेजबानों से एक-एक मशीन खोल रहे हैं।
dfc

मैं सहमत हूं, यह वास्तव में एक संभावित सुरक्षा छेद नहीं है, लेकिन मैं वित्तीय उद्योग में काम करता हूं और लोग हमेशा "कुछ हो जाता है" के मामले में फायरवॉल खोलने से घबराते हैं। यह हमेशा हाथ पर एक अच्छा औचित्य रखने के लायक है, साथ ही मैं खुद के जवाब के बारे में उत्सुक हूं - क्या समय अद्यतन भेजने के लिए अपने ग्राहकों के लिए वास्तव में आउटगोइंग कनेक्शन बनाने के लिए एक समय सर्वर पर ntpd है? यह अजीब लगता है और विशेष रूप से स्केलेबल नहीं है।
डफजे

मैंने इसे कुछ दिन पहले देखा था, यह आने वाले कनेक्शन के बिना प्रबंधन कर सकता है।
बार्लोप

@VMai व्यक्ति ने कहा कि superuser.com/questions/141772/… पर कोई उदाहरण नहीं दिया, लेकिन मुझे लगता है कि वह आउटगोइंग कनेक्शन, पैकेट उनके भीतर आने को सक्षम करने के लिए था। यह इस अवधारणा से अलग है कि "ntpd को विशेषाधिकार प्राप्त यूडीपी पोर्ट 123 के लिए पूर्ण द्विदिश अभिगम की आवश्यकता होती है ..." जो आने वाले कनेक्शन की तरह लगता है। यदि वह संबंधित / स्थापित का उपयोग करके आवक और जावक की अनुमति देना चाहता था, तो उसे 4 नियमों की आवश्यकता होगी। आने वाले कनेक्शन के लिए 2, आउटगोइंग कनेक्शन के लिए 2।
बार्लोप

जवाबों:


10

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

अन्यथा, एक NTP राज्य की मौजूदगी स्वचालित रूप से निर्धारित करेगी कि क्या आने वाले NTP पैकेट को मौजूदा फ़ायरवॉल स्थिति द्वारा अवरुद्ध या अनुमत किया गया है जिसे हमने शुरू किया था।

iptables-OUTPUT -p udp --sport 123 --dport 123 -j ACCEPT

iptables-IN INUTUT -m राज्य -स्टेट स्थापित, संबंधित -j ACCEPT

कृपया मुझे बताएं कि क्या iptables नियम उचित हैं। मुझे iptables का कोई अनुभव नहीं है। मेरा NTP क्लाइंट मेरे pfSense राउटर पर केवल एक आउटगोइंग अनुमति नियम के साथ सिंक्रनाइज़ रहता है क्योंकि pfSense एक स्टेटफुल फ़ायरवॉल है।


1
यह समझदार लगता है! दुर्भाग्य से मैं आपके उत्तर की शुद्धता की पुष्टि करने की स्थिति में नहीं हूं; हालाँकि, मैं इसे स्वीकार करूंगा क्योंकि यह तर्कसंगत लगता है। बहुत धन्यवाद!
डफज

1

NTP को पोर्ट 123 पर द्वि-दिशात्मक पहुँच की आवश्यकता होती है क्योंकि NTP RFC क्लाइंट पोर्ट के स्रोत पोर्ट के बारे में निम्नलिखित निर्दिष्ट करता है:

सममित मोड (1 और 2) में संचालन करते समय, इस क्षेत्र में IBN द्वारा निर्दिष्ट NTP पोर्ट नंबर PORT (123) होना चाहिए।

चूंकि क्लाइंट का स्रोत पोर्ट 123 है, जब सर्वर प्रतिक्रिया भेजता है तो वह इसे पोर्ट 123 में भेज देगा। स्वाभाविक रूप से, उस प्रतिक्रिया को प्राप्त करने में सक्षम होने के लिए क्लाइंट को पोर्ट 123 पर आने वाली प्रतिक्रियाओं की अनुमति देनी होगी। आम तौर पर प्रतिक्रियाएं वापस आ जाएंगी। कुछ पंचांग पोर्ट रेंज पर।

जैसा कि बेन कुक ने ऊपर उल्लेख किया है, यह केवल तब आवश्यक होता है जब स्टेटलेस फ़ायरवॉल के रूप में एक स्टेटलेस फ़ायरवॉल से निपटना एक स्पष्ट नियम के बिना प्रतिक्रिया को वापस आने की अनुमति देता है।


0

मुझे लगता है कि सबसे अच्छा समाधान इनपुट के लिए पोर्ट 123 को सक्षम करना है, केवल आपके सर्वर को ntp सिग्नल देने के लिए अपेक्षित IP पतों के लिए।
Ntp config फाइल, /etc/ntp.conf के अंदर, आपके सर्वर पर कई ntp सर्वर के पते हैं। आप प्रत्येक पते के लिए संबंधित आईपी खोजने के लिए लुकअप कमांड का उपयोग कर सकते हैं।

host -t a 0.debian.pool.ntp.org

फिर आप सर्वर फ़ायरवॉल पर नियम जोड़ सकते हैं:

iptables -I INPUT -p udp -s 94.177.187.22 -j ACCEPT

... और इसी तरह।
यह किसी भी दुर्भावनापूर्ण व्यक्ति को आपके सर्वर को नुकसान पहुंचाने से रोक सकता है।
मुझे लगता है कि यह आउटपुट को प्रतिबंधित करने का कोई फायदा नहीं है।


-1

ntp सर्वर से सर्वर संचार स्रोत और गंतव्य पोर्ट 123 है। यह स्पष्ट रूप से अनुमति देने के लिए सबसे सुविधाजनक है कि कम से कम मेजबान जिस पर आप ntp सेवा चला रहे हैं।

आप बाहरी स्रोतों से समय निकालने के लिए इंटरनेट पर केवल एक बाहरी होस्ट को उजागर करने पर विचार कर सकते हैं। इसके लिए सिंक करने वाली एक आंतरिक एनटीपी सेवा सभी उपकरणों के लिए स्रोत हो सकती है। यदि ये होस्ट उद्देश्य के लिए समर्पित हैं तो संभव एक्सपोज़र सीमित है: वे केवल ntp ट्रैफ़िक स्वीकार करते हैं और अन्य डेटा संग्रहीत नहीं करते हैं।

वैकल्पिक रूप से, बाहरी आईपी नेटवर्क का उपयोग बिल्कुल भी न करें। उदाहरण के लिए, समय के लिए जीपीएस जैसे रेडियो स्रोत का उपयोग करें।

http://www.diablotin.com/librairie/networking/firewall/ch08_13.htm http://support.ntp.org/bin/view/Support/TroublesourcingNTP


1
इस उत्तर के लिए धन्यवाद, लेकिन यह सवाल का जवाब नहीं देता है। क्या होगा अगर मैं सिस्टम प्रशासक हूं और अपने फ़ायरवॉल को खोलना चाहता हूं, ताकि मैं आंतरिक NTP सेवा स्थापित कर सकूं? किसी को अभी भी कोई विचार नहीं है कि एनटी के लिए द्वि-दिशात्मक अभिगम (जो यूनी-दिशात्मक पहुंच की तुलना में बहुत अधिक खतरनाक है) की आवश्यकता क्यों है।
DuffJ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.