# PowerShell ile Windows Defender Güvenlik Duvarı kuralları

> Windows Server 2022 ve 2025'te Defender Güvenlik Duvarı'nı yönetin: profiller, port açma, Uzak Masaüstü'nü IP ile sınırlama ve adres engelleme.

Zorluk: Orta\
Denendiği sistemler: Windows Server 2022, Windows Server 2025

Windows Defender Güvenlik Duvarı Windows Server'a yerleşiktir ve varsayılan olarak etkindir. Bu rehber onu, konsolda tıklamaktan daha hızlı tekrarlanabilen ve belgelenebilen PowerShell ile yönetir. Komutları **Yönetici olarak çalıştır** ile açılmış PowerShell'de çalıştırın. `198.51.100.7` yerine kendi IP adresinizi yazın.

## Başlamadan önce

- Uzak Masaüstü ile oturum açın ve kuralları değiştirirken oturumu açık tutun.
- Hizmet sayfanızda görünüyorsa web konsolunu hazır tutun.
- Kendi genel IP adres(ler)inizi bilin.

## 1. adım: Profilleri kontrol edin

```powershell
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction
```

**Doğrulama:** tüm profiller `Enabled : True` durumundadır. Varsayılan gelen eylemi, hiçbir kuralın izin vermediği trafiği engeller. Ağınızın hangi profili kullandığını bulmak için:

```powershell
Get-NetConnectionProfile
```

## 2. adım: Bir port açın

Bir web sunucusu için gelen HTTPS'e izin verin:

```powershell
New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
```

Daha fazla örnek:

```powershell
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "Game server UDP" -Direction Inbound -Protocol UDP -LocalPort 27015-27030 -Action Allow
```

**Doğrulama:** porta bir servis dinlemeye başladığında bilgisayarınızdan `Test-NetConnection 203.0.113.10 -Port 443` başarılı olur.

## 3. adım: Uzak Masaüstü'nü adreslerinizle sınırlayın

Yerleşik Uzak Masaüstü kuralları her yerden bağlantıya izin verir. Bunları adreslerinizle sınırlayın:

```powershell
Set-NetFirewallRule -DisplayGroup "Remote Desktop" -RemoteAddress 198.51.100.7, 203.0.113.0/24
```

İlkini kapatmadan önce hâlâ çalıştığını doğrulamak için **ikinci** bir Uzak Masaüstü oturumu açın. Adresiniz sık değişiyorsa bunun yerine Uzak Masaüstü için bir VPN kullanın.

## 4. adım: Herhangi bir servisi belirli adreslerle sınırlayın

Örneğin SQL Server'a yalnızca uygulama sunucunuzdan izin verin:

```powershell
New-NetFirewallRule -DisplayName "SQL from app server" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 198.51.100.20 -Action Allow
```

## 5. adım: Bir adresi engelleyin

```powershell
New-NetFirewallRule -DisplayName "Block 203.0.113.50" -Direction Inbound -RemoteAddress 203.0.113.50 -Action Block
```

Engelleme kuralları izin kurallarından önceliklidir.

## Kuralları gözden geçirin ve kaldırın

Kendi etkin gelen kurallarınızı portlarıyla listeleyin:

```powershell
Get-NetFirewallRule -Direction Inbound -Enabled True | Where-Object DisplayName -like "Allow*" | Get-NetFirewallPortFilter
```

Bir kuralı ve adres filtresini gösterin, devre dışı bırakın veya kaldırın:

```powershell
Get-NetFirewallRule -DisplayName "Allow HTTPS" | Get-NetFirewallAddressFilter
Disable-NetFirewallRule -DisplayName "Allow HTTPS"
Remove-NetFirewallRule -DisplayName "Allow HTTPS"
```

## Düşürülen paketleri kaydedin

```powershell
Set-NetFirewallProfile -Profile Domain,Private,Public -LogBlocked True -LogFileName "%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log"
```

Neyin nereden engellendiğini görmek için `C:\Windows\System32\LogFiles\Firewall\pfirewall.log` kaydını okuyun.

## Sorun giderme

**Uzak Masaüstü çalışmayı durdurdu.** Adresiniz kuralda yok. Web konsolundan `Set-NetFirewallRule -DisplayGroup "Remote Desktop" -RemoteAddress Any` çalıştırın, ardından doğru adresi ekleyin. Bkz. [güvenlik duvarı değişikliğinden sonra erişimi kaybetmek](/guides/locked-out-after-firewall-change).

**Bir porta izin verildi ama hâlâ erişilemiyor.** Servis dinlemiyor ya da yalnızca `127.0.0.1` üzerinde dinliyor. `Get-NetTCPConnection -State Listen -LocalPort 443` ile kontrol edin.

**Güvenlik duvarı izin verdiği halde 25 numaralı porttan posta gönderilemiyor.** HyperDC VPS'lerde giden 25 numaralı port varsayılan olarak kapalıdır. 3 ay veya daha uzun süreyle satın alınan hizmetlerde bir destek bildirimi açtığınızda talep üzerine açılır. O zamana kadar postayı 587 portu üzerinden bir aktarıcıyla (relay) gönderin.

**Görünen grup bulunamıyor.** Başka bir dilde kurulmuş sunucularda grup adları çevrilmiştir. `Get-NetFirewallRule | Select-Object -ExpandProperty DisplayGroup -Unique` ile listeleyin.

## Sonraki adımlar

- Tam temel kurulum: [Windows sunucuyu güvenli hale getirin](/guides/secure-windows-server).
- Uzak Masaüstü hataları: [Uzak Masaüstü bağlantı sorunları](/guides/rdp-connection-problems).

## Sık sorulan sorular

### Güvenlik duvarı varsayılan olarak açık mı?

Evet. Windows Defender Güvenlik Duvarı tüm profillerde etkindir ve bir kural izin vermedikçe istenmeyen gelen trafiği engeller. IIS gibi bir rolü kurmak genellikle ihtiyaç duyduğu kuralları ekler.

### Sunucuma hangi profil uygulanıyor?

Genellikle Public; çünkü sunucunun ağı bir etki alanı veya güvenilir bir özel ağ değildir. Tüm profiller için yazılan kurallar her zaman uygulanır.

### Kurallar IPv6'ya da uygulanır mı?

Evet. Adres sınırı olmayan bir kural IPv4 ve IPv6'ya uygulanır. RemoteAddress ile kısıtlıyorsanız kullanıyorsanız IPv6 adreslerini de listeleyin.

### Bunun yerine grafik konsolu kullanabilir miyim?

Evet. Gelişmiş Güvenlik Özellikli Windows Defender Güvenlik Duvarı'nı açmak için wf.msc çalıştırın. Buradaki PowerShell komutları aynı işi yapar ve tekrarlaması ve belgelemesi daha kolaydır.

### Her şeyi nasıl geri alırım?

netsh advfirewall reset varsayılan politikayı geri yükler ve kendi kurallarınızı kaldırır. Değişiklikleriniz bağlantınızı kestiyse bunu web konsolundan çalıştırın.

---

Kaynak: <https://hyperdc.com/tr/guides/networking/windows-firewall>\
Son güncelleme: 2026-10-09
