Ana içeriğe geç

UFW ile Ubuntu Güvenlik Duvarı Kurulumu

Bu rehberde ne öğreneceksiniz?​

Bu rehber, Ubuntu sunucunuzda UFW kullanarak güvenlik duvarı kurmayı, SSH erişimini güvenli şekilde açmayı, port/IP yönetimi yapmayı ve sunucuyu en az ayrıcalık prensibine göre korumayı öğretir.


1. UFW Nedir?​

UFW (Uncomplicated Firewall), iptables'ın karmaşık yapılarını basit komutlarla yönetmenizi sağlar. Ubuntu'nun varsayılan güvenlik duvarı aracıdır.


2. UFW Kurulumu ve Yapılandırma​

Adım 1 — IPv6’nın Açık Olduğunu Kontrol Et​


sudo nano /etc/default/ufw

Açıklama: UFW'nin IPv4 ve IPv6 için eşit şekilde kural uygulaması için bu dosyayı düzenleriz.

Kontrol edilmesi gereken satır:


IPV6=yes

Açıklama: Eğer "no" ise IPv6 trafiği korunmaz → güvenlik açığı oluşur.

Adım 2 — Varsayılan Politikaları Belirleyin​


sudo ufw default deny incoming

Açıklama: Sunucuya dışarıdan gelen tüm bağlantıları varsayılan olarak engeller. Bu en güvenli başlangıçtır.


sudo ufw default allow outgoing

Açıklama: Sunucunun dışarıya (örneğin güncelleme, API istekleri) bağlantı kurmasına izin verir.

Adım 3 — SSH Bağlantısına İzin Verin (Zorunlu)​


sudo ufw allow ssh

Açıklama: SSH (port 22) bağlantısına izin vererek sunucudan kilitlenmenizi engeller.


sudo ufw allow 22

Açıklama: Servis ismi yerine direkt port belirlemenin eşdeğeridir.


sudo ufw limit ssh,

Açıklama: Bir IP kısa sürede çok fazla SSH denemesi yaparsa geçici olarak engellenir. Brute-force saldırılarına karşı korur.

Adım 4 — UFW’yi Etkinleştirin​


sudo ufw show added

Açıklama: Firewall aktif olmadan önce hangi kuralların ekli olduğunu gösterir.


sudo ufw enable

Açıklama: Güvenlik duvarını aktif eder. Sistemde otomatik olarak her açılışta devreye girer.


sudo ufw status verbose

Açıklama: Aktif kuralları detaylı şekilde listeler.

Adım 5 — Diğer Gerekli Bağlantılara İzin Verin​

HTTP (80):


sudo ufw allow http

Açıklama: Web sitenizin dışarıdan erişilebilmesini sağlar.

HTTPS (443):


sudo ufw allow https

Açıklama: SSL/TLS ile güvenli web trafiğine izin verir.

MySQL (3306):


sudo ufw allow 3306

Açıklama: Veritabanı bağlantılarını açar (genelde sadece belirli IP'ye açılması önerilir).

Belirli IP’den SSH izni:


sudo ufw allow from 203.0.113.10 to any port 22

Açıklama: SSH erişimini sadece bu IP’ye izin verecek şekilde sınırlar. En güvenli yöntemlerden biri.

Port aralığına izin verme:


sudo ufw allow 6000:6007/tcp

Açıklama: 6000–6007 arasındaki tüm TCP portlarını aynı anda açar.

Ağ arayüzüne özel kural:


sudo ufw allow in on eth0 to any port 80

Açıklama: HTTP trafiğini sadece belirtilen network interface üzerinden kabul eder.

Adım 6 — Bağlantıları Engelleyin​

Belirli IP engelleme:


sudo ufw deny from 203.0.113.4

Açıklama: Bu IP adresinden gelen tüm bağlantıları tamamen reddeder.

SMTP çıkış engeli:


sudo ufw deny out 25

Açıklama: Sunucunun 25 numaralı port üzerinden dışarıya mail göndermesini engeller. Spam tetiklenmelerini önler.

Adım 7 — Kuralları Silme​

Kural listesini numarayla göster:


sudo ufw status numbered

Açıklama: Her kuralı numaralı olarak listeler → silmeyi kolaylaştırır.

Numara ile silme:


sudo ufw delete 2

Açıklama: Listedeki 2 numaralı kuralı kaldırır.

İsimle silme:


sudo ufw delete allow http

Açıklama: HTTP izin kuralını (IPv4 + IPv6 birlikte) siler.

Adım 8 — UFW Durumunu Kontrol Etme​


sudo ufw status verbose

Açıklama: UFW’nin aktif olup olmadığını ve tüm kuralları detaylı gösterir.

Adım 9 — Güvenlik Duvarını Devre Dışı Bırakma / Resetleme​

UFW'yi kapatma:


sudo ufw disable

Açıklama: Güvenlik duvarını tamamen durdurur. Kurallar pasif hâle gelir.

Sıfırlama:


sudo ufw reset

Açıklama: Tüm kuralları siler ve UFW’yi ilk günkü hâline döndürür.


3. Güvenlik İçin En İyi Uygulamalar​

1. En Az Ayrıcalık İlkesini Uygulayın​

Sadece gerektiği kadar port açın.


sudo ufw allow 80
sudo ufw allow 443

Açıklama: Web sunucusu için gereken 2 temel portu açar.

2. Logları Açın ve İzleyin​


sudo ufw logging on

Açıklama: UFW’nin engellediği ve izin verdiği trafiği kaydetmesini sağlar.

Log dosyası:


/var/log/ufw.log

3. Fail2Ban Kullanarak Otomatik Saldırı Engelleme​

Fail2Ban, şüpheli IP'leri otomatik olarak UFW üzerinden engeller. SSH brute-force saldırılarına karşı çok güçlü bir koruma sağlar.

4. IPv6 Kurallarını Kontrol Edin​


sudo grep IPV6 /etc/default/ufw

Açıklama: UFW’nin IPv6 için kuralları aktif olarak yazıp yazmadığını kontrol eder.


4. SSS – Sıkça Sorulan Sorular​

1. UFW iptables'tan daha mı iyi?

Kullanımı çok daha kolaydır; iptables’ın karmaşıklığını gizler.

2. Site açılmıyorsa neden olabilir?

HTTP (80) veya HTTPS (443) portu açılmamıştır.

3. SSH portunu değiştirdiysem?

Örnek:


sudo ufw allow 2222/tcp

4. Kuralları uygulamadan önce test edebilir miyim?


sudo ufw --dry-run enable
  1. UFW hangi protokolleri destekler?

TCP, UDP ve belirtilmediğinde her iki protokol.


Sonuç​

Bu rehber ile Ubuntu sunucunuzda UFW’yi güvenli, doğru ve kontrollü şekilde yapılandırabilir; port ve IP yönetimini bilinçli şekilde yapabilirsiniz. Doğru yapılandırılmış bir UFW, sunucuyu gereksiz trafiğe karşı ciddi ölçüde güçlendirir.