İçeriğe geç

Güvenlik

UFW ile güvenlik duvarı kurma

Ubuntu ve Debian'da UFW ile varsayılan reddetme politikası, SSH ve web portlarını açma, kuralları listeleme ve silme.

2 dk okumaGüncelleme
İçindekiler 7

UFW (Uncomplicated Firewall), Linux çekirdeğindeki paket filtreleme altyapısını (iptables/nftables) daha basit komutlarla yönetmenizi sağlar. Ubuntu'da hazır gelir, Debian'da apt install ufw ile kurulur.

Temel ilke: gelen trafiği varsayılan olarak reddet, yalnızca gerekli portlara izin ver.

Önce SSH'e izin verin

Güvenlik duvarını açmadan önce SSH portuna izin vermezseniz sunucuya erişiminizi kaybedersiniz.

sudo ufw allow OpenSSH

Uygulama profili yoksa port numarasıyla:

sudo ufw allow 22/tcp

Varsayılan politikalar

sudo ufw default deny incoming
sudo ufw default allow outgoing

Web ve diğer portlar

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Yalnızca belirli bir IP adresinden erişim vermek için:

sudo ufw allow from 203.0.113.10 to any port 5432 proto tcp

203.0.113.10 belgeleme için ayrılmış örnek bir adrestir; kendi adresinizle değiştirin. Veritabanı gibi servisleri tüm internete açmaktan kaçının.

Etkinleştirme ve durum

sudo ufw enable
sudo ufw status verbose
sudo ufw status numbered

Kural silme

sudo ufw status numbered
sudo ufw delete 3

Numaralar her silmeden sonra değişir; bir sonraki silmeden önce listeyi yeniden alın.

Hız sınırlama

SSH için tekrarlayan bağlantı denemelerini sınırlamak üzere:

sudo ufw limit OpenSSH

Bu kural, aynı adresten kısa sürede çok sayıda bağlantı denemesini geçici olarak engeller.

Dikkat edilecekler

  • UFW yalnızca sunucunun kendi güvenlik duvarıdır. Sağlayıcı panelinde ayrı bir güvenlik duvarı varsa iki katman birlikte çalışır; ikisinde de gerekli portların açık olduğundan emin olun.
  • Docker kendi iptables kurallarını ekler ve yayınlanan portlar UFW kurallarını atlayabilir. Docker kullanıyorsanız yayınlanan portları ayrıca denetleyin.
  • IPv6 kullanıyorsanız /etc/default/ufw içinde IPV6=yes olduğunu doğrulayın.
  • Kural eklemek servis çalıştığı anlamına gelmez: portu dinleyen bir süreç yoksa bağlantı yine kurulamaz. ss -tlnp ile dinleyen portları görebilirsiniz.

Bu makale genel bilgi verir; sürümler ve dağıtımlar arasında komutlar değişebilir. Üretim sunucusunda uygulamadan önce kendi ortamınızda deneyin.

Bize yazın