Database firewall: GreenSQL

GreenSQL açık kaynak kodlu bir veritabanı güvenlik duvarı. Şu an için sadece MySQL desteği bulunan GreenSQL, veritabanı sunucularının önünde bir database proxy olarak çalışıyor.

GreenSQL'in yapısı
Veritabanına yapılan sorguları belirli risk ölçülerine göre değerlendikten sonra engelleyebiliyor. Bu sayede SQL Injection ve DROP, ALTER gibi riskli yönetimsel komutların veritabanına ulaşması önlenmiş oluyor.
Engellediği sorgular için uygulama sunucusuna boş sonuç tablosu döndüren GreenSQL’in 4 modu bulunuyor:

  1. Aktif engelleme yapmadığı, ama normalde devrede olsa neler yapacağını göreceginiz simulasyon modu,
  2. Şüpheli sorguları engelleme modu,
  3. Öğrenme modu,
  4. Bilinmeyen sorguları engelleme modu

Detaylı bilgiye GreenSQL hakkında sayfasından ulaşılabilir.

Gerçek ortamda kullanımı konusunda ilk akla gelen sorular, performans, hatalı tespit oranı (düzgün ayarlama ile azaltılabilir tahmin ediyorum), replikasyon ortamlarında kullanımı vd.

Kerio Personal Firewall 4 inceleme

Kerio personal firewall (KPF) yazilimini bir suredir kendi bilgisayarimda deniyorum. Urunun ozellikleri hosuma gitti. Weble ilgili karsilastigim bir problem disinda kullandigim diger ozellikleriyle fazla problem yasatmadi. Cok fazla zaman ayirmak istemedigim icin burada urunun butun ozelliklerinden bahsetmiycem, ama ana hatlariyla urunu anlatmak istiyorum.

Urunun ana ekranini actiginizda (configuration olarak geciyor) yukaridaki sekilde[1] goruldugu gibi, hangi programin ag uzerinde o an ne kadar trafik harcadigi, nereye hangi port’tan bagli oldugu, ve hangi uygulamanin hangi port’u dinledigi gorulebiliyor.

Ilk Kullanim ve Network Kurallari

Ilk olarak bilgisayarinizin bagli oldugu network hakkinda bilgi vermenizi istiyor. Guvenilir (trusted), veya guvenilir olmayan (untrusted) bir network’te olup olmadigimizi soruyor ve bu network’e bir isim vermemizi istiyor. Bunun amaci, firewall’da (network security) basitce kural yazabilmek. Genel kurallar IP bazli olmadigi icin, bilgisayarinizi farkli bir network’e aldiginizda ayni kurallarin gecerli olmasi icin, yeni network’un guvenilir veya guvenilir olmayan network olup olmadigini belirlemeniz yetiyor.
Herhangi bir uygulama internete veya bagli bulundugunuz ag uzerinde herhangi bir yere erismek istediginde, veya herhangi harici bir client, sisteminizde calisan bir sunucu yazilimina erismek istediginde, KPF size bu baglanti istegi ile ilgili ne yapmak istediginizi soruyor. Burada onaylama veya reddetme secenegi bulundugu gibi, bundan sonraki benzer istekler icin kural ekleme onay kutusu da bulunuyor. Bu sekilde eklediginiz kurallar, bulundugunuz network bazinda kisitlamaya tabi tutuluyor. Ornegin, “programin guvenilir ag uzerinde herhangi bir yere erismesine izin ver”, “programin guvenilir olmayan (untrusted, Or: internet) ag uzerinde herhangi bir yere erismesine izin ver”, “programa guvenilir agdan gelen baglanti isteklerine izin ver” gibi.
Bu kurallar disinda, uygulamanin sadece belirli protokol ve port’lara erisebilecegi sekilde gelismis kurallar olusturabiliyorsunuz. Size sordugu sirada kural olusturken “Create an advanced filter rule” diyerek kurali duzenlemeniz, veya konfigurasyon’da “network security” icerisinden “packet filter” kisminda bu kurallari tanimlayabilmeniz mumkun.
Ayrica kurallara log’lama veya alarm uretme secenekleri ekleyebiliyorsunuz.

Sistem Guvenligi
Sistem guvenligi olarak gecen kisimda, bir uygulamanin baslamasi, daha onceden bilinen bir uygulamanin degistirilmis olmasi (bilmediginiz bir sekilde degistirilmis olabilir) veya bir uygulamanin baska bir uygulamayi calistirip calistiramayacagi kontrol edilebiliniyor.
Genelde program kurarken “bu uygulama, baska bir uygulamayi calistiriyor” diyerek, fazla soru sormasina neden olsa da urunun bu ozelligi de hos.

IDS(Saldiri Tespit Sistemi) Modulu
Urunun IDS modulu, imza veritabaninda olan kotu trafikleri ve port tarama islemlerini tespit edip engelleyebiliyor. Bu durumlar gerceklestiginde bir alarm uretme seceneginin olmamasi hos degil. Urunun su an deneme yaptigim surumunde, sadece loglama secenegi bulunuyor.

Web Filtreleme Modulu
Web filtreleme tarafinda reklam, pop-up pencere, javascript, vbscript bloklama; cookie’ler ile ilgili filtrelemeler, ve kisisel bilgi bloklama secenekleri bulunuyor. Kisisel bilgiden kasit, sizin yazdiginiz herhangi ozel bir verinin, web uzerinden gonderilmesini engellemek.
Web erisimlerini transparan olarak inceliyor ve yaratilan politikaya gore degistiriyor. Urunun pop-up filtreleme ozelligini kullanmanizi onermem, zira ziyaret ettiginiz sayfalarin icerisine bir javascript kodu ekleyerek pop-up’lari bloklamaya calismasi pek mantikli degil. Bunu browser’in ozelligi ile halletmek bana daha mantikli geliyor.

Web erisimi konusunda, www.discogs.com sitesine gittigimde asagidaki gibi bir problemle karsilasiyorum ve Kerio’nun forumlarinda gordugum kadariyla bu sorunla tek karsilasan ben degilim.

Sorunu yasadigim siteyi istisna(exception) listesine herseye izin verecek sekilde koymama ragmen, yine ayni hatayi almaya devam ediyorum.
Kerio, yeni surumlerinde bu sorunu duzeltiyor olabilir.


______________

[1] ekran goruntusu Kerio web sitesinden alinmistir.