टर्मिनल सर्वर (Win2008R2) पर जानवर बल के हमलों को कैसे रोकें?


23

मैं जानवर बल के हमलों को रोकने के लिए लिनक्स उपकरणों से अधिक परिचित हूं, इसलिए मुझे विंडोज के लिए उपयुक्त उपकरण खोजने में परेशानी हो रही है। मैं टर्मिनल सर्वर के साथ एक विंडोज सर्वर 2008 R2 चला रहा हूं, और आरडीपी के माध्यम से लॉगिन करने के लिए बार-बार प्रयास करने के बाद मैं एक आईपी ब्लॉक करना चाहूंगा। कोई संकेत?


3
क्या आपको वास्तव में अपने विंडोज सर्वर पर इसे संभालने की आवश्यकता है? क्या आपने अपने एज डिवाइस (फ़ायरवॉल / राउटर) पर रेट-लिमिटिंग करने पर विचार किया है?
Zoredache

2
विंडोज बॉक्स एक होस्टिंग कंपनी द्वारा चलाया जाने वाला VPS है, इसलिए मुझे नेटवर्क उपकरणों तक कोई पहुंच नहीं है।
onik

आप PS स्क्रिप्ट को आग लगाने के लिए विफल लॉगिन पर टास्क शेड्यूल इवेंट सेट कर सकते हैं; PS Svript को IP द्वारा आजमाए गए फ़ायरवॉल नियम से ब्लॉक करने की संख्या की गणना करनी होगी। मेरे पास ऐसी कोई स्क्रिप्ट नहीं है लेकिन इसे बनाना संभव होगा।
क्रिस एस

@ क्रिस S: यह अधिक-या-कम है जो मेरी ts_block स्क्रिप्ट करता है, सिवाय इसके कि यह एक इवेंट लॉग "सिंक" के रूप में चलता है और हर बार नए ईवेंट लॉग होने पर कॉलबैक प्राप्त करता है। जैसे, यह वास्तविक समय में अधिक-या-कम चलता है।
इवान एंडरसन 20

वीपीएन का उपयोग करें - उदाहरण के लिए स्थापित करें। OpenVPN राउटर पर। कभी भी विंडोज़ बॉक्स को सीधे इंटरनेट पर न डालें - यह खतरनाक है।
इंटीग्रेटर

जवाबों:


5

rdp लॉगिन प्रयासों को रोकने के लिए, जैसा कि पहले ही बताया गया है, आपको किसी विशेष आईपी को अलग करने के लिए अपने फ़ायरवॉल पर नियंत्रण की आवश्यकता है। आप प्रशासनिक उपकरणों में कुछ सेटिंग्स कर सकते हैं -> टर्मिनल सेवा प्रबंधक लेकिन इस तरह से एक आईपी को रोकने के लिए कुछ नहीं कर सकते। हो सकता है कि आप rdp पोर्ट को सुनने और लॉगऑन विफलताओं को नियंत्रित करने के लिए एक बैच स्क्रिप्ट पर विचार करें, इसलिए यदि एक ही आईपी द्वारा एक टोटका प्रयास (आप संख्या ...) चुनते हैं, तो समय की ज्ञात अवधि के लिए कोई अन्य प्रयास नहीं कर सकता है। हो। मुझे यकीन नहीं है कि यह संभव है, लेकिन एक तरीका हो सकता है ...


1
ठीक है, तो जैसा मैंने सोचा था। मुझे यह देखने के लिए इवेंट व्यूअर का अध्ययन करना होगा कि क्या मैं बैच प्रोसेसिंग के लिए एक फ़ाइल में आईपी पते निर्यात कर सकता हूं। समय के लिए उन्हें मैन्युअल रूप से उत्पन्न से grep करना होगा .csv
डंप्स

5
पोर्ट बदलें RDP पर प्रतिसाद देता है।
JohnThePro

मजेदार बात यह है कि मैं IPs को प्रतिबंधित करना चाहता हूं, लेकिन लॉगऑन विफलता IP पते की रिपोर्ट नहीं करती है
Csaba Toth

पोर्ट बदलना केवल अस्पष्ट है। वे बुद्धिमान बंदरगाह स्कैनिंग सॉफ्टवेयर के साथ नया बंदरगाह पाएंगे।
लेगेंडरीकॉपी कोडर

@CsabaToth इवेंट लॉग डिफ़ॉल्ट रूप से उपयोगी जानकारी रिकॉर्ड नहीं करता है। आप कुछ अतिरिक्त जानकारी के लिए RDP अनुरोध प्राप्त करने वाले डोमेन नियंत्रक या कंप्यूटर से netlogon सेवा में वर्बोज़ लॉगिंग को सक्षम कर सकते हैं। IP पता निर्धारित करने के लिए आप Windows फ़ायरवॉल लॉगिंग को सक्षम कर सकते हैं।
माइकल स्टील

25

आप वास्तव में अपने किनारे फ़ायरवॉल पर इन प्रयासों को अवरुद्ध करना चाहिए, अगर केवल दर-सीमित करने के साथ। यदि आपके पास ऐसा करने की क्षमता नहीं है, तो पढ़ें।

यदि आप किनारे फ़ायरवॉल पर ब्लॉक नहीं कर सकते हैं और आने वाले कनेक्शनों को बंद करने के लिए अंतर्निहित इंटरनेट फ़ायरवॉल सुविधाओं का उपयोग करके आरडीपी को केवल इंटरनेट के सबसेट तक खोलने की आवश्यकता है।

अंत में, यदि आपके पास वास्तव में आरडीपी होना चाहिए , तो आप पूरे इन्टनेट के लिए खुले हो सकते हैं, जो कि विंडोज के लिए मेरे एसएसएच ब्रूट फोर्स ब्लॉकर प्रोग्राम के संशोधित संस्करण पर एक नज़र हो सकता है, जो कि मेरे पास जीथब रिपॉजिटरी में है । यह स्क्रिप्ट, ts_block, Windows Server 2003, 2008 और 2008 R2 पर बल बल टर्मिनल सेवा लॉगऑन को ब्लॉक करता है। दुर्भाग्य से, आरडीपी के लिए TLS / SSL सुरक्षा परत का उपयोग करते समय विंडोज द्वारा लॉग इन की गई घटनाओं में बदलाव के कारण यह स्क्रिप्ट अप्रभावी होती जा रही है । (Microsoft ने प्रमाणित करने का प्रयास करने वाले होस्ट के आईपी पते को छोड़ना क्यों चुना है यह मेरे से परे है। ऐसा लगता है कि लॉग करने के लिए एक बहुत महत्वपूर्ण बात होगी, एह?)


1
मैं यहाँ ts_block पेज का उपयोग करता हूँ और यह आश्चर्यजनक है! मेरा विंडोज़ सर्वर (2008 R2) कई क्रूर बल हमलों के तहत धीमा हुआ करता था, लेकिन अब नहीं! TS_BLOCK को vbscript में लिखा गया है - और इसे विंडोज़ सेवा के रूप में स्थापित किया जा सकता है - लेकिन MSI का उपयोग न करें बस .vbs कोड को संपादित करें और nssm उपयोग के साथ खुद को स्थापित करें। आपको रजिस्ट्री प्रविष्टियों की आवश्यकता नहीं है। cos .vbs कोड में डिफॉल्ट्स हार्डकोड है। <p> मैंने कोड को संपादित कर लिया है और यह हर बार तुरंत विफल लॉगिन को ब्लॉक कर देता है - क्योंकि मेरा अपना वेबसर्वर होने के नाते कोई असफल लॉगिन प्रयास नहीं होना चाहिए। तो स्क्रिप्ट

यह बहुत प्यारी है, इवान। मुझे इसे सी # में फिर से लागू करने के लिए आधा मन मिल गया है, इसलिए आप इसे श्रीवैन और इस तरह से हैक करने के बजाय एक देशी विंडोज़ सेवा के रूप में चला सकते हैं। अगर मैंने कभी किया, तो मैं इसे गीथूब या कुछ और पर फेंक दूंगा।
रयान बोल्गर

1
@RyanBolger: मेरे पास VBScript और सामान्य रूप से व्याख्या की गई भाषाओं के लिए एक नरम स्थान है। मुझे लगता है कि "नॉन-सकिंग सर्विस मैनेजर" का उपयोग सेवाओं के रूप में वीबीएसस्क्रिप्ट कार्यक्रमों को चलाने के लिए काफी दर्द रहित अनुभव के लिए करता है।
इवान एंडरसन

ts_block आश्चर्यजनक है, ठीक उसी तरह जो मैं "थैंक यू इवान एंडरसन" के लिए देख रहा था। जब मैंने अपने पहले टर्मिनल वर्चुअल सर्वर को सीधे वेब पर लाइव किया तो एक दिन में मेरे पास 10,000 से अधिक असफल लॉगिन थे। जब मेरे पास समय होता है तो मैं इसे संशोधित कर सकता हूं और पिछले ब्लॉकों की संख्या के आधार पर स्थायी अवरोधन जोड़ सकता हूं। उदाहरण: आईपी एक दिन में 4 बार प्रतिबंधित हो जाता है। (जब तक कि यह पहले से ही न बना हो)

ts_blockस्क्रिप्ट के आधार पर यहां एक समाधान है जो fail2banहमलावरों को ब्लॉक करने के लिए प्रवेश द्वार पर उपयोग करता है : wqweto.wordpress.com/2013/12/10/…
wqw

3

मेरे पास एक C # प्रोग्राम है जो ठीक यही करता है। मेरे पास सर्वर 2008 R2 पर एक समस्या थी जहां इवेंट लॉग हमेशा उपयोगकर्ता के आईपी पते (यदि वे नए दूरस्थ डेस्कटॉप क्लाइंट से जुड़े हुए हैं) को सूचीबद्ध नहीं करते थे। कुछ सेवाएं अपने स्वयं के क्रेडेंशियल चेक प्रदाता को लागू करती हैं जो आपके द्वारा वांछित सभी जानकारी प्रदान नहीं करती हैं।

http://cyberarms.net/security-insights/security-lab/remote-desktop-logging-of-ip-address-%28security-event-log-4625%29.aspx

हालांकि दूरस्थ डेस्कटॉप के लिए मुझे पता चला कि "दूरस्थ डेस्कटॉप सत्र होस्ट कॉन्फ़िगरेशन" में जाकर "वार्ता" या "SSL (TLS 1.0)" के बजाय "RDP सुरक्षा परत" की सुरक्षा परत रखने के लिए RDP-TCP कनेक्शन को बदलना आईपी ​​पते।

क्या आप वास्तव में ऐसा करना चाहते हैं, आपके लिए एक और सवाल है, "यदि आप RDP सुरक्षा परत का चयन करते हैं, तो आप नेटवर्क स्तर प्रमाणीकरण का उपयोग नहीं कर सकते।"

मुझे http://www.windowsecurity.com/articles/logon-types.html मददगार लगा। मैंने EventLogWatcher का उपयोग किया और "* [सिस्टम / EventID = 4625 या सिस्टम / EventID = 4624] के लिए बाध्य था, इसलिए मैं सफलता पर एक खराब गणना को रीसेट कर सकता था यदि उपयोगकर्ता वास्तव में अपना पासवर्ड गलत मिला। इसके अलावा मैंने :: 1, 0.0.0.0, 127.0.0.1 और "-" को सफेद कर दिया। आप श्वेतसूची LAN / प्रबंधन IP की इच्छा रख सकते हैं या नहीं कर सकते हैं।

मैं फ़ोरफ़्रंट TMG का उपयोग करता हूं, इसलिए मैंने उस तरह से IP के समूह में खराब IP पते जोड़ने के लिए API का उपयोग किया और मैंने सिस्को को अपने SMB राउटर्स में से एक में API एक्सेस जोड़ने के लिए कहा है (जो उन्होंने मुझे आश्वासन दिया है कि वे बस कर सकते हैं!)

यदि आप देशी विंडोज फ़ायरवॉल का उपयोग करना चाहते हैं तो उन्हें ब्लॉक करने के लिए एपीआई पर नज़र डालनी चाहिए ("netsh advfirewall")।

मैं प्रतिबंध लगाने से पहले एक्स के प्रयासों की संख्या की अनुमति देता हूं और एक सफलता गिनती को रीसेट कर देगी।


2

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

हमलावर सामान्य उपयोगकर्ता नाम प्रशासक की तरह उपयोग करेंगे, और वे निश्चित रूप से उन लोगों को बंद कर देंगे। आपको वास्तविक प्रशासन के लिए एक अलग खाते की आवश्यकता होगी, जो कि किसी भी तरह संभव है।

फ़ायरवॉल स्तर पर स्वचालित रूप से अवरुद्ध करने के लिए फ़ायरवॉल नियमों के स्वचालित अद्यतन के साथ कुछ स्क्रिप्टेड लॉग रीडिंग की आवश्यकता होगी। आपको इस तरह आईपी पते के आधार पर नियम जोड़ने में सक्षम होना चाहिए। यह मूल रूप से लिनक्स सिस्टम में iptables क्या करता है।

यह थोड़ा स्पष्ट हो सकता है, लेकिन क्या आपने एक गैर-मानक पोर्ट पर दूरस्थ डेस्कटॉप सेवा चलाने पर भी विचार किया है ? यह मेरे लिए ब्रेक-इन को विफल करने के लिए बहुत प्रभावी रहा है।


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

1
Im पहले से ही एक नॉनस्टैड पोर्ट पर चल रहा है, और मेरी बड़ी चिंता वास्तव में बड़ी संख्या में लॉगिन प्रयासों के कारण मेरे सर्वर को प्रभावी रूप से ऑफ़लाइन ले जाने की है।
बूमहेयर

एक विकल्प पूरी तरह से फ़ायरवॉल के माध्यम से रिमोट डेस्कटॉप तक पहुंच को अक्षम करना है, लेकिन सर्वर पर चलने वाली एक सेवा है जो आरडीपी ट्रैफ़िक के माध्यम से अनुमति देने के लिए फ़ायरवॉल को पुन: कॉन्फ़िगर करती है, यह सेवा पासवर्ड से सुरक्षित है और शायद केवल एक "विश्वसनीय" आईपी स्रोत से एक्सेस की अनुमति देता है ( जैसे कि मोबाइल फ़ोन की IP श्रेणी या आपका कार्यालय)। यह परेशानी का परिचय देता है, लेकिन काम करता है।
दाई

1

कुछ अन्य समाधान भी हैं यदि आप इसके बजाय GUI आधारित समाधान करना चाहते हैं और वास्तव में विभिन्न घटनाओं के लिए नियमों के विभिन्न सेट बनाते हैं। सबसे आसान RDPGuard (hxxp: //www.rdpguard.com) होगा, लेकिन एक कॉर्पोरेट वातावरण में आप शायद अधिक रिपोर्टिंग चाहते हैं, जहां से हमला हुआ (देश, मूल) और क्या उपयोगकर्ता नाम का उपयोग किया गया था ताकि आप जल्दी से तय करें कि क्या यह आपके स्वयं के उपयोगकर्ताओं में से एक गलती से खुद को रोक रहा है या जहां आप जानते हैं कि वे नहीं हैं, वहां से प्रवेश करने की कोशिश कर रहे हैं।

व्यक्तिगत रूप से मुझे Syspeace (hxxp: //www.syspeace.com) पसंद है, जो हमारे लिए उन सभी चीजों को करता है, लेकिन मुझे लगा कि मैं उन दोनों का जिक्र करूंगा।


0

समाधान सरल है: Windows फ़ायरवॉल को सेटअप करें ताकि केवल श्वेत सूची वाले IP पते RDP को वांछित बॉक्स में शामिल कर सकें। निम्नलिखित संसाधन देखें: मैं एक आईपी से विंडोज 2008 आर 2 सर्वर तक आरडीपी की अनुमति कैसे दे सकता हूं?


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