Ubuntu'da UFW'yi Hızlıca Nasıl Yapılandırır ve Gerekli Portları Açarsınız?

Kerem Aydın·9 Temmuz 2026·⏱2 dk

Kısaca: UFW'yi önceden SSH'ye izin vererek etkinleştirin, gelen trafiği reddet / giden trafiğe izin ver politikasını belirleyin ve yalnızca gerekli portları sudo ufw allow <port/protokol> komutuyla açın. Aşağıda, pratik örneklerle hazırlanmış adım adım bir kılavuz bulunmaktadır.

Temel Yapılandırma ve Etkinleştirme

  1. Gerekirse yükleyin ve durumu kontrol edin:
sudo apt update
sudo apt install ufw
sudo ufw status verbose
  1. UFW'yi etkinleştirmeden önce SSH'ye izin verin, böylece erişiminizi kaybetmezsiniz:
sudo ufw allow OpenSSH
# veya açıkça
sudo ufw allow 22/tcp
  1. Varsayılan politikayı belirleyin ve etkinleştirin:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw status verbose

Bu yapılandırma bir sunucu için uygundur: tüm gelen bağlantılar engellenir, giden trafiğe izin verilir.

Üretim ortamında UFW'yi başka bir mekanizma (örneğin cloud‑firewall) veya fail2ban ile değiştirmeden asla devre dışı bırakmayın.

Hata ayıklama için günlüğü etkinleştirin: sudo ufw logging on — günlükler /var/log/ufw.log dosyasına yazılır.

Gerekli Portları Nasıl Açarsınız — Pratik Örnekler

UFW, profillerdeki (/etc/ufw/applications.d) servisleri ve portları anlar:

  • Web sunucuları:
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
# veya profile göre:
sudo ufw allow 'Nginx Full'
  • IP sınırlaması ile SSH:
sudo ufw allow from 203.0.113.0/24 to any port 22 proto tcp
  • Yalnızca yerel ağ için veritabanı:
sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp
  • Oyun sunucuları veya özel portlar:
sudo ufw allow 25565/udp

Kurallar listesini kontrol etme:

sudo ufw status numbered

Bir kuralı numarasına göre silme:

sudo ufw delete <numara>

Gelişmiş Ayarlar ve Entegrasyon

  • Brute-force saldırılarına karşı SSH sınırlaması:
sudo ufw limit OpenSSH

Bu, ardışık başarısız denemelerden sonra IP adresini geçici olarak engeller.

  • fail2ban ile entegrasyon: fail2ban'ı kurun ve saldırganların otomatik olarak engellenmesi için /etc/fail2ban/jail.local dosyasında UFW ile çalışmayı etkinleştirin.
  • Docker: Varsayılan olarak Docker, UFW'yi bypass eder (iptables'ı değiştirir). Çözüm — /etc/ufw/before.rules dosyasını düzenlemek veya kuralları Docker ağı üzerinden manuel olarak yönetmek.

Hata Ayıklama ve Test Etme

  • Günlükler: sudo tail -f /var/log/ufw.log
  • Yerel bağlantı testi: telnet localhost 80 veya nc -zv your-ip 22
  • Servis listesi: sudo ufw app list
  • Kuralları yeniden yükleme: sudo ufw reload
  • Sıfırlama (dikkatli olun): sudo ufw reset

Sık Karşılaşılan Hatalar

  • SSH'ye izin vermeden UFW'yi etkinleştirmek — erişim kaybı.
  • Veritabanı için IP sınırlaması olmadan bir port açmak.
  • Docker'ı hesaba katmamak: kurallar uygulanmış gibi görünür ancak trafik bypass edilir.
  • Üretim ortamında yedek koruma olmadan UFW'yi devre dışı bırakmak.

SSS

  • Masaüstünde UFW'yi etkinleştirmek gerekir mi? Evet, eğer servisler çalıştırıyorsanız veya genel bir ağa bağlanıyorsanız — aynı ilkeler geçerlidir.
  • Hata yaparsam kuralı nasıl geri alırım? sudo ufw status numbered ve sudo ufw delete <numara> kullanın.
  • Bir port aralığını nasıl izin veririm? sudo ufw allow 10000:20000/tcp.

Üretim ortamı için UFW'yi fail2ban, AppArmor ve otomatik güncellemelerle birleştirin — bu, pratik çok katmanlı bir koruma sağlayacaktır. Değişiklikleri canlıya almadan önce test makinesinde deneyin.