# UFW ile port açma ve kapatma (Ubuntu güvenlik duvarı)

https://kervanhosting.com/bilgi-bankasi/makale/ufw-ile-port-acma-ve-kapatma-ubuntu-guvenlik-duvari

UFW (Uncomplicated Firewall), Ubuntu'da bulunan basit bir güvenlik duvarı arayüzüdür. Doğru sırayla kullanırsanız birkaç komutla sunucunuzu korursunuz; yanlış sırayla yaparsanız kendi SSH bağlantınızı kesersiniz. Bu yüzden sıra önemli.

## Kurulum ve durum

Ubuntu'da UFW hazır gelir ama kapalıdır. Debian'da kurmanız gerekir:

```
sudo apt update && sudo apt install ufw -y
sudo ufw status verbose
```

Çıktıda `Status: inactive` yazıyorsa duvar kapalıdır.

## Doğru sıra

1. **Önce SSH'a izin verin.** Aksi halde duvarı açtığınız anda bağlantınız kopar. `sudo ufw allow OpenSSH` SSH portunu değiştirdiyseniz profil yerine port numarasını yazın: `sudo ufw allow 2222/tcp`. Debian'da "Could not find a profile matching 'OpenSSH'" hatası alırsanız doğrudan `sudo ufw allow 22/tcp` yazın.
2. **Kullanacağınız diğer portlara izin verin.** Web sitesi için: `sudo ufw allow 80/tcp sudo ufw allow 443/tcp`
3. **Gelen trafiği varsayılan olarak engelleyin** (zaten varsayılan budur ama emin olmak için): `sudo ufw default deny incoming sudo ufw default allow outgoing`
4. **Son olarak açın:** `sudo ufw enable` "Command may disrupt existing ssh connections" sorusuna `y` derseniz, SSH kuralı eklendiği için bağlantınız kopmaz.

## Sık kullanılan kurallar

- UDP port (oyun sunucusu): `sudo ufw allow 27015/udp`
- Port aralığı: `sudo ufw allow 30000:30050/tcp`
- Yalnızca belli bir IP adresi için: `sudo ufw allow from 203.0.113.5 to any port 22 proto tcp`
- Kuralları numaralı görmek: `sudo ufw status numbered`
- Kuralı silmek: `sudo ufw delete 3` (numarayı listeden alın) ya da `sudo ufw delete allow 80/tcp`
- Duvarı kapatmak: `sudo ufw disable`

## Kendinizi dışarıda bıraktıysanız

SSH bağlantınızı kestiyseniz müşteri panelinden **VNC Konsol** aracıyla sunucuya girin ve `sudo ufw allow OpenSSH` komutunu verin ya da `sudo ufw disable` yazın. Konsol erişimi ağdan bağımsız çalıştığı için duvardan etkilenmez: [konsol makalesine](https://kervanhosting.com/bilgi-bankasi/makale/konsol-vnc-nedir-baglanamadigimda-sunucuya-nasil-girerim) bakın.

## Bilmeniz gereken tuzak: Docker

Docker, `-p 8080:80` gibi bir port yayınladığında UFW kurallarını atlayarak kendi iptables kuralını ekler. Yani UFW'de 8080'e izin vermediğiniz halde konteyner dışarıya açık kalır. Yayınladığınız portları `-p 127.0.0.1:8080:80` biçiminde yalnızca yerel adrese bağlayın ve dışarıya Nginx gibi bir aracıyla açın.

Panelimizdeki ayrı güvenlik duvarı aracı da vardır; ayrıntısı [güvenlik duvarı kuralları](https://kervanhosting.com/bilgi-bankasi/makale/guvenlik-duvari-firewall-kurallari-nasil-eklenir) makalesinde. İki katman birlikte çalışır: bir portun erişilebilir olması için ikisinde de engel olmamalıdır. Sunucu paketleri için [Linux VDS](https://kervanhosting.com/linux-vds) sayfasına bakın.

## Sık sorulanlar

### UFW kuralları sunucu yeniden başlayınca silinir mi?

Hayır, kalıcıdır. `ufw enable` dedikten sonra duvar her açılışta kendiliğinden etkin olur.

### IPv6 için ayrı kural gerekir mi?

UFW, `/etc/default/ufw` dosyasında `IPV6=yes` ise kuralları hem IPv4 hem IPv6 için ekler. Ubuntu'da bu varsayılandır; `ufw status` çıktısında `(v6)` satırlarını görürsünüz.

### UFW yerine nftables ya da iptables kullanabilir miyim?

Elbette. UFW bu araçların üstünde bir kolaylıktır. İkisini karıştırmamaya özen gösterin; aynı sunucuda ayrı ayrı yönetirseniz kurallar birbirini ezebilir.

**İlgili makaleler**

- [Güvenlik duvarı (firewall) kuralları nasıl eklenir?](https://kervanhosting.com/bilgi-bankasi/makale/guvenlik-duvari-firewall-kurallari-nasil-eklenir)
- [Bilinmeyen girişleri (brute force) nasıl engellerim?](https://kervanhosting.com/bilgi-bankasi/makale/bilinmeyen-girisleri-brute-force-nasil-engellerim)
- [SSH portunu değiştirme (Ubuntu 24.04'te ssh.socket dikkat)](https://kervanhosting.com/bilgi-bankasi/makale/ssh-portunu-degistirme-ubuntu-24-04-ssh-socket)

*Sorununuz çözülmediyse [destek talebi açın](https://kervanhosting.com/destek-taleplerim). Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.*
