Bu makalemde Microsoft güvenlik ailesi Forefront ürün ağacı içerisinde yer alan TMG ürününün SQL 2008 üzerinden loglanmasını anlatacağım.Tmg 2010 ISA 2006 ürününden sonra Forefront güvenlik ailesi içerisinde TMG 2010 olarak yeni ismi ile lanse edilmektedir.Çözümpark portalı içerisinde Tmg kurulumu ve konfigürasyonu üzerine yazılan bir çok makale ve webcast videosu bulunmaktadır.Bu nedenle ben ayrıntılara girmeden makalemiz içerisinde sadece loglama konusuna yer vereceğim.
Mevcut yapı üzerinde 3 farklı loglama şekli bulunmaktadır. Bunlardan default olanı yani varsayılan ayar olarak karşımıza gelen, Sql server Express Databasedir.Bu yöntemde Tmg kurulumu sırasında kurulan kısıtlı sql sürümü yer almaktadır. Tmg üzerinde oluşan loglar Tmg’nin kurulu olduğu dizin altında Logs klasörüne mdf formatında kaydedilmektedir.İkinci seçenek makale konumuz olduğu için geniş bir anlatım yapacağız.Üçüncü seçenek ise bizim gösterdiğimiz bir dizine w3c formatında logların kaydedilmesini sağlamaktadır.Şimdi gelelim Sql üzerinden nasıl loglama yapacağımıza ;
1-Sistemde aşağıdaki resimdeki gibi bir yapı bulunmaktadır.Burada sql 2008 olan Tmg ile birlikte otomatik olarak kurulan sql Express ,sql 2008 R2 olanı ise benim kurduğum sql programıdır.Sql Server Management Studio’ya tıklayarak açalım.
2-Karşımıza aşağıdaki ekran gelmektedir.Sql 2008 R2 kurulu bilgisayarımın adı TMG Sql Instance ise TMGLOGLAMAK olarak aşağıda gözükmektedir.Connect butonuna tıklayarak login oluyorum.
3-Bu ekranda biraz Sql yapımdan bahsedeceğim ilerde kullanacağımız bazı özelliklerde hangi ayarı neden yaptığımız konusunda kafamızda soru işareti kalmasın.TMG\TMGLOGLAMAK olarak yapılandırılmış yapım üzerinde sağ click özellikler yapınca kurulu yapımızın özellik ekranı açılmaktadır.Resimde görüldüğü gibi Sql domain ortamında kurulduğu için Windows Authencation Mode olarak kurulmuştur.Bu sizin tercihinize göre değişebilir.Sql kurulumu ve kullanımı konusunda bilgi sahibi olmak için yine Çözümpark portalı üzerinde bulunan Sql makalelerinden oldukça yararlanabilirsiniz.
4-Şimdi loglarımızı tutmak için önce bir database oluşturalım. Database üzerinde sağ click New Databaseyi tıklayalım.
5-Açılan ekranda ismimizi verelim ve Ok butonuna basalım. Ben database ismimi LOGDATABASE olarak verdim.
6-Ekranda Görüldüğü gibi LOGDATABASE isminde olan databese oluşturulmuştur.
7-Şimdi Database altında logların tutulacağı tabloları oluşturalım.Bu tabloların oluşturulması için Tmg programının kurulu olduğu dizinde gerekil kodlar hazır olarak bulunmaktadır.Zaten aksi durumda bunu yazmak zaman alıcı bir iş olacak ve çekilmez bir iş yükü getirecektir.Aşağıdaki resimde bulunan Fwsrv dosyasını sql oluşturduğumuz database ekranında açıkken çift tıklatıp açılmasını sağlayalım.
8-Aşağıda resimde görüldüğü gibi gerekli query kodları geldi.Bizim sadece yapmamız gereken Execute butonuna tıklamak.
9-Aynı işlemi webProxyLog dosyası içinde gerçekleştirip execute butonuna tıklatalım.
10-Aşağıda görüldüğü gibi FirewallLog ve WebProxyLog isimli tablolarımız oluşturuldu.
11-Şimdi ilerde kafanızın karışmaması için kısa bir bilgi daha aktarıyım. Aşağıda resimde görüldüğü gibi işlemlerimi Windows Authencation mode üzerinden yapacağım için COZUMPARK\TMG kullanıcısını üzerinden yapacağım.
12-Şimdi Sql Server Configuration Manageri açalım Tmg ile Sql 2008 arasında iletişim sağlamamız için birkaç ayar yapmamız gerekiyor.
13-Açılan ekranda TMGLOGLAMAK isimli instance özelliklerinde yer alan TCP/IP rolünü enable durumuna getirmemiz gerekli.
14-Bu işlem için TCP/IP çift tıklatalım ve Enabled özelliğini Yes olarak ayarlayıp OK butonuna tıklatalım.
15-Aynı ekranın IP Address sekmesinde ise Tcp Port alanına 1433 nolu portu gerekli ip için yazıp Active durumunu Yes ,Enabled durumunu Yes olarak ayarlamamız gerekiyor.Ben 127.0.0.1 ve iç bacak ip adresim olan 192.168.1.2 ip adresleri için bu şekilde 1433 portunu tanımlayarak ve Active durumunu Yes, Enabled özelliğini de Yes olarak ayarlıyorum.
16-Tmg Sqle bağlanmak için bir API’ye gerek duyar.Bizim API’miz ODBC olacaktır.Resimdeki gibi ODBC’yi açalım.
17-Açılan ekranda System DSN sekmesini tıklatım Add Butonuna basalım.
18-Bu ekranda name ve despriction ismi verdikten sonra Server kısmına tıklayarak bağlanacak olduğumuz TMG\ISALOGLAMAK İsimli serveri seçin Next butonuna basalım.
19-Bu ekranda gerekli authencation türünü seçelim.Makale başında buna değinmiştik.Biz Windows authencation mode kurduğumuz için bunu seçelim.İşlem yapacak kullanıcıya da değinmiştik zaten işlem yapacağımız kullanıcı default olarak resimdeki gibi gelmiştir.Next butonuna tıklayarak ilerleyelim.
20-Gerekli database listeden seçelim Next butonuna basalım.
21-Bu ekranı default ayarlarda bırakarak Next butonuna basalım.
22-Aşağıdaki ekranda Test Data Source Butonuna basalım.Bir sonraki ekranda aşağıda olduğu gibi Test Completed Successfully mesajını alırsak bağlantımız başarılı bir şekilde oluşturulmuş durumdadır.
22-Aşağıdaki ekranda Test Data Source Butonuna basalım.Bir sonraki ekranda aşağıda olduğu gibi Test Completed Successfully mesajını alırsak bağlantımız başarılı bir şekilde oluşturulmuş durumdadır.
24-Loglama işleminin yapılabilmesi için REmote Logging [SQL) bölümünde General sekmesi içirisinde Enable This configuration group seçeneği seçilmelidir.
25-Bu işlemden sonra Applly Butona basarak değişiklikleri kayıt etmeliyiz.
26-Logların sql üzerine kayıt edilmesi için Logs&Reports sekmesine gelelim buradan Configure Web Proxy Logging linkine tıklatalım.
27-Gelen ekranda Sql database seçilir.Ayarlar için options butonuna tıklatalım.Server kısmına TMG\TMGLOGLAMA olan sql serverimizin ismini yazalım.Makale başında bu kısımlarda kafanızın karışmaması için ufak bilgiler vermiştim. İletişimin sağlanacağı ve açtığımız 1433 port numarasını yazalım.Database kısmına LOGDATABASE olarak oluşturduğumuz database ismini verelim.Force Data Encryption kısmında ise dataların encryptionlu olarak kaydedilmesi sağlanır.Bunun olması için localde bir CA server kurulu olmalı ve oluşturulan sertifika sisteme import edilmelidir.Biz sertifika kullanmayacağımız için Force Data Encryption işaretli olmayacaktır.Makalemizin başında Authencation ayarı hakkında bilgi vermiştik.Bu nedenle UseWindows Authencationu seçerek kullanıcımı ve şifremi gerekli alanlara yazıyorum.Test butonuna basıp bağlantınızı sınayabilirsiniz.
Biz bu kısımda web Proxy logları için gerekli işlemleri anlattık siz eğer firewall loglarını tutmak isterseniz makale başında hatırlarsanız iki tablo oluşturmuştuk.Bunlardan FirewallLog tablosunu kullanarak üst resimde yaptığımız ayarları Configure Firewall Logging linkine tıklayarak yapabiliriz.Ayarlar üst ekrandaki gibi olacaktır sadece tablo ismi FirewallLog olacaktır.Şimdi logların sql üzerine aktarılıp aktarılmadığını denemek için Tmg üzerinden nete çıkalım.Tabi yukarıdaki ekranlara Ok diyip çıkalım ve Tmg üst ekrandaki Applly butonuna basarak ayarları kayıt edelim.Şimdi bir iki site ziyaret edeceğim.
28-Şimdi sitelere giriş yaptık SQL üzerinde bakalım loglama işleminde durum ne bunun için sqli açalım.LOGDATABASE
tablosundayken bir query çalıştıralım.Select * from WebproxyLog komutu ile tablo içerisine bakalım.Sonuç başarılı giriş yaptığımız siteler loglarımıza yansımış durumda.Bu yapı ile büyük organizasyonlarda uzun süreli log tutabilir.Loglama işlemlerinde performans artışı sağlayabilir ve yazacağımız sorgulara göre detaylı analizler yapıp rapor üretebiliriz.
Umarım açıklayıcı ve yararlı bir makale olmuştur. Farklı bir makalede görüşmek dileğiyle.