PowerShell ile Windows Ağ Güvenliği Denetim Scripti Oluşturma

0 الردود 5 المشاهدات
·
المشاركون
صاحب الموضوع #1
Giriş ve Amaç
Günümüzde kuruluşlar, ağ altyapılarının güvenliğini sağlamak ve olası tehditleri erken tespit etmek adına düzenli denetimler yapmak zorunda kalıyor. PowerShell, Windows ortamlarında ağ güvenliği denetimleri için güçlü ve otomatikleştirilebilir araçlar sunar. Bu nedenle, bu yazıda PowerShell kullanarak temel bir Windows Ağ Audit Scripti geliştirme yöntemini detaylandıracağım.

Script’in Temel Bileşenleri ve İşleyişi
PowerShell ile ağ güvenliği denetimi yaparken, öncelikle ağdaki cihazların, açık portların, paylaşımların ve güvenlik duvarı kurallarının taranması gerekir. Bu süreçte aşağıdaki adımlar temel alınabilir:

  1. Ağdaki aktif IP adresleri ve cihazların tespiti
  2. Belirli portların açık olup olmadığının kontrolü (örneğin, 22, 3389, 445)
  3. Paylaşılan dosya ve klasörlerin listelenmesi
  4. Güvenlik duvarı ve ilgili politikaların denetlenmesi
  5. Ağ trafiği ve bağlantıların izlenmesi


PowerShell’de bu adımların çoğu, aşağıdaki temel komutlar ve modüller kullanılarak otomatik hale getirilebilir:

BLOCK
1234567891011121314151617181920212223  
[b]Ağdaki tüm cihazları ping ile tarama[/b]
$subnet = "192.168.1"  
for ($i=1; $i -le 254; $i++) {  
    $ip = "$subnet.$i"  
    if (Test-Connection -ComputerName $ip -Count 1 -Quiet) {  
        Write-Output "Aktif cihaz: $ip"  
    }  
}  

[b]Belirli portların açık olup olmadığını test et (örneğin 445)[/b]
$targetIp = "192.168.1.10"  
$port = 445  
try {  
    $socket = New-Object System.Net.Sockets.TcpClient  
    $connection = $socket.Connect($targetIp, $port)  
    if ($socket.Connected) {  
        Write-Output "$targetIp üzerindeki $port portu açık."  
    }  
    $socket.Dispose()  
} catch {  
    Write-Output "$targetIp üzerindeki $port portu kapalı veya erişilemiyor."  
}  


Ayrıca, paylaşımları ve güvenlik duvarı kurallarını sorgulamak için WMI veya PowerShell modüllerini kullanmak da mümkündür. Örneğin:

BLOCK
123456  
[b]Paylaşılan klasörleri listele[/b]
Get-WmiObject -Class Win32_Share | Select-Object Name, Path, Description  

[b]Güvenlik duvarı kurallarını denetle[/b]
Get-NetFirewallRule | Where-Object { $_.Enabled -eq "True" } | Select-Object Name, DisplayName, Direction, Action  


Sonuç ve Uygulama
Bu script, ağdaki temel güvenlik açıklarını tespit etmek ve raporlamak amacıyla kullanılabilir. Otomasyon sayesinde düzenli denetimler yapılabilir ve olası zafiyetler zamanında tespit edilerek önlem alınabilir. Güvenlik politikalarına uygunluğu sağlamak ve olaylara hızlı müdahale etmek adına bu tarz scriptlerin entegrasyonu kritik önemdedir.

Açık kaynak veya detaylı örnekler ile genişletilen bu temel script, kurumsal ihtiyaçlara göre uyarlanabilir ve daha gelişmiş modüller eklenebilir.

يجب تسجيل الدخول للرد.

0 اقتباسات محددة