Bu Sayfada
UFW, Ubuntu üzerinde host tabanlı güvenlik duvarı kurallarını daha kolay yönetmek için kullanılan araçtır. UFW'yi etkinleştirmeden önce SSH erişimine izin vermek kritik önemdedir; aksi halde uzaktaki sunucu bağlantınızı kesebilirsiniz.
Mevcut durumu kontrol edin
sudo ufw status verbose
UFW çoğu yeni kurulumda başlangıçta kapalı olabilir. Önce sunucuda çalışan servisleri ve dinlenen portları kontrol edin.
SSH erişimine izin verin
Standart SSH portu kullanılıyorsa uygulama profiliyle izin verebilirsiniz:
sudo ufw allow OpenSSH
Özel SSH portu kullanıyorsanız gerçek port numarasını TCP olarak açın. Kuralı ekledikten sonra mevcut oturumu kapatmadan ikinci bir bağlantıyla test edin.
Web sunucusu portları
HTTP ve HTTPS hizmeti sunan bir web sunucusu için 80 ve 443 numaralı TCP portlarına izin verilir:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
UFW'yi etkinleştirin
sudo ufw enable
sudo ufw status numbered
Numaralı durum çıktısı, eklenen kuralların sırasını ve kapsamını görmenizi sağlar.
Belirli IP adresine izin verme
Yönetim portlarını herkese açmak yerine sabit bir yönetim IP adresiyle sınırlayabilirsiniz:
sudo ufw allow proto tcp from 192.0.2.10 to any port 22
Örnekteki dokümantasyon IP adresini kendi güvenilir IP adresinizle değiştirin. Dinamik IP kullanıyorsanız bağlantının değişebileceğini hesaba katın.
Kural silme
sudo ufw status numbered
sudo ufw delete KURAL_NUMARASI
Silme işleminden sonra durumu yeniden kontrol edin. Varsayılan politikaları veya uzaktan erişim kurallarını değiştirirken dikkatli olun.
Loglama ve bakım
sudo ufw logging on
sudo ufw status verbose
Güvenlik duvarı tek başına tüm sunucu güvenliğini sağlamaz. Sistem güncellemeleri, güçlü kimlik doğrulama, en az yetki, servis yapılandırması ve düzenli log incelemesiyle birlikte kullanılmalıdır.
Varsayılan politikaları belirleyin
Kural eklemeye başlamadan önce gelen trafiği varsayılan olarak reddetmek, giden trafiğe izin vermek en güvenli başlangıçtır. Böylece açıkça izin vermediğiniz hiçbir port dışarıdan erişilebilir olmaz.
sudo ufw default deny incoming
sudo ufw default allow outgoing
Uygulama profilleri
Nginx, Apache ve OpenSSH gibi paketler UFW'ye kendi profillerini kaydeder. Port numarası ezberlemek yerine profil adıyla izin verebilirsiniz:
sudo ufw app list
sudo ufw allow 'Nginx Full'
SSH için hız sınırı
limit kuralı, aynı IP'den 30 saniye içinde 6'dan fazla bağlantı denemesi gelirse geçici olarak engeller. Kaba kuvvet denemelerine karşı tek satırlık etkili bir önlemdir:
sudo ufw limit 22/tcp
Özel SSH portu kullanıyorsanız 22 yerine kendi portunuzu yazın. Daha kapsamlı koruma için Fail2ban ile birlikte kullanabilirsiniz.
Docker kullanıyorsanız
Docker, yayınladığı port'ları iptables'a doğrudan yazdığı için UFW kurallarını atlayabilir; -p 3306:3306 ile açılan bir veritabanı portu UFW'de kapalı görünse bile dışarıdan erişilebilir olabilir. Konteyner portlarını yalnızca localhost'a bağlayın (-p 127.0.0.1:3306:3306) ya da Docker'ın iptables yönetimini UFW ile uyumlu hale getiren yapılandırmayı uygulayın.
Kendinizi dışarıda bıraktıysanız
SSH kuralını eklemeden UFW'yi etkinleştirdiyseniz ya da yanlış portu açtıysanız bağlantınız kopar. Fiberserver Cloud VDS'lerde bu durumda FiberVM panelindeki VNC konsol üzerinden sunucuya ağ bağımsız erişip sudo ufw disable ile güvenlik duvarını kapatabilir, doğru kuralı ekledikten sonra yeniden açabilirsiniz. Kuralı değiştirmeden önce ikinci bir SSH oturumu açık tutmak bu riski baştan ortadan kaldırır.
Geri bildiriminiz için teşekkürler!
