Pfsense Kullanıcı Bazlı Web Filtreleme ve Download Yasaklama
Pfsense makale serimizin bu bölümünde kullanıcı bazlı kısıtlamalar ve internetten dosya indirilmesini yasaklayacak kurallar tanımlayacağız. Peki, kullanıcı bazlı kural yazmak ne tür durulmada işimize yarayacak? Çalıştığımız ortamda kullanıcıları gruplara ayırma ihtiyacı hissedebiliriz. Muhasebe grubu banka sitelerini açarken radyo ve oyunları yasaklayabilir, Personel Grubuna bütün neti yasaklar sadece gerekli siteleri açmasını sağlayabilir ve Yönetim grubuna sınırsız internet kullanım izni verebiliriz.
Önceki makalemizde Squid ve SquidGuard paketlerinin kurulumunu ve yapılandırmasını incelemiştik. Dilerseniz kurallarımızı oluşturmaya başlayabiliriz.
Kuralımızı Proxy Fitler(SquidGuard) sekmesine tıklayarak oluşturmak için Services filtreleme yapacağım bölümün açılmasını sağlıyorum. SquidGuard kurulum makalesinde servis ‘i stop durumda bırakmıştık.
Apply butonuna basmadan önce Default ‘ta all Access deny olarak gelmekte olduğunu hatırlayalım ve bütün internetin bir anda kesilmemesi için öncelikle Default kısmından all Access allow verelim.
Default Access Allow verdikten sonra save diyerek kuralımızı kaydediyoruz.Bu aşamadan sonra kuralımızın aktif hale gelmesi için General Settings Sekmesinden Apply butonuna tıklayarak servisin Start konuma geçmesini ve kuralımızda yapılan son değişikliklerinde aktif hale gelmesini sağlıyoruz.
Burada aklımıza şu LAN sekmesinde LANà Rules àsoru gelebilir Pfsense ilk kurulduğunda Firewall Net (Lan Network teki Bütün Kullanıcılar) için bütün trafik açık halde gelir.
Peki internal için bütün trafik açıksa içerik filtreleme nasıl çalışacak.Kural mantığı şu şekilde işliyor.İlk olarak eğer Proxy Filter sistem üzerinde kurulu ise kullanıcı buradaki kuraldan etkileniyor.
Bu bilgiler ışığında artık kullanıcı bazlı kural tanımlamaya geçebiliriz.Öncelikle şunu yapmak istiyorum.Yönetim kısmına internet kullanımını sınırsız hale getireceğim.Bunun için Proxy Filter kısmından ACL (Access Control List) kullanıcı grubu oluşturarak işe başlayalım.
Name = kısmında kuralımız için bir isim belirliyoruz.
Source İp = Kuralımızdan etkilenecek olan kullanıcı ip adreslerini burada belirtiyoruz.
Time = Bu kısmı kullanabilmek için Times Sekmesinde öncelikle zamanlama kısıtlaması belirlememiz gerekmektedir.
Times kısmında belirlediğimiz saatleri kuralımızda seçersek kullanıcılar bu saatlere göre interneti kullanabilecekler.Bu kısmı editlemeden geçiyorum.
Destination = Yeşil OK sekmesine basarak açılmasını sağlıyorum ve yönetim kullanıcılarına all traffic allow vereceğim için en alttaki kuralı allow yapıyorum.
Not to allow ip addresses in URL = Bu kısım genellikle işaretlenir fakat ben işaretlenmemesi gerektiğini düşünüyorum.Nedenine gelince bazı banka sitelerinde yönlendirmelerde ip adresini ile link açılır.Eğer buradaki kutuyu işaretlerseniz kullanıcı domain name yerine ip ile girmek isterse buna izin verme demiş oluyorsunuz.
Redirect = (Ve en ) Yasaklı sitelerde kullanıcıları karşılayacak olan yönlendirmeJsevdiğim bölüm sayfası in error page (enter error message) seçerek alttaki kısma karşılama mesajını yazabilirsiniz.
Enable log = Loglama yapacağımı belirterek kuralımı Save Ediyorum.
İkinci bir kural tanımlamadan önce birde kişisel engelleme kuralı için örn:facebook Destination sekmesine gelerek ‘+’ sekmesine basıyorum.
Kuralı inceleyecek olursak,İsim verdim ve domain list kısmına facebook.com domain adresini ekledim 2. adresi eklemek istersem arada bir boşluk bırakmak yeterli olacaktır.
Expressions kısmını daha sonra inceleyecegiz.
url list te yine url adresi belirleyebiliriz ,redirect ile error sayfası log tut ve Save diyerek kuralı bitiriyorum.
Kural tanımlamayı bitirdim fakat kuralım daha aktif hale gelmedi.Bunun için General Settinds sekmesinden Apply yapmamız gerekiyor.Fakat zaten Default kuralımız bütün trafiğe allow halde olduğu için Yönetim kuralımız etkisiz kalacaktır.Bu kuralın etkili olabilmesi için ISA server mantığındaki gibi en alttaki kuralın all traffic deny olması gerekir.Bunu yapmadan önce bir kural daha yazalım ve Personel kullanıcıları için kısıtlı internet verelim.Yönetim kuralı ile Personel kuralı arasındaki farkı daha iyi anlayalım.
Kuralımda Default Access Allow veriyorum ve en üstten başlayarak neleri kısıtlayacaksam deny seçiyorum.Bu kurala göre 192.168.1.3 ip adresine sahip kullanıcı porn –audio-video – hacking kişisel tanımlı olan facebook sitesine erişimi engellenecek.
Default kuralıma gelerek en alttaki All Access Deny Yapıyorum ve General Settings kısmında Apply butonuna basarak bütün yaptığım değişikliklerin uygulanmasını sağlıyorum.
Bu yazılan kurallara göre 192.168.1.202 ip adresi facebook.com açarken 192.168.1.3 ip adresine sahip kullanıcı adresi açamaması gerekir.
Kuralımız sağlıklı bir şekilde çalışıyor.Son olarak download izinlerinide Personel kuralına ekleyelim.Yapmamız gereken tek şey Personel kuralını açmak ve Destination kısmında Yasak isimli kuralımızın expressions kısmına indirilmesini istemediğiniz her şeyin uzantısını yazmak olacaktır.
Kuralımıza eklemeleri yaptıktan sonra General Settings sekmesinden apply diyerek uygulanmasını sağlıyoruz.
Bir sonraki makalemizde Pfsense Üzerinde Port İzinleri ve VPN konularını hep birlikte inceleyeceğiz.