Windows Server'da IP Engelleme Otomasyonu: Script Çözümü

0 Yanıt 33 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Windows Server ortamlarında belirli IP adreslerini engellemek, güvenlik politikaları ve saldırı önleme açısından önemli bir uygulamadır. Manuel işlemler zaman alıcı ve hataya açık olabileceği gibi, bu işlemleri otomatik hale getirmek, özellikle düzenli güncellemelerde ve geniş çaplı IP bloklamalarında büyük kolaylık sağlar. Bu bağlamda, PowerShell kullanarak IP engelleme işlemini otomatikleştirecek temel bir script örneği sunmak istiyorum.


PowerShell, Windows Server ortamlarında yerleşik olarak bulunan güçlü bir otomasyon aracıdır. IP engelleme işlemi ise genellikle Windows Güvenlik Duvarı (Firewall) kuralları kullanılarak yapılır. Aşağıdaki script, belirli IP adreslerini otomatik olarak Windows Güvenlik Duvarı'na yeni kurallar ekleyerek engeller. Ayrıca, engellenen IP'lerin listesini yönetmek ve kolayca güncellemek için de kullanılabilir.

Öncelikle, engellemek istediğiniz IP adreslerini bir metin dosyasına yerleştirin; örneğin, "blocked_ips.txt". Dosyada her satıra bir IP adresi gelecek şekilde düzenleyin. Ardından, aşağıdaki PowerShell script'ini çalıştırabilirsiniz:

KOD
12345678910111213141516171819202122232425
[b]IP adresleri dosyasının yolu[/b]
$ipListPath = "C:\Scripts\blocked_ips.txt"

[b]Firewall'da yeni kural oluşturmak için temel ayar[/b]
$ruleNamePrefix = "IP Block - "

[b]Dosyadaki IP'leri okuma[/b]
$ips = Get-Content -Path $ipListPath

foreach ($ip in $ips) {
    # Aynı IP'ye ait kural var mı kontrol et
    $existingRule = Get-NetFirewallRule -DisplayName "$ruleNamePrefix$ip" -ErrorAction SilentlyContinue
    if (!$existingRule) {
        # Yeni kural ekle
        New-NetFirewallRule -DisplayName "$ruleNamePrefix$ip" `
                            -Direction Inbound `
                            -RemoteAddress $ip `
                            -Action Block `
                            -Description "Otomatik IP engelleme scripti tarafından eklenmiştir" 
        Write-Output "Engellendi: $ip"
    } else {
        Write-Output "Kural zaten mevcut: $ip"
    }
}


Bu script, IP listesine yeni eklenenleri otomatik olarak firewall’a engelleme kuralı olarak ekler. Aynı zamanda, var olan kuralları tekrar eklemez, böylece çakışma yaşanmaz. Güncellemeler veya kaldırma işlemleri için ise, yine PowerShell kullanarak kuralları silebilir veya listeyi güncelleyebilirsiniz.

Güvenlik politikalarına göre, bu otomasyonlar düzenli olarak çalışacak şekilde zamanlanabilir (örneğin, Windows Görev Zamanlayıcı ile). Ayrıca, script’i genişleterek belirli IP'leri kaldırma veya izin verilenler listesiyle karşılaştırma gibi gelişmiş özellikler eklenebilir. Bu sayede, saldırılara karşı etkin ve hızlı bir koruma mekanizması kurulabilir.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi