Endian Firewall Üzerinde İnternet Ağınızı Raporlama
Sadece Endian Firewall değil, bir çok Linux tabanlı Güvenlik Duvarlarında (Pfsense, İpcop, Smootwall vb. ) ya da kurulu squid+dansguardian sisteminizin loglarında kullanılabilinir.
LightSquid; ağınızda internete çıkan birçok bilgisayarın internet loglarını raporlama işlemini gerçekleştiren bir yazılımdır. Bu yazılım squid loglarınızı analiz edip raporlar.
Sistem Gereksinimleri;
Sisteminizde Apache, Perl, Python kurulu olması gerekmektedir. Ama Endian üzerine kurduğumuz için gereksinimleri kurmaya gerek yoktur.
Kısaca Kurulu Demosunu buradan keşfedebilirsiniz.
LightSquid NASIL YÜKLENİR?
Birinci adım;
LightSquid ‘i http://sourceforge.net/projects/lightsquid/files url linkinden indirebilirsiniz. Maalesef Orjinalinde Türkçe Dil desteği sunmuyor. Türkçe Dil desteğini kendim yazdım.
İkinci adım İster Endian Firewall Linux Konsolundan, isterseniz Putty ile bağlanıp
#cd/home/httpd/html e gelip,
#tar –xzf lightsquid.tgz
yazıp sıkıştırılmış dosyamızı /home/httpd/html dizini altında lightsquid dosyası oluşacaktır.
Neden bu dizinde olduğunun âmâcıda Apache web sunucusu /home/httpd dizini altında görüntülenir. (bunu elle ‘de manuel şekilde kopyalanabilinir.)
Üçüncü adım olarak
#cd /home/httpd/html/lightsquid dizinine girip lightsquid.cfg dosyasını bulup konsoldan #vi /home/httpd/html/lightsquid/lightsquid.cfg
diyip editleyebilir yada linux sistemlerine yeni başlayanlar ise WinSCP ile bağlanıp windowstaki gibi klasörlerin içinde daha hızlı ve kolay şekilde gezebilir, dosyalarınızı düzenleyebilirsiniz. Ben Winscp üzerinden gidicem.
Global Variables kısmındaki cfg dosyasını, tpl yani template, lang yani Dil desteğini, Report yani raporlamaları, işte önemli olan bilgileri alacağı squid access.log dosyasının bulunduğu dizini belirtip bu sayfayla daha işimiz bitmedi son olarakta $squidlogtype = 3; yapmak zorundayız. Log file format olarak 4 çeşit format tipi bulunmaktadır. 1; Dansguardian format, 2; Cvs-style format, 4; tab delimited, ve 3. ‘üncü olan Squid Log File Format. Analizimi 3.’üncüye göre almalıyız.
Dördüncü adım olarak lightparser.pl codunu görünteyip. Aşağıda vereceğim kodu ekliyeceğiz. Bu kod Listeleme işleminde eğer log formatı 3 ise, yapılacak olan listeleme işlemlerini, Host name, ip adres, girilen url, dosyanın boyutunu
zaman damgası vurarak (yıl:ay:gün:saat) gösterilmesine olanak sağlıyor.
}elsif (3 == $squidlogtype) {
#For endian Squid Log by jcsanchez [email protected]
#Feb 3 15:52:43 efw-1265133329 squid[10435]: 1265241163.648 761 127.0.0.1 TCP_MISS/200 315 POST http://gest.ivelog.com/url.asp – DIRECT/74.55.113.194 text/html
#Feb 3 15:52:43 efw-1265133329 squid[10435]: 1265241163.650 767 10.10.10.245 TCP_MISS/200 443 POST http://gest.ivelog.com/url.asp – FIRST_UP_PARENT/content1 text/html
($garbacemonth,$garbaceday,$garbacenameserver,$garbace__,$garbacesquid,$Ltimestamp,$Lelapsed,$Lhost,$Ltype,$Lsize,$Lmethod,$Lurl,$Luser,$Lhierarchy,$Ltype)=split;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($Ltimestamp);
$mon++; #fix, month start from 0
$date =sprintf(“%04d%02d%02d”,$year+1900,$mon,$mday);
#check row with invalid record
if ( ($#Lrest >= 0) && ($#Lrest < 4) ) {
$str=$_;
#maybe two concatenated record (first – truncated)
if ($str =~ m/(d+.d+s+d+s+(d{1,3}.){3}d{1,3}s+w+/d+s+d+w+s+S+s+S+s+S+s+w+/S+s(-|([a-zA-Z-]+/[a-zA-Z-]+)))$/) {
$newstr=$1;
($Ltimestamp,$Lelapsed,$Lhost,$Ltype,$Lsize,$Lmethod,$Lurl,$Luser,$Lhierarchy,$Lconttype)=split /s+/,$newstr;
} else {
# maybe source url contain SPACES, try concatenate …
while ($#Lrest != -1) {
$Lurl.=”_$Luser”;$Luser=$Lhierarchy;$Lhierarchy=$Lconttype;$Lconttype=shift @Lrest;
}
#do some sanity check
unless (($Lhierarchy =~ m/w+/S+/) and ($Lconttype =~ m/-|([a-zA-Z-]+/[a-zA-Z-]+)/)) {
$notrecoveredlines++;
next;
}
}
$recoveredlines++;
}
Ekran görüntüsü aşağıdadır. Satırlara çok dikkat edin. Açıklama satırlarına özellikle.
Beşinci adım olarak son birkaç işlemimiz kaldı. *.cgi ve *.pl dosyalarına izin ataması yapacağız.
#cd /home/httpd/html/lightsquid
#chmod +x *.cgi
#chmod +x *.pl
Ve lightsquid ‘ı çalıştırıyoruz.
/home/httpd/html/lightsquid # ./lightparser.pl
Altıncı adım, kurulum aşaması sona erdi. Şimdi İnternet Explorer ımızı açıp adres çubuğuna http://endian-pc-ip/lightsquid yazıp Enter lıyarak
aşağıdaki sayfa (Demo Sitesinden alınmıştır) ekranımıza gelir.
Yedinci adım log analizimizin Saat başı güncellenmesi için, /etc/cron.hourly dizininde lightsquid adında bir dosya yaratıyoruz. İçine girip aşağıdaki kodu ekliyoruz.
#cd /etc/cron.hourly
#vi lightsquid
INS tuşuna yada :i yazıp. İçine;
#!bin/sh
cd /home/httpd/html/lightsquid
./lightparser.pl
Exit 0
ESC :wq
Yazıp çıkıyoruz. Bunu dakikada bir #cd /etc/cron.minutely
saatte bir #cd /etc/cron.hourly
günde bir #cd /etc/cron.daily
haftada bir #cd /etc/cron.weekly
olarakta düzenleyebiliriz.
Daha sonra editlediğimiz dosyaya izin vereceğiz.
/etc/cron.hourly #chmod 700 lightsquid
Makalemizin sonuna geldik, umarım faydalı bir makale olmuştur.