Linux Güvenlik Duvarı / Linux Firewall

iptables command line

Bir çoğumuzun bildiği gibi, internet veya bir bilgisayar ağı üzerinde hizmet veren sunucuların bir güvenlik duvarı (firewall) arkasında çalışması sunucular üzerine yapılabilecek siber saldırıları önemli ölçüde engellemektedir. Güvenlik duvarı bu korumayı gerekli olan bağlantılara/network trafiğine izin vermek, diğer trafiği de engelleyerek sağlar.

Güvenlik duvarları önceleri sadece “A bilgisayarı B bilgisayarına şu hizmet için bağlanabilir” şeklinde sadece filtrelemeye dayalı çalışmaktayken zaman içerisinde bilgisayarlar arası giden-gelen veri trafiğini analiz ederek buna karşı aksiyonlar alabilecek özelliklere kavuşmuştur.

Standartlar Gereği Zorunluluk

Ayrıca güvenlik duvarları önceleri sadece teknik uygulamaların bir parçası iken son zamanlarda idari açıdan bir zorunluluk haline gelmiş durumdadır. Örneğin ISO 27001 Bilgi Güvenliği Yönetim Sistemi akreditasyon denetimlerinde şirketin bilgisayar ağında bir güvenlik duvarı olması beklenir. Ne şekilde kurulum yapıldığı, kurulum yapıldıktan sonraki kontrolleri ve güncellemeleri denetlenir. 6698 no’lu Kişisel Verilerin Korunması Kanunu’nda da güvenlik duvarları alınması gereken teknik tedbirler arasında bulunur.

Güvenlik Duvarı ne işe yarar

Güvenlik duvarı nedir, ne işe yarar kısmına hızlı bir şekilde değinelim. Güvenlik duvarı, bir ya da birden fazla bilgisayarın bilgisayar ağı üzerinden diğer bilgisayarlara olan erişimlerini engellemek, izin vermek veya sınırlamak için kullanılan yazılımdır.

Örneğin bir Web Sunucusu için hem kendi IP numarasının ulaşılabilir olması hem de 80 ve 443 portlarının (bağlantı noktalarının) internete açık olması gerekir ki İnternet üzerinden bu web sunucusuna erişim sağlanabilsin. Diğer yandan internetten kimsenin bu sunucuya girip yönetiminin yapılabileceği uzak masaüstü ekranına ulaşmasını (3389 numaralı port) istemeyiz çünkü bu web sunucusunun ayarlarını yönetmek için yöneticisinden başka kimsenin bağlanmasına gerek yoktur.

Güvenlik duvarı bu noktada devreye girerek, sunucuya internet üzerinden gelen trafiği kontrol ederek “Şu IP numarasına 443 numaralı port üzerinden bağlantıya izin ver”, “Diğer tüm bağlantıları reddet” gibi kuralları yazmamıza olanak sağlar.

Güvenlik duvarı denildiğinde bir çoğumuzun aklına ilk olarak satın alınabilecek güvenlik duvarı markaları ve cihazları gelse de güvenlik duvarı esas olarak bilgisayar ağı trafiğini kontrol eden bir yazılımdır.

Güvenlik duvarı yazılımı; kullandığımız bilgisayarın işletim sisteminin bir parçası olabilir, ayrı bir sanal makine üzerine kurulabilir, bu işe atanmış farklı bir bilgisayar üzerinde çalışabilir ya da donanım haline getirilmiş ticari bir ürün de olabilir. Bu farklı firewall uygulamalarının tümünün temeli bilgisayar ağı trafiğini denetlemek ve kısıtlamak olsa da özellik, kurulum ve kullanım kolaylıkları ve ücretleri ile birbirlerinden farklılık gösterirler.

İŞLETİM SİSTEMİNE DAHİL GÜVENLİK DUVARLARI – WINDOWS DEFENDER FIREWALL

Windows kurulu bir bilgisayar kullanıyorsak Windows Defender Firewall (Windows Defender Güvenlik Duvarı) işletim sisteminin yanında gelmektedir. Windows işletim sistemleri Windows XP versiyonundan itibaren işletim sistemi ile birlikte gelen bir güvenlik duvarı yazılımı içermektedir. Windows güvenlik duvarı ayarlarına Control Panel (Denetim Masası) üzerinden ulaşılabilir.

Windows Defender Firewall ile;

  • Hangi program(lar)ın
  • Hangi iletişim protokollerinin
  • Hangi IP adreslerinin
  • Hangi Portların
  • Hangi kullanıcıların

dışarıdan içeriye(dış bilgisayarlardan kullandığımız bilgisayara) veya içeriden dışarıya ulaşıp ulaşamayacağı tanımlanabilir. Yukarıdaki listedeki her madde için tek tek kural tanımı yapılabileceği gibi, kombinasyonları da oluşturulabilir. Böylece Windows Defender Firewall yazılımı bir güvenlik duvarının temel görevini yerine getirmiş olur. Fakat Windows Defender Güvenlik Duvarı sadece kullandığımız kişisel bilgisayarı korumak için tasarlanmış bir yazılımdır. Diğer bir deyişle, bir kuruma ait bilgisayarların veya farklı bilgisayar ağları arasındaki iletişimi kontrol etmek için gereken özelliklere sahip değildir.

Windows üzerinde gelen güvenlik duvarına ek özellikler sunan ayrı güvenlik duvarı paket yazılımları bulunsa da bunların ek özellikleri genellikle antivirüs, web siteleri için uyarılar/korumalar içeren, kişisel bilgisayarımızı korumamızı sağlayacak özelliklerdir. Bilgisayar ağı geçidi olarak kullanılabilen Windows Sunucuları da lisanslama nedeniyle çok tercih edilmemektedir. Bundan dolayı konu bilgisayar ağını korumak olunca başka çözümler daha popüler olarak kullanılır.

İŞLETİM SİSTEMİNE DAHİL GÜVENLİK DUVARLARI – LINUX FIREWALL (Netfilter/Iptables)

Linux işletim sistemlerinde, işletim sistemi çekirdeğine bütünleşik olarak çalışan Netfilter adlı bir modül bulunmaktadır. Netfilter modülü, bilgisayar ağı (network) trafiğindeki paketlerin iletilmesi, yönlendirmesi ve filtrelenmesi görevini üstlenir. Kısacası temelde bir firewall ve gateway(ağ geçidi) üzerinde bulunması gereken özellikleri içerir. Iptables programı ise netfilter modülünün yönetimini yapmak için kullanılan bir linux komut satırı programıdır. Bu yazılımlar linux işletim sistemi ile birlikte gelmektedir ve iptables’ı da netfilter’ı da ayrıca kurmamıza gerek yoktur.

Ayrıca Linux sürümlerinin (istisnalar hariç) ve buna dahil olan netfilter/iptables ‘ın da ücretsiz olduğunu biliyoruz. Bu kombinasyon ile firewall olarak kullanabileceğimiz, oldukça da yetenekli olan araçları ücretsiz olarak edinmiş oluyoruz.

Iptables bize komut satırı üzerinden en ince detayına kadar yönetim yapabilecek parametreler sunuyor. Bu parametreleri iptables –help diyerek görebileceğimiz gibi, man iptables komutu ile manual’ı açarak iptables kullanımı hakkında bilgi edinebilir, kullanım örneklerini görebiliriz.

Komut satırından yazılan IPtables parametrelerini her ne kadar aklımızda tutabiliyorsak da, hatırlamadığımız zaman help veya manual’ına bakabiliyorsak da, yoğun kullanımda bir çok parametreyi peşi sıra yazmak uğraştırıcı olabiliyor. Çeşitli durumlara göre çalıştırılması gereken scriptler ve çeşitli otomasyon işleri için iptables komut satırı tercih sebebi olsa da, komut satırından daha pratik bir yöntem de bulunmakta

Webmin

İşletim sistemine dahil olan netflix ve iptables’a ek olarak, webmin’i ayrıca kurmamız gerekiyor. Webmin’in kullanılan linux sürümüne uygun olan sürümünü seçip, webmin.com adresindeki talimatlara göre yüklüyoruz.

Webmin programı linux sistem yönetimi için kullanımı oldukça pratik araçlar sunan, web tarayıcı üzerinden ulaşılarak kullanılan bir yazılım.   Webmin’in Linux Firewall modülünden ulaşılan yönetim panelinden iptables komut satırı ile yapılabilecek(yazılabilecek) kurallar görsel bir tasarım ile yapılabiliyor. Böylece webmin ile parametre ezberlemek veya referans belgelere bakmadan tanımlama şansımız oluyor.

Webmin’i kurduktan sonra web tarayıcısı üzerinde https://localhost:10000 adresini yazarak arayüzüne ulaşılıyor.

Webmin kurulduktan sonra linux firewall modülünde, örnekteki ekranda görüldüğü gibi bir çok özelliği içeren kurallar eklenebilir, düzenlenebilir, sırası değiştirilebilir.

Eklediğimiz kurallar ile;

  • Kurduğumuz firewall ‘a yapılan veya firewall’dan dışarıya çıkan network trafiği
  • Kurduğumuz firewall üzerinden iletilen network trafiği

üzerinde kontrol sağlayabiliyoruz.

Örneğin neler yapabiliriz?

  • Kurduğumuz güvenlik duvarının yönetimi için kullanılan ssh ve webmin erişimini lokal network üzerinde sadece sistem yöneticilerine ait olan bilgisayarlar ile kısıtlayabiliriz.
  • Web sunucusunun sadece 80 ve 443 numaralı, web sitesine erişim için gerekli olan portlara erişimini internete açıp, uzak masaüstü erişimini yine sistem yöneticilerine ait olan bilgisayarlar ile kısıtlayabiliriz.
  • Lokal networkteki kullanıcı bilgisayarlarının internet erişimleri için sadece 80 veya 443 portlarına izin verip, geri kalan erişimleri engelleyebiliriz. Böylece web sitesi gezinmek dışında torrent vs türü uygulamalar kullanılmasını engellemiş oluruz.
  • Web Servisi gibi hizmetler kullanıyorsak, internet tarafından sadece sınırlandığımız IP adreslerinden bağlantı kurulabilmesini sağlarken, başka yerlerden ulaşılmasını da engelleyebiliriz.

Böylece birkaç kural tanımladıktan sonra webmin kurallar ekranı aşağıdaki gibi görünür:

Image result for webmin linux firewall rules

Bu kuralların üzerine tıklayarak özelliklerini değiştirmek, kuralların sıralarını değiştirmek veya kuralların arasına, başına/sonuna yeni kural eklemek oldukça kolay.

Bu firewall üzerine ayrıca bir Saldırı Tespit ve Önleme Sistemi – Intrusion Detection System kurulumu yapılarak firewall kurallarına ek özellikle kazandırmak mümkündür.

5651 sayılı kanuna uygunluk

Ayrıca 5651 sayılı İnternet Ortamında Yapılan Yayınların Düzenlenmesi Ve Bu Yayınlar Yoluyla İşlenen Suçlarla Mücadele Edilmesi Hakkındaki Kanun’a uygunluk için lokal networkten yapılan internet erişimlerinin kayıt altına alınması, bu kayıtların en az 2 yıl saklanması gerekmektedir. Linux güvenlik duvarı üzerine ekleyeceğimiz log dosyaları ile bu gereksinimi de karşılayabiliriz.

Webmin ile iptables kullanımı sistem yöneticilerine konfigurasyon üzerinde manuel konfigurasyonda sınır tanımamakta ve böylece mutlak hakimiyet sağlasa da “bu kadar işe ne gerek var” diye düşünebilirsiniz. Bu durumda Linux güvenlik duvarı olarak kullanılmak üzere hazırlanmış hazir Linux sürümlerini kullanmayı tercih edebilirsiniz. ClearOS, pfSense, OPNsense gibi paket haline getirilmiş linux firewall sürümleri ile linux firewall kurulumlarını pratik bir şekilde yapma imkanı da bulunmaktadır. Örneğin temel bir linux sistem kullanarak oluşturduğumuz firewall üzerine VPN özelliği eklemek için kendimiz bir VPN paketini yükemeliyiz ve ayarlarını yapmalıyız. Fakat paket haline getirilmiş linux sürümlerinde bu özellik de linux sürümünün bir parçası olarak kullanıma hazır olarak sunulmaktadır.

GÜVENLİK DUVARI CİHAZLARI

Fortinet, Sophos, Checkpoint, Cisco gibi markalar üzerlerinde çeşitli özellikler bulunduran firewall cihazlarını üretip satışını yapmaktadır. Bu gibi network cihazı üreten firmaların temel özellikleri içeren modellerden başlayarak bir çok özelliği barındıran ürünlere kadar geniş yelpazede ürünleri bulunmaktadır. Fiyatlandırma açısından da oldukça geniş bir fiyat aralığı bulunmaktadır. Satışı yapılan üst seviye firewall cihazlarının fiyatları üst seviyelere çıkmaktadır. Bu cihazlar ticari olarak satışı yapılan ürünler olduklarından firma olarak profesyonel destek verebilmekte veya hizmet satışı da yapabilmektedirler.

SONUÇ

Düşünülmesi gereken en önemli kriterler, ne kadar özelliğe ihtiyacınız olduğu ve bu iş için ne kadar bütçe ayırabileceğinizdir. Firewall cihazı bir ya da iki lokasyonda gerekiyorsa maliyetini fazla göze batmayabilir fakat 10-20’den fazla şubesi bulunan şirketler için yaklaşık 5 yılda bir yenilenmesi gereken firewall cihazlarının maliyeti hesaplanması gereken bir parametre olarak karşımıza çıkmaktadır.

Linux firewall kurulumu ise hiç bir lisans ücreti gerektirmemektedir. Eğer temel bir linux sistem üzerine işletim sistemini ve yönetim programlarını kendimiz kurmayı tercih edersek dolayı zaten bu işi yapan kişide bulunması gereken network bilgisi yanında linux işletim sistemi bilgisi de gerektirecektir. Bunu çok istemiyorsak, Linux’un kendisiyle çok ilgilenmeyi tercih etmeyip, paket haline getirilmiş linux firewall sürümlerini kullanmayı denemekte fayda var.

Linux firewall’un diğer bir avantajı çok fazla sistem gereksinimi olmamasıdır. Yani işlemci kullanımı, bellek ihtiyacı, hard disk ihtiyacı oldukça kısıtlı diyebiliriz. Böylece işlemci hızı çok düşük olmayan herhangi bir bilgisayar, laptop veya raspberry pi’nin linux firewall olarak kullanılabilmesi mümkün olmakta ve maliyeti oldukça düşük tutmaktadır. Linux firewall kurulumu için zaten sahip olduğunuz fakat artık kullanım dışı bıraktığınız bir donanımı (tutarlı çalışıyor olması koşuluyla) değerlendirmeyi düşünebilirsiniz.

Kurumsal ağlar üzerinden düşünüyorsak dikkat çekmek gereken bir diğer nokta bir güvenlik duvarının ne kadar gelişmiş olursa olsun siber güvenliği tek başına sağlayamayacağıdır. İnternete açık olan hizmetler üzerinde çalışan yazılımların veri giriş alanlarında yapılması gereken kısıtlamalar gibi dikkat edilmesi gerekenler, bu hizmetleri sunan servis yazılımların güncellemeleri/konfigürasyonları ve bu hizmetlere ulaşım sırasında sıradışı aktiviteyi denetleyecek ve kısıtlamaları yapabilecek yardımcı güvenlik yazılımları gibi kavramlar düşünülmeli, alınabilecek önlemler alınmalı, alarm mekanizmaları oluşturulmalı ve manuel rutin kontroller de yapılmalıdır.