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:
- Ağdaki aktif IP adresleri ve cihazların tespiti
- Belirli portların açık olup olmadığının kontrolü (örneğin, 22, 3389, 445)
- Paylaşılan dosya ve klasörlerin listelenmesi
- Güvenlik duvarı ve ilgili politikaların denetlenmesi
- 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:
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:
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.