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 sanchezjuanc@gmail.com


              #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 (firsttruncated)


                     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.


 

Exit mobile version