10 Eylül 2026 - 10:57
UFW'yi Etkinleştirmeden Önce Açık Portları Servislerle Eşleştirme Görseli
Sunucu Yönetimi

UFW'yi Etkinleştirmeden Önce Açık Portları Servislerle Eşleştirme

Yorumlar

UFW'yi etkinleştirmeden önce yalnızca “hangi portlar açık olmalı?” sorusunu değil, “şu anda hangi süreçler nerede dinliyor?” sorusunu cevaplamak gerekir. Aksi halde gerekli bir yönetim portunu kapatabilir veya gereksiz bir servisi firewall kuralıyla görünmez hâle getirip çalışır bırakabilirsiniz.

Dinleyen TCP ve UDP soketlerini çıkarın

BASH
sudo ss -lntup

Çıktıda yerel adres, port ve süreç bilgisine birlikte bakın:

TEXT
Netid State  Local Address:Port  Process
tcp   LISTEN 0.0.0.0:22          users:(("sshd",pid=812,fd=3))
tcp   LISTEN 127.0.0.1:5432      users:(("postgres",pid=944,fd=7))
tcp   LISTEN 0.0.0.0:8080        users:(("java",pid=1102,fd=45))

127.0.0.1:5432 yalnızca yerel bağlantı kabul eder. 0.0.0.0:8080 ise IPv4 arayüzlerinin tamamında dinler. IPv6 için [::] kaydını ayrıca kontrol edin; yalnızca IPv4 çıktısına bakmak eksik envanter üretir.

Her portu sürece ve servise bağlayın

BASH
ps -fp 1102
sudo systemctl status 1102 --no-pager
sudo readlink -f /proc/1102/exe
sudo tr '\0' ' ' < /proc/1102/cmdline

PID bir systemd servisine aitse systemctl status PID genellikle ilgili birimi gösterir. Bir portu tanımıyorsanız doğrudan firewall ile saklamak yerine uygulamanın neden başladığını, otomatik başlayıp başlamadığını ve gerçekten gerekli olup olmadığını belirleyin.

Mevcut UFW durumunu ve profilleri inceleyin

BASH
sudo ufw status verbose
sudo ufw status numbered
sudo ufw app list
sudo ufw app info OpenSSH

Uygulama profilleri /etc/ufw/applications.d/ altında tanımlanır. SSH portu değiştirildiyse OpenSSH profilinin otomatik olarak yeni portu bildiğini varsaymayın. ufw app info çıktısını gerçek ss çıktısıyla karşılaştırın.

İzin listesini dışarıdan erişim ihtiyacına göre kurun

Örnek bir web sunucusunda dışarıdan SSH, HTTP ve HTTPS gerekiyorsa:

BASH
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH management'
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

SSH yalnızca yönetim ağından erişilecekse kuralı kaynak IP ile daraltın:

BASH
sudo ufw allow proto tcp from 192.0.2.0/24 to any port 22

Örnek ağları kendi yönetim ağınızla değiştirin. Dinleyen veritabanı yalnızca uygulama sunucusundan erişilecekse herkese açık kural eklemeyin; kaynak IP'yi ve hedef portu birlikte sınırlandırın.

Kuralı uygulamadan önce dry-run çıktısına bakın

BASH
sudo ufw --dry-run allow 443/tcp
sudo ufw status numbered

--dry-run tek kuralın üreteceği değişikliği gösterir; tüm erişim senaryosunun çalışacağını kanıtlamaz. Firewall etkinleştirmesini mevcut SSH oturumunu açık tutarak ve ikinci bağlantı penceresi hazırlayarak yapın:

BASH
sudo ufw enable
sudo ufw status verbose
sudo ss -lntup

Başka bir makineden gerçek erişimi sınayın

BASH
nc -vz 203.0.113.10 22
curl -I --connect-timeout 5 https://example.com/

Yerel sunucudan yapılan bağlantı testi host firewall'ın dışarıdan gelen trafiğe davranışını göstermeyebilir. Testi beklenen istemci ağından yapın. Bulut güvenlik grubu, sağlayıcı firewall'ı veya yönlendirici ACL'si varsa UFW yalnızca katmanlardan biridir.

Port envanterini kural envanteriyle karşılaştırın

Son kontrolde her dışa açık dinleme soketinin bir sahibi ve gerekçesi, her allow kuralının da çalışan bir servis karşılığı olmalıdır. Kullanılmayan bir servisi önce güvenli biçimde durdurmak ve otomatik başlangıcını kapatmak, yalnızca firewall ile engellemekten daha temiz bir çözümdür.

Teknik başvuru: Ubuntu Server UFW ve firewall belgesi.

Benzer Yazılar

Yorumlar ()

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap