Ubuntu'da güvenlik duvarı kullanımı

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla

Giriş

Pek çoğunuzun da bildiği gibi Ubuntu'da varsayılan olarak İnternet portları kapalıdır. Dolayısıyla Ubuntu'da güvenlik duvarına (firewall) ihtiyaç yoktur. Ancak Windows'tan gelme eski paranoyak alışkanlıklarımızla, çoğu zaman, sistemde arkaplanda çalışan bir güvenlik duvarı olmasını isteriz.

Ubuntu'da ve çoğu Linux dağıtımında hali hazırda IPTables isimli bir güvenlik duvarı yazılımı vardır. Ancak ilk kurulumda aktif değildir. IPTables'ı yapılandırmak için ayar dosyalarıyla uğraşmak gerekir ve bu ayarlar, yeni ve orta seviye kullanıcılar için zordur. Eskiden bu zorluğu gidermek amacıyla Firestarter isimli grafik aracını kullanıyordum. Dileyen arkadaşlar, kullanımı çok kolay olan bu IPTables önyüzünü hala kullanabilir, ancak Hardy Heron v.8.04 ile birlikte artık yeni bir aracımız var: UFW (Uncomplicated Firewall), yani Kolay Ateş Duvarı (KAD). UFW programı, komut satırı ile çalışabildiği gibi Görsel Arayüz Programı olan Gufw ile de kullanılabilir.

Ayarlar

UFW, Ubuntu ile birlikte yüklü geliyor ancak varsayılan olarak aktif değil. UFW güvenlik duvarının mevcut durumunu öğrenmek için uçbirime şu komutu yazalım:

Görevi: ufw durumunu gösterir
sudo ufw status
Görevi: ufw detaylı durum raporu gösterir
sudo ufw status verbose

UFW'yi başlatmak için:

Görevi: ufw'yi etkinleştirir
sudo ufw enable

komutu yeterli olacak ve bir dahaki sistem açılışında da aktif olacaktır. UFW, aktif hale geldiğinde varsayılan profil ayarlarında bulunan kuralları kulanır. Bu kurallar, ortalama bir kullanıcı için yeterli olmaktadır. Geliştiriciler, UFW varsayılan profili, ortalama bir ev kullanıcısı için gerekli istisnalar hariç "Tüm Gelen Bağlantıları" engellemeye ayarlamıştır. Aşağıdaki anlatımda bulunan komutlar ile bu kuralları güncelleyip değiştirme imkanı bulunmaktadır.

Güvenlik duvarını durdurmak için:

Görevi: ufw'yi pasifleştirir
sudo ufw disable

komutunu vermeniz yeterlidir.

UFW ile ilgili diğer komutlar

Sistem kaydının (log) tutulması özelliğini açıp kapatmak için:

Görevi: Sistem kaydını açıp/kapatır
sudo ufw logging on

Yeri gelmişken, UFW'nin logları nerede tuttuğu tartışma konusu. Yaptığım aramalar neticesinde elde ettiğim sonuç; bu kayıtların "/var/log/messages" ve "/var/log/syslog" dosyalarında tutulduğu yönünde. Görüntülemek içinse uçbirimden şu komutu vermek yeterlidir:

Görevi: ufw kayıtlarını gösterir
grep UFW /var/log/messages
grep UFW /var/log/syslog

Belli bir servisin internet erişimini açıp/kapatmak için:

Görevi: İnternet erişimini açıp/kapatır
sudo ufw allow

Örneğin;

Görevi: Telnet erişimini kapatır
sudo ufw deny telnet

komutu, telnet hizmetini devre dışı bırakacaktır.

Belli bir portun İnternet erişimini açıp kapatmak için:

Görevi: Portun internet erişimini açıp/kapatır
sudo ufw allow

Örneğin,

Görevi: 53 nolu port erişimini kapatır
sudo ufw deny 53

Belli bir IP adresini engellemek için:

Görevi: Belli bir IP adresini engeller
sudo ufw deny IP_no

Örneğin,

Görevi: 192.168.254.254 nolu IP adresini engeller
sudo ufw deny from 192.168.254.254

Yukarıda verilen kuralları iptal etmek için de:

Görevi: Kural iptal eder
sudo ufw delete allow

Örneğin:


 sudo ufw delete deny telnet 

sudo ufw delete deny 53

sudo ufw delete allow from 192.168.254.254

Diyelim ki yukarıdaki gibi komutlar vererek bazı kurallar tanımladınız, ancak ne kural tanımladığınızı unuttunuz. Bu durumda:

Görevi: Verilen kuralların listeler
sudo ufw status

komutunu verirseniz, tanımladığınız kuralların bir listesini görebilir, buna göre hareket edebilirsiniz.

UFW izin ve engellerini yukarıda belirtilen Ip numarası ve Port numaraları ile yapabildiğiniz gibi bilgisayarınızda kullanılan servis isimlerini komutlara girerek de izin ve engelleme yapabilirsiniz. Bu servisler, bilgisayarınızda /etc/services dosyasından okunmaktadır.

Görevi: Servislerin listesini verir
sudo less /etc/services

Bir servise izin verebilmek için komut sudo ufw allow <servis_adı> formatında kullanılır. Örneğin;

Görevi: SSH servisine izin verir
sudo ufw allow ssh

Bir servisi engellemek için komut sudo ufw deny <servis_adı> formatında kullanılır. Örneğin;

Görevi: SSH servisini engeller
sudo ufw deny ssh

Grafik arayüz

Ufw1.jpg

Gördüğünüz gibi UFW güçlü, ancak kullanımı çok kolay bir konsol aracı. Yine de UFW için neden bir grafik arayüz yok diyebilirsiniz. Açık kaynak dünyası bunu da düşünmüş ve bizim için basit ama güzel bir arayüz hazırlamış: GUFW.

Bu aracın son versiyonunu gufw.tuxfamily.org adresinden yükleyebilirsiniz

gufw aracı yüklendiğinde, Sistem > Yönetim menüsüne "Firewall Configuration" ismiyle yerleşiyor. Güvenlik duvarının çalışması için bu aracın arka planda çalışmasına ihtiyacınız yok, sadece kural tanımlamakta kullanabilirsiniz.

Test

Güvenlik Duvarı Testi: Bu testi yapmak için Shields Up! web sitesini kullanabilirsiniz. Siteyi ziyaret ederek, "Proceed" (Devam) düğmesine basıp açılan sayfadaki "Common Ports" bağlantısı ile güvenlik testini başlatabilirsiniz.

Bu testi kendi makinamda önce USB winmodem ile, sonra ethernet arayüzlü modem ile yaptım. Ethernet destekli modemin kendi güvenlik duvarı olduğu için ufw'nin açık olup olmaması sonucu değiştirmedi. Ancak USB winmodemde bütün portlar kapalı olmasına rağmen, bilgisayarı dış dünyadan gizleyen "shealth" modu için ekstra bir güvenlik duvarının etkin olması gerektiği ortaya çıktı.

USB modem ile yaptığım denemede güvenlik duvarının, varsayılan olarak, dışarıdan yapılan ICMP (ping) çağrılarına yanıt verdiği ortaya çıktı. ICMP'yi devre dışı bırakmak için şu adresteki yönergeler uyarınca:


gksudo gedit /etc/ufw/before.rules

ile /etc/ufw/before.rules dosyasını root yetkileriyle açın,

Dosya İçeriği
Dosya yolu:/etc/ufw/before.rules

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT


satırını buldum ve önüne yorum işareti (#) koyarak,

Dosya İçeriği
Dosya yolu:/etc/ufw/before.rules

# -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT


olarak değiştirip dosyayı kaydedin.

Kaynaklar

  • UFW ayarları ile ilgili olarak:

Ubuntu Wiki Firewall belgesi ubuntugeek.com'daki ufw-uncomplicated-firewall belgesi

  • GUWF ayarları ve ekran görüntüleri için:

gufw.tuxfamily.org ubuntugeek.com'da gufw-simple

  • Shields Up! dışında güvenlik duvarı testi yapabileceğiniz bir diğer site:

pcflank.com

Son söz

UFW'nin kullanımı ve temel ayarları böyle. Tabii daha pek çok ileri seviye ayar (örn. belli IP aralıklarını yasaklamak, belli programlara özel izinler atamak gibi) mevcut. Dileyen arkadaşlar bunları yukarıda bağlantılarını verdiğim kaynaklardan öğrenebilir.

Ubuntu'ya yeni başlayanlar tarafından çok sorulan bir sorulardan biri: Ubuntu'da güvenlik duvarına (firewall) gerek var mı? Cevap: Eğer kendi arayüzü ve güvenlik duvarı olan ethernet arayüzlü ya da kablosuz bir modem kullanıyorsanız, bence yok. Eğer kendi arayüzü olmayan, İnternet hesabı kullanıcı adı ve şifresinin işletim sistemin tarafından verildiği bir USB modem kullanıyorsanız, bütün portlar kapalı olmasına rağmen, bence var.

Peki ilk kategoriye de girseniz, bunları bilmenize gerek var mı? Bence var. Neden? Çünkü bilgi güçtür.

Ayrıca bakınız