FirewallD dinamik güvenlik duvarı

Başlatan gecegezen, 24 Mart 2014 - 10:28:56

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

gecegezen

Kendi blogumda yazdığım firewalld ile ilgili ufak bir girdi. Bir kopyasınıda buraya geçiyorum.
-----
FirewallD, fedora projesi tarafında tarafında geliştirilen (bana göre gelişmiş) bir güvenlik duvarı. Daha önce ufw yani ubuntu fireware kullanıyordum ama ufw'de olmayan bazı özellikleri sayesinde buna geçtim. Bu özelliklerden benim için en önemlisi zones (alanlar) diye adlandırılan kısmı.
Taşınabilir bir bilgisayar kullandığım için (dizüstü) birden fazla ağa bağlandığım oluyor sorun ise şurada ben evde bir çok şeyi paylaşıyorum samba veya diğer farklı yollar ile,  kafede ağa bağlandığım zaman ise sonuç olarak o anda kafede olan herkesler de paylaşmış oluyorum. İşte burada zones yani alanlar kavramı devreye giriyor. gnome ağ yöneticisinde bu firewalld destekliyor. Ağa bağlanırken güvenlik duvarında hangi alan kurallarının uygulanacağını seçebiliyorsunuz.
Ufw veya FirewallD aslında bir firewall yani güvenlik duvarı değil iptables üzerinde kurallar tanımlayan programlar, iptables ise bir güvenlik duvarı ama kullanması daha zor.

Ubunutu'da varsayılan ve internette gördüğüm kadarı ile varsayılan olarak gelen alanlar şu şekilde;
block    drop    home    public    work    dmz    external   internal  trusted
Buna ek olarak ufw'nın gibi profillerde destekliyor ama firewalld'nın altında servisler olarak geçiyor. Varsayılan olarak gelen servisler ise;
amanda-client        kpasswd              pop3s
bacula               ldap                 postgresql
bacula-client        ldaps                proxy-dhcp
cluster-suite        libvirt              radius
dhcp                 libvirt-tls          rpc-bind
dhcpv6               mdns                 samba
dhcpv6-client        mountd               samba-client
dns                  ms-wbt               smtp
ftp                  mysql                ssh
http                 nfs                  telnet
https                ntp                  tftp
imaps                openvpn              tftp-client
ipp                  pmcd                 transmission-client
ipp-client           pmproxy              vnc-server
ipsec                pmwebapi
kerberos             pmwebapis

ir diğer özelliği işe kuralların geçici olarak atanması mesela bir alana bir kuralı atadığınız zaman eğer "–permanent" yazmasanız kural bilgisayarı yeniden başlatığınızda veya güvenlik duvarı yeniden başladığında yok oluyor ve güvenlik duvarı eski haline dönüyor.
"–permanent" parametresine alışmasına zor  oldu benim için biraz ama açıksası alışınca daha kolay geliyor ve olmasının güzel geliyor.
Bir diğer sevdiğim özelliği de panik modu panik modunu aktif hale getirdiğinizde tüm bağlantınızı kesiyor ağa bağlısınız ama sizin güvenli olarak ayarladığın liste dışında hiç bir program dışarısı ile iletişime geçemiyor. Ben şu anda hiç bir şeyi beyaz listeye koymadığım için hiç bir şey dışarısı ile bağlantı kuramıyor.
Ubuntu'ya Kurulumu: Ubunutu'ya kurulumu çok zor değil firewalld paketini kurmak yeterli:
sudo apt-get install firewalld
Burada önemli bir nokta var eğer daha önce ufw veya başka bir iptables üzerinde çalışan başka bir güvenlik duvarı kullanıyorsanız büyük olasılıkla soruna yol açacaktır. Bunu engellemek için:
sudo apt-get remove ufw; sudo service firewalld restart
Bu kadar kurulum bitti.
Firewall-cmd: firewall-cmd, firewalld'nın port, yönelendirme, alan değiştirme gibi ayarları yapılmasını sağlayan komut –help parametresini kullanarak neler yapabileceğinizi ile ilgili daha fazla bilgi alabilirsiniz.
Çok fazla parametre olduğu için ben sadece kendi kullandığım parametreleri ve en çok kullanılacağını düşündüğüm parametrelerden bahsedeceğim sadece.
Örneklerde eğer komutların başında eğer "$" işareti varsa root yetkileri olmadan da komutu kullanabilirsiniz ama eğer "#" işareti varsa komut için root yetkilerine ihtiyacınız var demektir. "#" işareti olan komutları başına "sudo" yazabilirsiniz yazmazsanız sizden oturum şifresini isteyecektir zaten.
Şunu unutmayın ki birden fazla ağa bağlanabileceğiz için parametrelerine hangi alanda veya arayüzde çalışmanızı belirtmeniz gerekiyor, eğer belirtmezseniz hata veriyor.
Zones (Alanlar) ile ilgili parametreler;
"––get-active-zone": Kullanılan alan ayarlarını gösterir.
$ firewall-cmd --get-active-zones
home
interfaces: wlan0

"––get-default-zone ": Varsayılan alanı gösterir.
$ firewall-cmd --get-default-zone
public

"––set-default-zone ": Varsayılan alan değiştirir.
# firewall-cmd --set-default-zone=public
success

"––change-zone": Aktif kullanımda ki arayüzlerde ki alan ayarlarını değiştirir.
# firewall-cmd --change-zone=wlan0 --zone=home
success

"––get–zones": Bilgisayarda tanımlı alanları gösterir.
# firewall-cmd --get-zones
work drop internal external trusted home dmz public block

Service'ler ile ilgili parametreler;
"––get–services": deskteklenen servisleri listeler.
$ firewall-cmd --get-services
cluster-suite kpasswd bacula-client smtp ipp radius mysql ms-wbt bacula transmission-client ftp mdns samba pmproxy dhcpv6-client rpc-bind ldaps https ldap dhcp imaps samba-client vnc-server http dns pmwebapi ntp kerberos telnet libvirt openvpn ssh pmwebapis pmcd ipsec postgresql ipp-client proxy-dhcp amanda-client mountd tftp-client dhcpv6 nfs tftp pop3s libvirt-tls
"––add–service": Servisi zone kısmında belirtilen(Örnekte home) alana ekler. # firewall-cmd --zone=home --add-service=openvpn
success

"––remove–service": zone ile belirtilen alandaki ekli servisi alandan(Örnekte home) ayırır.
# firewall-cmd --zone=home --remove-service=openvpn
success

"––list–services": Belirtilen alandaki(Örnekte home) ekli servisleri listeler.
# firewall-cmd --zone=home --list-services
mdns samba ipp-client dhcpv6-client vnc-server ssh samba-client transmission-client

Portlar ile ilgili parametreler;
"––add–port": zone ile belirtilen alana (Örnekte home) istenen portu açar.
# firewall-cmd --zone=home --add-port=8080/tcp
success

"––remove–port": zone ile belirtilen alandan (Örnekte home) belirtilen portu kapar.
# firewall-cmd --zone=home --remove-port=8080/tcp
success
Not:Dikkat edilmesi gereken nokta "/tcp" kısmını veya duruma göre"/udp" eklemeyi unutmayın.
"––list–ports": zone ile belirtilen alanda ki açık portları listeler.
# firewall-cmd --zone=home --list-ports
912/tcp 46998/tcp 8080/tcp

Diğer önemli parametreler.
"––permanent": Tanımlanan kuralları kalıcı atar. Eğer bu tanımlanmazsa açılan port bilgisayar yeniden başladığında veya firewalld yeniden başlatıldığında kapanır. Kullanımı basittir sadece ilk olarak bunu tanımlamalısınız.
Kalıcı bir şekilde home alanında 8080/tcp portunu açmak;
# firewall-cmd --permanent --zone=home --add-port=8080/tcp
success
Kalıcı bir şekilde home alanıda 8080/tcp portunu kapatmak;
# firewall-cmd --permanent --zone=home --remove-port=8080/tcp
success

Kalıcı bir şekilde home alanına openvpn servisini eklemek;
# firewall-cmd --permanent --zone=home --add-service=openvpn
success

Kalıcı bir şekilde tanımlanan openvpn servisini home alanından silmek;
# firewall-cmd --permanent --zone=home --remove=openvpn
success

Panic parametreleri;
"––panic–on": Panic modu geçer ve beyaz listede olan dışında tüm bağlantıyı keser.
# firewall-cmd --panic-on
success

"––panic–off": Panic modu kapatır.
# firewall-cmd --panic-off
success

Grafiksel arayüz: firewall-config ve firewall-applet, python ile yazılmış 2 tane arayüz ama firewall-applet ubuntu'nun unity arayüzünde doğru çalışmıyor. (ubuntu 16.10 ile birlikte unity arayüzü sorunsuz çalışıyor.) ama firewall-config sorun yok. firewall-config kullanması kolay olmasına karşın ilk bakışta biraz karışık gelecektir.
firewall-config ve firewall-applet kurmak için firewall-applet paketini kurmanız yeterli;
sudo apt-get install firewall-applet
firewall-config'ten bir ekran
Screenshot from 2014-03-24 10:08:29
firewall-config'te servislerin ayarlandığı ekran görüntüsü;
Screenshot from 2014-03-24 10:09:22
firewall-applet ise unity altında çalışmıyor ama gnome-shell veya kde altında sorun çıkarmayacaktır diye düşünüyorum ama denemedim.
Yazımın sonuna kaldım güvenle kalın.
Yotube kanalım hepinizi beklerim...
https://www.youtube.com/channel/UCsRQPZxNJKZbfpGy6r97nJw

jayw

#1
Güzel bir yazı olmuş, teşekkür ederim. İlk fırsatta deneyeceğim.

Bir de şunu eklemek istiyorum. Yazınızın ilerleyen kısımlarında doğru yazılmasına rağmen, başlangıç kısmında ufak bir yazım hatası olmuş sanırım. "permanent" ifadesi "permanet" olarak yazılmış. Sakıncası yoksa bunu da düzeltebilirseniz iyi olur diye düşünüyorum.

Alıntı Yapir diğer özelliği işe kuralların geçici olarak atanması mesela bir alana bir kuralı atadığınız zaman eğer "–permanet" yazmasanız kural bilgisayarı yeniden başlatığınızda veya güvenlik duvarı yeniden başladığında yok oluyor ve güvenlik duvarı eski haline dönüyor.
"–permanet" parametresine alışmasına zor  oldu benim için biraz ama açıksası alışınca daha kolay geliyor ve olmasının güzel geliyor.

gecegezen

Alıntı yapılan: jayw - 24 Mart 2014 - 13:42:07
Güzel bir yazı olmuş, teşekkür ederim. İlk fırsatta deneyeceğim.

Bir de şunu eklemek istiyorum. Yazınızın ilerleyen kısımlarında doğru yazılmasına rağmen, başlangıç kısmında ufak bir yazım hatası olmuş sanırım. "permanent" ifadesi "permanet" olarak yazılmış. Sakıncası yoksa bunu da düzeltebilirseniz iyi olur diye düşünüyorum.

Alıntı Yapir diğer özelliği işe kuralların geçici olarak atanması mesela bir alana bir kuralı atadığınız zaman eğer "–permanet" yazmasanız kural bilgisayarı yeniden başlatığınızda veya güvenlik duvarı yeniden başladığında yok oluyor ve güvenlik duvarı eski haline dönüyor.
"–permanet" parametresine alışmasına zor  oldu benim için biraz ama açıksası alışınca daha kolay geliyor ve olmasının güzel geliyor.
uyarınız için teşekkürler, gördüğünüz iyi oldu.
Yotube kanalım hepinizi beklerim...
https://www.youtube.com/channel/UCsRQPZxNJKZbfpGy6r97nJw