UFW (Uncomplicated Firewall) ile Sadece Belirli IP'lere Port Açma Rehberi

UFW ile Sadece Belirli IP'lerin Erişebileceği Portlar Nasıl Tanımlanır?

Sunucu güvenliği dendiğinde akla gelen ilk adımlardan biri, gereksiz portları kapatmak ve sadece ihtiyaç duyulan hizmetlere izin vermektir. Ancak bazen bir portu tamamen açmak yerine, yalnızca belirli IP adreslerinden gelen bağlantılara izin vermek isteyebilirsiniz. Örneğin, SSH bağlantılarını yalnızca şirket ofisinizin IP'sine, bir yönetim panelini de yalnızca sizin IP'nize açmak isterseniz ne yapmalısınız? İşte bu noktada UFW (Uncomplicated Firewall) devreye giriyor.

UFW, Linux sistemlerde kullanıcı dostu bir güvenlik duvarı aracıdır. İptables'ın karmaşıklığını ortadan kaldırarak SSH, web sunucusu, veritabanı gibi servisler için basit kurallar eklemenizi sağlar. Bu yazıda, UFW ile sadece belirli IP'lere port açma işlemini adım adım inceleyeceğiz.

UFW Kurulumu ve Temel Kullanım

Eğer UFW henüz kurulu değilse, aşağıdaki komutla kurabilirsiniz:

sudo apt install ufw

Kurulumdan sonra varsayılan politikaları belirlemek iyi bir alışkanlıktır. Genel olarak gelen tüm bağlantıları reddedip giden bağlantılara izin vermek istersiniz:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Ardından güvenlik duvarını etkinleştirebilirsiniz (SSH erişiminizi kaybetmemek için önce SSH kuralı eklemeniz önerilir).

Belirli bir IP'den Gelen Bağlantılara Port Açma

Diyelim ki yalnızca 192.168.1.100 IP adresinin SSH (port 22) üzerinden bağlanmasına izin vermek istiyorsunuz. Bunun için tek bir komut yeterlidir:

sudo ufw allow from 192.168.1.100 to any port 22

Bu kural, belirtilen IP dışındaki tüm SSH bağlantılarını engeller. Aynı mantıkla web sunucunuzu (port 80 veya 443) yalnızca belirli IP'lerin erişimine açabilirsiniz:

sudo ufw allow from 203.0.113.5 to any port 80
sudo ufw allow from 203.0.113.5 to any port 443

Birden Fazla IP veya Alt Ağa İzin Verme

Birden fazla IP adresini tek tek eklemek yerine, bir ağ bloğu (subnet) tanımlayabilirsiniz. Örneğin, 192.168.1.0/24 alt ağındaki tüm cihazların SSH erişimine izin vermek için:

sudo ufw allow from 192.168.1.0/24 to any port 22

Veya belirli bir IP aralığı (192.168.1.1 ile 192.168.1.100 arası) için ayrı ayrı kural eklemek yerine tek bir kuralda toplayabilirsiniz. Ancak UFW'de aralık belirtmek için CIDR notasyonu kullanmanız önerilir. Örneğin, 192.168.1.0/25 yarım ağ anlamına gelir.

İzin verilen IP listesini düzenli tutmak adına ufw'nin durumunu sık sık kontrol edin:

sudo ufw status numbered

Bu komut, kuralları numaralı olarak gösterir ve gereksiz bir kuralı silmek isterseniz sıra numarasını kullanabilirsiniz.

Özel Port Numaraları ve Protokoller

UFW'de protokol (TCP veya UDP) belirterek daha ince ayar yapabilirsiniz. Örneğin, DNS sorgularını UDP port 53 üzerinden yalnızca bir IP'ye açmak için:

sudo ufw allow from 10.0.0.2 to any port 53 proto udp

Protokol belirtmezseniz, UFW hem TCP hem UDP'yi varsayılan olarak kabul eder.

Gelişmiş Kullanım: Uygulama Profilleri

UFW, “OpenSSH” gibi uygulama profillerini de destekler. Ancak IP kısıtlaması yaparken uygulama adı yerine doğrudan port kullanmak daha esnektir. Yine de profilleri incelemek için:

sudo ufw app list

Eğer bir uygulama profilini IP ile kısıtlamak isterseniz, önce profili aktifleştirip ardından IP kuralı ekleyin. Ancak bu yöntem bazen karmaşaya yol açar; bu nedenle port bazlı kurallar daha nettir.

Kuralları Test Etme ve Sorun Giderme

Kuralları ekledikten sonra hemen test etmek en iyisidir. SSH kuralı eklediyseniz, farklı bir IP'den bağlanmayı deneyin. Bağlantı zaman aşımına uğrarsa kural çalışıyor demektir. Eğer hata alırsanız, günlük dosyalarını kontrol edin:

sudo tail -f /var/log/ufw.log

UFW'nin etkin olduğundan emin olun:

sudo ufw enable

Ayrıca, yanlışlıkla kendinizi kilitlememek için her yeni kuraldan sonra mevcut bağlantıyı kapatmadan önce farklı bir terminalden test yapmanızı öneririz.

Sonuç: Basit ve Güçlü Bir Çözüm

UFW ile belirli IP'lere port açmak, sunucu güvenliğini artırmanın en hızlı yollarından biridir. Özellikle SSH, yönetim panelleri ve veritabanı portları gibi hassas servislerde bu yöntemi kullanarak yetkisiz erişim riskini minimize edebilirsiniz. Unutmayın, güvenlik katmanlı bir yapıdır; UFW'yi diğer önlemlerle (örneğin, fail2ban, güçlü parolalar) birlikte kullanmanız en iyisidir. Kendi sunucunuzda denemeler yapın, kurallarınızı gözden geçirin ve gerektiğinde güncelleyin. Güvenli bağlantılar dileriz!

← Tüm yazılar