UFW Güvenlik Duvarı Kurulumu ve Port Açma (Ubuntu)
Kısa yanıt: Önce SSH’a izin verin (sudo ufw allow OpenSSH), ardından sudo ufw enable ile güvenlik duvarını açın. Port açmak için sudo ufw allow 443/tcp, kapatmak için sudo ufw delete allow 443/tcp kullanın; kuralları sudo ufw status numbered ile görün.
Bu rehber kimin için: VPS yöneticileri · Gereken süre: 10 dakika · Seviye: Orta
UFW (Uncomplicated Firewall), Ubuntu’nun iptables/nftables kurallarını basit komutlarla yönetmenizi sağlar. Varsayılan politika gelen bağlantıları reddedip giden bağlantılara izin vermektir. En sık yapılan hata, SSH’a izin vermeden UFW’yi açıp sunucuya erişimi kaybetmektir.
Güvenlik duvarını kurma
- Kurulu mu kontrol edin: sudo ufw status; kurulu değilse sudo apt install ufw.
- Varsayılanlar: sudo ufw default deny incoming ve sudo ufw default allow outgoing.
- SSH’a izin verin: sudo ufw allow OpenSSH (port değiştirdiyseniz sudo ufw allow 2222/tcp).
- Web portları: sudo ufw allow 80,443/tcp.
- Etkinleştirin: sudo ufw enable; uyarıyı y ile onaylayın.
- Kontrol edin: sudo ufw status verbose.
Sık kullanılan kurallar
- Belirli IP’ye izin: sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp
- Kural silme: sudo ufw status numbered ile numarayı görün, sudo ufw delete 3.
- Hız sınırlama: sudo ufw limit OpenSSH, son 30 saniyede 6 ya da daha fazla bağlantı deneyen IP’yi engeller.
- Kayıt: sudo ufw logging on; kayıtlar /var/log/ufw.log dosyasına yazılır.
Docker kullanıyorsanız
Docker, yayınladığı portlar için kendi iptables kurallarını UFW’den önce ekler; bu nedenle docker run -p 3306:3306 ile açılan bir port UFW kuralına rağmen internete açık olabilir. Konteyner portlarını yalnızca yerel ağa yayınlamak için -p 127.0.0.1:3306:3306 kullanın.
AlmaLinux ve Rocky Linux’ta firewalld
VPS’inizde AlmaLinux 9 ya da Rocky Linux 9 kuruluysa güvenlik duvarı UFW değil firewalld’dir. Varsayılan bölge (public) SSH bağlantısına zaten izin verir; yine de kural değiştirmeden önce sudo firewall-cmd --list-all ile mevcut durumu görün.
--permanent olmadan yazılan kural hemen çalışır ama yeniden yüklemede ya da sunucu yeniden başladığında kaybolur; kalıcı kural yazdıktan sonra ise --reload gerekir. UFW ile firewalld’yi aynı sunucuda birlikte kullanmayın. Docker’ın yayınladığı portlar firewalld kurallarını da atlayabilir; yukarıdaki Docker uyarısı burada da geçerlidir.
- Servisi başlatın:
sudo systemctl enable --now firewalld - Web portları:
sudo firewall-cmd --permanent --add-service=http --add-service=https - Belirli bir port:
sudo firewall-cmd --permanent --add-port=8080/tcp - Kuralı kaldırma:
sudo firewall-cmd --permanent --remove-port=8080/tcp - Tek IP’ye izin:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="3306" protocol="tcp" accept' - Uygulayın:
sudo firewall-cmd --reload
Hâlâ çözülmediyse
Erişimi kaybettiyseniz kayıtlı e-posta adresinizden konsol erişimi isteyin, konsoldan girip sudo ufw disable çalıştırın. Bir portun dışarıdan açık olup olmadığını port kontrol aracıyla test edin. DDoS koruması altyapı düzeyinde sağlanan VPS sunucu paketlerimizde UFW ek bir katman olarak kullanılabilir.
Sık sorulan sorular
UFW ile firewalld aynı anda çalışır mı?
Hayır. Yalnızca birini kullanın.
Ping’i kapatmalı mıyım?
Gerekli değildir; ping’i kapatmak teşhisi zorlaştırır ve güvenliğe katkısı sınırlıdır.
UFW IPv6 bağlantılarını da korur mu?
Evet. Ubuntu’da /etc/default/ufw dosyasındaki IPV6=yes ayarı varsayılan olarak açıktır; eklediğiniz her kural IPv4 ve IPv6 için yazılır ve ufw status çıktısında (v6) ekiyle ikinci kez görünür. VPS’lerimizde IPv4 adresiyle birlikte IPv6 adresi de verildiği için bu ayarı kapatmayın.
Port açmadan önce sunucuda hangi servislerin dinlediğini nasıl görürüm?
sudo ss -tlnp komutu TCP üzerinden dinleyen servisleri, dinledikleri adresi ve portu listeler. 127.0.0.1 ya da ::1 adresinde dinleyen bir servise yalnız sunucunun içinden erişilir ve güvenlik duvarında port açmanız gerekmez. 0.0.0.0 ya da :: adresinde dinleyen ama dışarıdan erişilmesi gerekmeyen servisleri yerel adrese bağlayın.
İlgili rehberler
- Ubuntu VPS İlk Kurulum: 10 Adımda Güvenli Başlangıç
- Fail2ban Kurulumu: SSH Kaba Kuvvet Saldırılarını Engelleme
- Ubuntu VPS’e Docker ve Docker Compose Kurulumu
Bu rehber işinize yaradı mı?
Teşekkürler. Çözüm bulamadıysanız destek talebi açın veya [email protected] adresine yazın.