Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

पावरशेल और विंडोज फ़ायरवॉल नियमों के साथ आरडीपी ब्रूट फोर्स प्रोटेक्शन

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

तो, एक छोटा कार्यालय नेटवर्क है। इसे एक्सेस करने के लिए, एक आरडीपी पोर्ट को एनएटी के माध्यम से इंटरनेट गेटवे चलाने वाले लिनक्स के माध्यम से कार्यालय कंप्यूटरों में से एक में भेजा जाता है (टीसीपी 15221 बाहर से जवाब दे रहा है, और डिफ़ॉल्ट आरडीपी पोर्ट 3389 अंदर अग्रेषित किया गया है)। RDP के माध्यम से कंप्यूटर पर प्रमाणित करने के असफल प्रयासों के कारण समय-समय पर, ज्ञात उपयोगकर्ता खाते डोमेन पासवर्ड नीति द्वारा लॉक कर दिए जाते हैं। हमारा काम हमारे RDP सर्वर को ज़बरदस्ती करने के लिए उपयोग किए जाने वाले IP पतों को स्वचालित रूप से ब्लॉक करना है।

सबसे पहले, निर्दिष्ट आईपी पते से इनबाउंड आरडीपी कनेक्शन को ब्लॉक करने के लिए कंप्यूटर पर फ़ायरवॉल नियम बनाएं:

New-NetFirewallRule -DisplayName "BlockRDPBruteForce" –RemoteAddress 1.1.1.1 -Direction Inbound -Protocol TCP –LocalPort 3389 -Action Block

पावरशेल और विंडोज फ़ायरवॉल नियमों के साथ आरडीपी ब्रूट फोर्स प्रोटेक्शन

हम इस नियम फ़ायरवॉल में आगे आईपी पते जोड़ेंगे, जिन पर आरडीपी ब्रूट-फोर्स प्रयासों का पता चला है।

आप एक अतिरिक्त अनुमति नियम लिख सकते हैं ताकि पावरशेल स्क्रिप्ट आपके लिए आवश्यक आईपी पते या सबनेट को ब्लॉक न करे।

फिर आपको उन IP पतों की सूची एकत्र करनी होगी, जिन पर पिछले 3 घंटों में 5 से अधिक विफल प्रमाणीकरण प्रयासों का पता लगाया गया है, Windows ईवेंट लॉग से। ऐसा करने के लिए, EventID के साथ ईवेंट खोजें 4625 (पहुँच का असफल प्रयास — एक खाता लॉग ऑन करने में विफल रहा और लॉगऑनटाइप =3 , सुरक्षा लॉग में लेख आरडीपी इवेंट लॉग फोरेंसिक) देखें। आपको मिले ईवेंट में, कनेक्ट करने का प्रयास करने वाले उपयोगकर्ता का IP पता ढूंढें और सुनिश्चित करें कि यह ईवेंट लॉग में 5 से अधिक बार दिखाई दिया है।

मैं पिछले 3 घंटों की घटनाओं की सूची से हमलावरों के आईपी पते का चयन करने के लिए निम्नलिखित पावरशेल कोड का उपयोग कर रहा हूं (आप समय अवधि बदल सकते हैं):

$Last_n_Hours = [DateTime]::Now.AddHours(-3)
$badRDPlogons = Get-EventLog -LogName 'Security' -after $Last_n_Hours -InstanceId 4625 | ?{$_.Message -match 'logon type:\s+(3)\s'} | Select-Object @{n='IpAddress';e={$_.ReplacementStrings[-2]} }
$getip = $badRDPlogons | group-object -property IpAddress | where {$_.Count -gt 5} | Select -property Name

पाए गए IP पतों की सूची प्रदर्शित करने के लिए, उपयोग करें:$getip

अब पहले बनाए गए फ़ायरवॉल नियम BlockRDPBruteForce में हमलावरों के सभी पाए गए IP पते जोड़ें। Windows फ़ायरवॉल को प्रबंधित करने के लिए, हम अंतर्निहित PowerShell मॉड्यूल NetSecurity का उपयोग करेंगे। सबसे पहले, वर्तमान में अवरुद्ध IP पतों की सूची प्राप्त करें और इसमें नए जोड़ें।

$log = "C:\ps\rdp_blocked_ip.txt"
$current_ips = (Get-NetFirewallRule -DisplayName "BlockRDPBruteForce" | Get-NetFirewallAddressFilter ).RemoteAddress
foreach ($ip in $getip)
{
$current_ips += $ip.name
(Get-Date).ToString() + ' ' + $ip.name + ' The IP address has been blocked due to ' + ($badRDPlogons | where {$_.IpAddress -eq $ip.name}).count + ' attempts for 2 hours'>> $log # writing the IP blocking event to the log file
}
Set-NetFirewallRule -DisplayName "BlockRDPBruteForce" -RemoteAddress $current_ips

पावरशेल और विंडोज फ़ायरवॉल नियमों के साथ आरडीपी ब्रूट फोर्स प्रोटेक्शन

सुनिश्चित करें कि विंडोज डिफेंडर फ़ायरवॉल में ब्लॉकिंग नियम में नए आईपी पते जोड़े गए हैं।

पावरशेल और विंडोज फ़ायरवॉल नियमों के साथ आरडीपी ब्रूट फोर्स प्रोटेक्शन

अब आपको बस इस पॉवरशेल कोड को फाइल में कॉपी करना है c:\ps\block_rdp_attack.ps1 और उदाहरण के लिए, इसे हर 2 घंटे में चलाने के लिए अपने टास्क शेड्यूलर में जोड़ें।

आप पावरशेल स्क्रिप्ट या मैन्युअल रूप से शेड्यूलर कार्य बना सकते हैं:

$repeat = (New-TimeSpan -Hours 2)
$duration = ([timeSpan]::maxvalue)
$Trigger= New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval $repeat -RepetitionDuration $duration
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\PS\block_rdp_attack.ps1"
Register-ScheduledTask -TaskName "BlockRDPBruteForce_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force

या आप अपनी PowerShell स्क्रिप्ट चला सकते हैं यदि EventID 4625 लॉग में दिखाई देता है (ब्लॉगपोस्ट Windows Event Triggers देखें), तो आप RDP ब्रूट-फोर्स अटैक का अधिक तेज़ी से जवाब देंगे।

आप इस स्क्रिप्ट को अपनी आवश्यकताओं के अनुसार संशोधित कर सकते हैं और RDP हमलों को रोकने के लिए उपयोग कर सकते हैं।


  1. विंडोज 10 में फायरवॉल और नेटवर्क प्रोटेक्शन एरिया को कैसे छिपाएं?

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

  1. Windows 10 फ़ायरवॉल नियम और सेटिंग्स समायोजित करें

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

  1. विजुअल स्टूडियो कोड के साथ विंडोज 10 और विंडोज 11 पर पावरशेल स्क्रिप्ट कैसे बनाएं

    क्या आप जानते हैं कि आप Windows 10 और Windows 11 पर PowerShell स्क्रिप्ट बना सकते हैं? अब जब आपने विंडोज़ पर पावरशेल स्थापित कर लिया है, तो आप जानना चाहेंगे कि आप अपने पीसी पर इसके साथ क्या कर सकते हैं। इस गाइड में, हम आपको दिखाएंगे कि विजुअल स्टूडियो कोड का उपयोग करके एक साधारण स्क्रिप्ट फ़ाइल कैसे