[Nasıl] Ubuntu'da Kişisel Güvenlik Duvarı (UFW)

Başlatan erginemr, 25 Eylül 2008 - 10:08:57

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

erginemr



I. GİRİŞ



Arkadaşlar,

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).



II. 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 konsolda şu komutu kullanabilirsiniz:
sudo ufw status

UFW'yi başlatmak için:
sudo ufw enable
komutu yeterli olacak ve bir dahaki sistem açılışında da aktif olacaktır.
Güvenlik duvarını durdurmak içinse:
sudo ufw disable
komutunu vermeniz yeterlidir.

UFW ile ilgili kayda değer diğer komutlarsa şöyle:

Sistem kaydının (log) tutulması özelliğini açıp kapatmak için:
sudo ufw logging on|off

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 konsoldan verilecek
grep UFW /var/log/messages
grep UFW /var/log/syslog

komutları yeterli olacaktır.

Belli bir servisin İnternet erişimini açıp kapatmak için:
sudo ufw allow|deny servis_ismi
(Örneğin, "sudo ufw deny telnet" komutu, telnet hizmetini devre dışı bırakacaktır.)

Belli bir portun İnternet erişimini açıp kapatmak için:
sudo ufw allow|deny port_ismi
(Örneğin, "sudo ufw deny 53")

Belli bir IP adresini engellemek için:
sudo ufw deny IP_no
(Örneğin, "sudo ufw allow from 192.168.254.254")

Yukarıda verilen kuralları iptal etmek için de:
sudo ufw delete allow|deny kural_ismi
(Ö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:
sudo ufw status
komutunu verirseniz, tanımladığınız kuralların bir listesini görebilir, buna göre hareket edebilirsiniz.

[IMG]http://img139.imageshack.us/img139/2882/shot01ec8.th.jpg[/img][IMG]http://img139.imageshack.us/images/thpix.gif[/img]



III. GRAFİK ARAYÜZ



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 şu adresten yükleyebilirsiniz:
http://launchpad.net/gui-ufw/gufw-9.04/9.04/+download/gufw_9.04.2-all.deb

Yüklediğiniz de gufw aracı 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.

[IMG]http://img139.imageshack.us/img139/7793/shot02lo2.th.jpg[/img][IMG]http://img139.imageshack.us/images/thpix.gif[/img]  [IMG]http://img216.imageshack.us/img216/8366/shot03ca1.th.jpg[/img][IMG]http://img216.imageshack.us/images/thpix.gif[/img]  [IMG]http://img139.imageshack.us/img139/9149/shot04or6.th.jpg[/img][IMG]http://img139.imageshack.us/images/thpix.gif[/img]



IV. TEST



Güvenlik Duvarı Testi:
Bu testi yapmak için Shields Up! web sitesini kullanabilirsiniz. Siteyi ziyaret ederek, "Proceed" düğmesine basın, ardından "Common Ports" 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:
gksu gedit /etc/ufw/before.rules
ile /etc/ufw/before.rules dosyasını root yetkileriyle açın,
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
satırını buldum ve önüne yorum işareti (#) koyarak,
# -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
olarak değiştirip dosyayı kaydedin.



V. KAYNAKLAR



Konu ile ilgili diğer kaynaklar:

1. UFW ayarları ile ilgili olarak:
https://wiki.ubuntu.com/UbuntuFirewall
http://www.ubuntugeek.com/ufw-uncomplicated-firewall-for-ubuntu-hardy.html

2. GUWF ayarları ve ekran görüntüleri için:
http://gufw.tuxfamily.org/index.html
http://www.ubuntugeek.com/gufw-simple-gui-for-ufw-uncomplicated-firewall.html

3. Shields Up! dışında güvenlik duvarı testi yapabileceğiniz bir diğer site:
http://www.pcflank.com/scanner1.htm



VI. 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ı? El 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.

Saygılar.


Kutadgu

Teşekkürler. Ubuntu kullanırken çok rahatım. Ne güvenlik duvarına nede antivirüse ihtiyaç duyuyorum. Bazen arkadaşlarım soruyor güvenlik için ne yapıyorsun diye. Cevap basit "Hiç bir şey". Ubuntu zaten güvenli benim  bir şey yapmama gerek kalmıyor.

heartsmagic

Eline sağlık @erginemr. Senelerdir Linux üzerinde hiç bunlara ihtiyaç duymasam bile yeni üyelerimizin birçoğunun merak ettiği ve aradığı bir konuydu bu.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

erokay

#3
Çok teşekkürler.

İşimize yaramayacaksa bile ( ki bu konudan bahsetmiyorum ) her konuda bilgimiz olması iyidir, belki birine yardımcı oluruz ilerde. :)
Söylediğin gibi "Bilgi güçtür."
Semer seçilirken eşeğin fikri değil ölçüsü alınır!!!

munirekinci

Çok güzel bir yazı, ellerine sağlık @erginemr. :)

Felâsife

Nasıl da kaçırmışız konuyu, bu konuyu görseydim şimdiye kadar çoktan kaldırmıştım iptables'i

Güzel bir çalışma elinize sağlık.
Maceraya hazır mısın!  Bir BSD almaz mısın?

ironic

Teşekkürler. firestarter'ı kullanıyordum. Bunu da en kısa zamanda deneyeceğim.

askinj


Çağlar

@erginemr harika anlatıyorsunuz herşeyi gerçekten. Sizde kitap yazma potansiyeli var bence.
We got a badass over here!
__________________________
Bu çevirinin size ihtiyacı var...

Xenophobia

Alıntı yapılan: Çağlar - 28 Aralık 2008 - 17:57:38
@erginemr harika anlatıyorsunuz herşeyi gerçekten. Sizde kitap yazma potansiyeli var bence.

Dergide özel bir kısım yapalım ona  :D

erginemr

Güzel yorumlarınız için teşekkür ederim arkadaşlar. :)

Exodus

#11
enginemr;
Mukemmel bir calisma.. Elleriniz emeklerinize saglik. Firewall ve kisisel guvenlik pek ilgi alanim olmasa da wiki'de guzel gorunecegini dusunerek Ubuntu-Tr Wiki'ye ekledim. Asagidan erisilebilir ;)

http://wiki.ubuntu-tr.net/index.php5?title=Ubuntu%27da_Ki%C5%9Fisel_G%C3%BCvenlik_Duvar%C4%B1
Arch Linux FTW!

y_mimar


CAMUXIA

Çok faydalandım ve hemen uyguladım, teşekkürler.
Ora et Labora...
***\CMX/***      
.

aynshtein

Ben de güvenlik duvarını çalıştırmadan Shields UP'taki testleri uyguladım. Sonuçlar:

Your Internet port 139 does not appear to exist!
One or more ports on this system are operating in FULL STEALTH MODE! Standard Internet behavior requires port connection attempts to be answered with a success or refusal response. Therefore, only an attempt to connect to a nonexistent computer results in no response of either kind. But YOUR computer has DELIBERATELY CHOSEN NOT TO RESPOND (that's very cool!) which represents advanced computer and port stealthing capabilities. A machine configured in this fashion is well hardened to Internet NetBIOS attack and intrusion.

Unable to connect with NetBIOS to your computer.
All attempts to get any information from your computer have FAILED. (This is very uncommon for a Windows networking-based PC.) Relative to vulnerabilities from Windows networking, this computer appears to be VERY SECURE since it is NOT exposing ANY of its internal NetBIOS networking protocol over the Internet.

Türkçesi:
139 no.lu internet portunuz yokmuş gibi görünüyor.
İşletim sisteminizdeki bir veya daha fazla port TAM KORUMA MODUNDA. Standard internet davranışı, portlara bağlanma denemesine olumlu ya da olumsuz cevap verme yönündedir. Bu nedenle, sadece, varolmayan bir bilgisayara bağlanma denemesi olumsuz ya da benzeri bir yanıt verebilir. Fakat SİZİN bilgisayarınız KASITLI OLARAK CEVAP VERMEMEYİ TERCİH EDEREK (bu çok harika) gelişmiş bilgisayar ve port koruma yeteneği ifade eder. Bu sekilde ayarlanmış bir makine, internet üzerineden NETBIOS saldırılarına karşı son derece zorluk çıkarırlar.

Bilgisayarınıza NETBIOS ile bağlanılamadı.
Bilgisayarınızdan herhangi bir bilgi alma girişimi BAŞARISIZ OLDU. (Bu, Windows ağı tabanlı PC'ler için alışılmadık bir durumdur) Windows ağlarının savunmasızlığına bağlı olarak, internet üzerinden dahili HİÇBİR NETBIOS ağ protokolü çağrılarına İZİN VERMEDİĞİNDEN  bu bilgisayar ÇOK GÜVENLİ görünüyor.

Shields UP! güvenlik konusunda, Ubuntu adına gerekli cevabı vermiş sanırım :)
Linux: Bilgisayarını bilgi saymaktan başka işlerde kullanmak isteyenler için...
Günlük: http://www.multimeyda.com/

ubuntuki lilith

UFW aktif.yalnız ""sudo ufw deny 1050"" yapmama rağmen bir türlü bu portu kapatamadım.bu port bir sorun yaratır mı?modemden de kapatmak için tüm gerekenleri yaptım ama olmuyor

heartsmagic

Portu açmadıysan zaten bir şey yapmana gerek yok ki. Ne için istiyorsun bunu?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

canosayan

Chmod bizim işimiz.

ubuntuki lilith

şimdi şöyle shieldsten bakınca başka bir windows kullanan arkadaşımda tüm portlar güvenli iken bende 1050. port açık.1050. portu da bilerek açmadım ama açık.bir sorun yaratır mı?
evet açıkmış girdim baktım açık diyor

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

canosayan

sudo apt-get install gufw ile ufw nin arayüzlü bir kullanımına erişebilirsiniz. başlatıcı sistem yönetim altına firewall configuration olarak geliyor.

buradan bloklama yapmak daha kolay
Chmod bizim işimiz.

ubuntuki lilith

@heatsmagic
Success: I can see your service on 92.44.149.229 on port (1050)
Your ISP is not blocking port 1050

heartsmagic

Açmışsın o zaman bir ara o portu. Kullanmıyorsan açık tutmanın bir anlamı yok sanırım. Modem arayüzünden mi açmıştın?
Ayrıca eğer engellemek istiyorsan @canosayan'ın önerisine de bakabilirsin. Ben ufw veya herhangi bir firewall kullanmıyorum. İşim olmayan hiçbir portu modem arayüzünden açmam. Böylece erişim olanağı zaten sıfıra inmiş olur.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ubuntuki lilith

peki açık kalsa çok sorun yaşatır mı?amsnde webcamda görüntü paylaşımı için bir arkadaşın yardımıyla açmıştık bir port ama o port 1050. port değildi.zaten webcamda da aynı anda iki taraflı görüntü alışverişi bile olmuyor.ya benden karşıya ya da karşıdan bana.bazen çift taraflı aktarım da oluyor sanırım kişiden kişiye değişiyor kimileriyle de asla açılmıyor webcam.gerçi bu ayrı bir mevzuunun konusu ama bununla bağlı

heartsmagic

Öncelikle belirteyim kabaca bakındım, bu nedenle söylediklerim tam anlamıyla doğru olmayabilir. Bu nedenle işin ehli bir arkadaş yorum yaparsa daha iyi olur.

1050. port biraz muallak. Sanırım bazı modem/routerlarda ön tanımlı olarak açık gelmekte ve TCP/IP kullanarak uygulama tabanlı iletişimlerde kullanılmakta. Küçük de olsa güvenlik açığı oluşturma riski var. Kapatmanın doğrudan bir yolu yok. Biraz atlatmaca olacak ancak en güzel yolun hiç olmayan bir IP adresine NAT yapmak olduğu söyleniyor. Örneğin kendi ağın içinde 192.168.x.x şeklinde bir IP adresi kullanıyorsun. Modem arayüzüne git ve NAT/Sanal Sunucu (ya da buna benzer bir bölüm) altından 1050. portu 15.1.1.1 gibi bir IP adresine yönlendir. Ardından tekrar bak port açık görünüyor muymuş diye. 
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.