Linux sistemlerin çoğu iptables paket filter sistemini kullanmaktadır. Bu çok güçlü güvenlik duvarı yazılım, öğrenme eğimi çok dik ve komutlarını akılda tutmak pek de kolay değil. Bu neden ile basit bir ve bir o kadar da kullanımı kolay iptables üzerinde çalışabilen bir güvenlik duvarı ihtiyacı ortaya doğmuştur ve bunun adı Uncomplicated FireWall.

Adından da anlaşılacağı gibi karışık olmayan güvenlik duvarı yazılımı, iptables üzerinden çalışmaktadır ve çok basit bir komut serisi vardır. Ayrıca eklemek isteriz ki Ubuntu 18.04 sunucu veya masaüstü sürümleri ile hazır olarak gelmektedir.

Birçok sistem seviyesi işlem süper kullanıcı ile yapıldığını ve bu neden ile sudo yu kullanabilmeniz gerekmektedir.

Eğer daha öncesinde UFW’yi kullanmadıysanız endişe etmenize gerek yok çünkü UFW özellikle Ubuntu 14.04 den sonraki sürümlerde yüklü olarak gelmektedir. Emin olmak istiyorsanız UFW’ye sahip olduğunuza dair çalıştırmanız gereken komut sudo ufw version demeniz yeterli. Bu komut ile version bilgisi karşınıza çıkması gerekmektedir. Aksi takdirde komut bulunamadı hatası görmüş olmanız lazım.

UFW servisini aktive etmek

UFW servisini, UFW komutu üzerinden hemen çalıştırabilirsiniz aşağıda ki komutu uygalayarak

sudo ufw enable

Artık UFW üzerinde ki kurallar kullanılabilir durumdadır.

Eğer UFW servisini tekrardan durdurmak istiyorsanız sudo ufw disable demeniz yeterlidir

UFW durumunun kontrol edilmesi

Eğer öncesinden yapılandırılmış bir UFW yapılandırması varsa elinizde bunu görmek için sudo ufw status yeterli. Ayrıca bu komutun uygulanması ile UFW nin çalışıp çalışmadığını da hızlıca görebilirsiniz.

Güvenlik duvarı kuralı işlemleri

Bu bölümde sunucumuzun bir Nginx sunucusu olduğunu düşünelim ve sadece HTTP ve HTTPS uygulama protokolleri üzerinden çalışıyor. Yani dikkat etmemiz gereken 2 tane port var:

  • HTTP için 80 TCP
  • HTTPS için 443 TCP

Bu portlar standart uygulama portları. Yapacağımız işlem ise HTTP, HTTPS ve SSH portlarını kabul edip geriye kalan bütün gelen portları engelleyeceğiz.

Gerekli portların izin verilmesi

İlk izin vermek istediğim port HTTP portu olacak. Eğer 80 TCP portunu kullanmıyorsanız, aşağıda ki açıklamayı okuyun

sudo ufw allow http
sudo ufw allow 8000 # eğer farklı bir HTTP portu kullanıyorsanız

Sonrasında ise HTTPS için aynı işlemi yapalım

sudo ufw allow https

Belirlenmiş IP havuzundan bağlantının kabul edilmesi

Senaryomuzda düşünelim ki iç ağımızdan Nginx sunucumuza SSH ile bağlanacağız. İç ağımızın IP ağı ise 192.168.10.0 olduğunu düşünelim ve bizim çalışma bilgisayarımız yine bu iç ağımızda olacak. Kısaca 192.168.10.0 gelen SSH isteklerini kabul edelim.

sudo ufw allow from from 192.168.10.0/24 to any port 22

Böylelikle sadece 192.168.10.0 ağından SSH bağlantısı kabul edecek.

Bir portun bloklanması

Nginx sunucumuz üzerinde herhangi gib SMTP sunucusu bulunmadığından ötürü UFW üzerinden bütün SMTP yani 25 TCP isteklerini reddetmesini isteyeceğiz

sudo ufw deny smtp

UFW üzerinden bir kuralın kaldırılması

Düşünelim ki bir ihtiyaçtan ötürü Nginx sunucumuzun üstüne ayrıca SMTP isteklerini kabul edeceğiz. Bunu yapmak için önce eski kuralın silinmesi gerekliliğini bilmeniz lazım. Sonrasında yeni kuralı ekleyeceğiz.

sudo ufw delete deny smtp
sudo ufw allow smtp

Artık 25 TCP portu üzerinden gelen isteklere bir engel olmayacak, UFW.

Son söz

UFW ile çok hızlı güvenlik duvarı kurallarını yapılandırmanız mümkün. iptables üzerinden çalışan UFW, anlaşılır bir komut ve kullanım şekline sahip olduğunu gördük. Elbette UFW ile yapılabilecekler bunlar ile sınırlı değil ama en basit kullanım şekline rağmen kullanışlı işlemleri ile birlikte size yardımcı olabilir.