Skip to content
Back to blog
Rehber UFW Linux Güvenlik Sistem Yönetimi Firewall Network

UFW ile Sunucu Güvenliğinde Temel Adımlar: Port Yönetimi ve Güvenlik Duvarı Stratejileri

Uncomplicated Firewall (UFW) kullanarak Linux sunucularınızda ağ trafiğini nasıl kontrol edeceğinizi, portları güvenli bir şekilde nasıl açıp kapatacağınızı ve sisteminizi yetkisiz erişimlere karşı nasıl koruyacağınızı öğrenin.

Caner Serbest

Sistem ve Altyapı

3 min read

UFW ile Sunucu Güvenliğinde Temel Adımlar: Port Yönetimi ve Güvenlik Duvarı Stratejileri

Bir sistem yöneticisi için sunucunun dış dünyaya açılan kapılarını yönetmek, sadece bir yapılandırma meselesi değil, doğrudan bir güvenlik disiplinidir. Linux dünyasında güvenlik duvarı yönetimi göz korkutucu görünebilir; iptables’ın karmaşık yapısı çoğu zaman yeni başlayanlar için engel teşkil eder. Ancak “Uncomplicated Firewall” (UFW), bu karmaşıklığı sadeleştirerek modern bir arayüz sunar. Bu rehberde, UFW kullanarak sisteminizi nasıl güçlendireceğinizi ve ağ trafiğini nasıl yönetebileceğinizi inceleyeceğiz.

UFW Nedir ve Neden Kullanmalıyız?

UFW, Debian ve Ubuntu tabanlı dağıtımlarda öntanımlı olarak gelen, aslında iptables üzerine inşa edilmiş bir yönetim katmanıdır. Doğrudan ham paket filtreleme kuralları yazmak yerine, daha insan tarafından okunabilir komutlarla firewall yönetmenize olanak tanır. “Karmaşık olmayan” anlamına gelen ismi, sunduğu pratikliğin en büyük göstergesidir.

Başlangıç: Durum Kontrolü ve Etkinleştirme

Bir sunucuya ilk eriştiğimizde yapmamız gereken ilk iş, güvenlik duvarının o anki durumunu kontrol etmektir. UFW yüklü olsa bile varsayılan olarak devre dışı (inactive) gelebilir.

sudo ufw status

Eğer çıktı Status: inactive ise, sisteminiz şu an tüm trafiğe açık durumda olabilir. Güvenlik duvarını etkinleştirmeden önce, SSH erişiminizi kaybetmemek için mutlaka SSH portuna (varsayılan 22) izin vermeniz gerekir.

sudo ufw allow ssh
sudo ufw enable

Bu iki komut, SSH bağlantısını sürekli açık tutar ve ardından firewall’u aktif eder. Artık sisteminiz koruma altındadır.

Port Yönetiminin Temelleri: İzin Verme ve Engelleme

UFW’de en sık yapacağınız işlem, belirli servislere veya portlara izin vermek olacaktır. UFW, /etc/services dosyasındaki isimleri tanır, bu yüzden servis isimlerini kullanmak oldukça kolaydır.

Port Bazlı İzin Verme

Bir web sunucusu (HTTP/HTTPS) kurduğunuzu varsayalım. Sadece port numarası vererek veya servis ismini kullanarak izin verebilirsiniz:

sudo ufw allow 80/tcp
sudo ufw allow http
sudo ufw allow https

Burada /tcp ifadesi, kuralın sadece TCP protokolü için geçerli olacağını belirtir. Eğer UDP trafiğine de ihtiyacınız varsa (örneğin bir DNS sunucusu veya bazı VPN çözümleri için), protokolü belirtmeyi unutmamalısınız.

Belirli IP Adreslerine Erişim Verme

Sunucu güvenliğinde “güvenli yerler” (whitelist) oluşturmak kritik bir stratejidir. Örneğin, veritabanı portunuzu (3306) sadece ofisinizin statik IP adresinden erişilebilir hale getirmek için:

sudo ufw allow from 192.168.1.100 to any port 3306

Bu kural, 192.168.1.100 dışındaki tüm IP adreslerinden gelen 3306 isteklerini reddedecektir.

Gelişmiş Kurallar ve Port Kapatma

Bazen bir portu açmak değil, tam tersine erişimi kısıtlamak gerekebilir. UFW ile bir portu kapatmak için deny komutunu kullanırız.

sudo ufw deny 23/tcp

Bu, Telnet gibi güvensiz protokollerin yanlışlıkla çalıştırılsa bile ağ üzerinden erişilmesini engeller. Kuralları listelerken, her kuralın bir numarası olduğunu göreceksiniz:

sudo ufw status numbered

Eğer bir kuralı silmek isterseniz, delete komutu ile kuralın numarasını vermeniz yeterlidir:

sudo ufw delete 2

Gerçek Dünya Senaryosu: Bir Web Sunucusunu Yayına Hazırlama

Bir üretim sunucusunda (Production Server) izlemeniz gereken standart bir port yönetim rutini şöyledir:

  1. Varsayılan Politikaları Belirle: Güvenli bir sunucu, varsayılan olarak içeriye gelen trafiği reddetmeli, dışarıya giden trafiğe izin vermelidir.
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
  2. Gerekli Portları Aç: SSH, HTTP ve HTTPS.
    sudo ufw allow ssh
    sudo ufw allow http
    sudo ufw allow https
  3. Güvenlik Duvarını Başlat: Değişiklikleri sudo ufw enable veya sudo ufw reload ile uygulayın.

Yaygın Hatalar ve İpuçları

  • SSH Kilidi: Uzak bir sunucuda çalışırken firewall’u etkinleştirmeden önce mutlaka SSH portunu (eğer 22’den farklıysa mutlaka o portu) açtığınızdan emin olun. Aksi takdirde sunucuya fiziksel erişiminiz yoksa erişimi kaybedersiniz.
  • Sıralama Önceliği: UFW kuralları yukarıdan aşağıya doğru okunur. İlk eşleşen kural uygulanır. Bu yüzden spesifik kurallarınızı (örneğin tek bir IP’ye izin verme) genel kurallardan önce tanımlamaya özen gösterin.
  • Loglama: Güvenlik duvarına çarpan trafiği görmek, saldırı girişimlerini analiz etmek için kritiktir. sudo ufw logging on komutu ile loglamayı etkinleştirebilirsiniz. Loglar genellikle /var/log/ufw.log altında birikir.

Sonuç

UFW, basitliği sayesinde hata yapma payınızı minimize eder. Ancak basit olması, işlevsiz olduğu anlamına gelmez. Profesyonel bir sistem yöneticisi için UFW, sunucuyu “dış dünyaya” karşı izole etmek ve sadece ihtiyaç duyulan kapıları açık tutmak için yeterli ve güçlü bir araçtır. Unutmayın, güvenlik bir varış noktası değil, sürekli bir süreçtir. Sunucunuzdaki her yeni servis kurulumunda, “Bu servis gerçekten dışarıdan erişilebilir olmalı mı?” sorusunu sormak, atabileceğiniz en iyi güvenlik adımıdır.

Kendi altyapınızda bu yapılandırmaları uygulamadan önce, mümkünse bir sanal makine üzerinde denemeler yapmanızı ve kurallarınızı sudo ufw status numbered ile düzenli olarak denetlemenizi öneririm.


Bu yazı Gemini ile otomatik oluşturulmuştur.