OpenSourcepfSenseSquidSquidGuard

pfSense Proxy Server – Squid ve SquidGuard Kurulumu

pfSense Proxy Server – Squid ve SquidGuard Kurulumu

pfSense kurulumumuzu ve pfSense hotspot yapılandırmamızı yaptık. Şimdi sırada Linux/Unix sistemler için geliştirilmiş olan Squid ve SquidGuard kurulumu var. Squid yazılımı HTTP, HTTPS ve FTP gibi web servislerine ait trafiği üzerine alarak proxy’lik (vekillik) yapar. Web sayfalarına olan erişimleri kontrol etmek ve yönetmek için kullanılır. Ayrıca cache özelliği ile kullanıcı sayısı fazla olan ağlarda performans açısından avantaj sağlamaktadır. Cache çalışma mantığına kabaca değinecek olursak kullanıcı ilk kez milliyet.com.tr’ye gittiğinde verileri direkt olarak sunucudan çekerken daha sonraki ziyaretlerinde siteye ait ilgili bilgiler proxy’nin deposundan sunulur. Bu senaryoyu tek istemci olarak değil de yüzlerce hatta binlerce istemcinin olduğu bir ağ yapısında hayal ettiğimizde performans açısından büyük destek sağlayacaktır.

 

Kurulum:

Squid ve SquidGuard yazılımlarına kolayca pfSense paket yöneticisinden indirebilirsiniz.

 System > Package Manager > Available Packages  yolunu takip ederek ilgili paket kurulumlarını yapabilirsiniz. Paketlerin kurulumu bitene kadar lütfen sayfadan ayrılmayın ya da sayfayı yenilemeyiniz.

pfSense Paket Yöneticisi
pfSense Paket Yöneticisi

     

    Sertifika Otoritesi Oluşturma (CA):

    Squid ve SquidGuard yapılandırma ayarlarına geçmeden önce SSL Inspection için pfSense üzerinde bulunan  Certificate Manager  alanından bir adet sertifika otoritesi (CA) oluşturacağız. CA oluşturmamızın asıl nedeni, HTTPS trafiğini inspect ederek HTTPS trafiğine ait logları düzgün bir şekilde almak. Aksi takdirde sadece HTTP trafiğine ait logları topluyor olacağız ki bu bizim için yeterli olmayacaktır.

     System > Certificate > ManagerCAs  yolunu izliyoruz. Sağ aşağı köşede bulunan + Add butonu ile CA yapılandırmamıza başlıyoruz:

    pfSense CA Yöneticisi
    pfSense CA Yöneticisi

     

    Daha sonra karşımıza gelen ekranda aşağıdakine benzer biçimde bilgileri giriyoruz ve Save butonu ile onaylıyoruz.

    pfSense CA Oluşturma
    pfSense CA Oluşturma

     

    pfSense üzerinde 10 yıllık geçerlilik süresi olan CA oluşturmuş olduk. Artık Squid yapılandırmasına geçebiliriz.

     

    Squid Yapılandırma:

    Squid yapılandırmasını yapabilmek için öncelikle  Package > Proxy Server: Cache Management > Local Cache  alanına gitmemiz ve sayfanın en altında bulunan Save butonuna basarak ayarları kaydetmemiz gerekmektedir. Yoksa pfSense, Squid yapılandırmasına müsaade etmeyecektir.

    Squid ile alakalı yapılandırma ayarlarını

    • Squid General Settings
    • Transparent Proxy Settings
    • SSL Man In the Middle Filtering
    • Logging Settings
    • Headers Handling, Language and Other Customizations

    olmak üzere 5 bölüm olarak ele alacağız.

     Package > Proxy Server: General Settings > General  yolunu izliyoruz ve aşağıdaki ekran görüntülerine göre yapılandırmamızı yapıp kayıt ediyoruz.

     

    Burada özellikle unutulmaması gereken şey, SSL Man In the Middle Filtering kısmında bulunan CA açılır penceresinde önceden oluşturmuş olduğumuz CA’yı seçmek olacaktır.

    Squid yapılandırmamız tamamlanmış bulunmaktadır. Yapılandırmada herhangi bir sorun olup olmadığını anlamak için aşağıdaki komut ile access.log’u tail komutu ile izliyorum. Bu arada bazı sitelere ve servislere bağlanarak trafik oluşturuyorum.

    tail -f /var/squid/logs/access.log

     

    Test:

    Görüleceği üzere yapılan yapılan web bağlantılarına ait logları görebiliyoruz. Örnek çıktımız aşağıdaki gibidir:

    1606255390.913  60804 10.61.61.7 TCP_TUNNEL/200 9461 CONNECT www.yarininsuyu.com:443 - ORIGINAL_DST/18.192.223.105 -
    1606255390.961  60182 10.61.61.7 TCP_TUNNEL/200 10812 CONNECT medya.ilan.gov.tr:443 - ORIGINAL_DST/163.171.216.87 -
    1606255391.161  60301 10.61.61.7 TCP_TUNNEL/200 4756 CONNECT match.adsrvr.org:443 - ORIGINAL_DST/52.17.171.52 -
    1606255391.215  60591 10.61.61.7 TCP_TUNNEL/200 6295 CONNECT aa.agkn.com:443 - ORIGINAL_DST/52.28.42.15 -
    1606255392.200  60175 10.61.61.7 TCP_TUNNEL/200 39123 CONNECT code.jquery.com:443 - ORIGINAL_DST/209.197.3.24 -
    1606255393.945 135017 10.61.61.7 TCP_TUNNEL/200 6754 CONNECT adserver-us.adtech.advertising.com:443 - ORIGINAL_DST/152.199.21.89 -
    1606255395.310  60175 10.61.61.7 TCP_TUNNEL/200 383 CONNECT maxcdn.bootstrapcdn.com:443 - ORIGINAL_DST/209.197.3.15 -
    1606255395.330  65461 10.61.61.7 TCP_TUNNEL/200 4703 CONNECT speeddials.opera.com:443 - ORIGINAL_DST/107.167.110.211 -
    1606255397.566  60274 10.61.61.7 TCP_TUNNEL/200 6140 CONNECT pixel.advertising.com:443 - ORIGINAL_DST/3.124.119.192 -
    1606255397.660  65302 10.61.61.7 TCP_TUNNEL/200 96254 CONNECT connect.facebook.net:443 - ORIGINAL_DST/31.13.69.13 -
    1606255398.903  66063 10.61.61.7 TCP_TUNNEL/200 984 CONNECT www.facebook.com:443 - ORIGINAL_DST/31.13.69.35 -
    1606255399.871  29743 10.61.61.7 TCP_TUNNEL/200 4655 CONNECT af.opera.com:443 - ORIGINAL_DST/107.167.110.216 -
    

     

    SquidGuard Yapılandırma:

     Package > Proxy filter SquidGuard: General settings > General settings  yolunu takip ediyoruz.

     

    SquidGuard ile alakalı yapılandırma ayarlarını

    • General Options
    • LDAP Options
    • Service options
    • Logging options
    • Miscellaneous
    • Blacklist options

    olmak üzere 6 bölüm olarak ele alacağız.

    Öncelikle General Options kısmında bulunan Check this option to enable squidGuard kutucuğu işaretlenmeli ve Apply butonuna basarak SquidGuard service state: STARTED. konumuna getirilmeli ondan sonra aşağıdaki yapılandırma ayarlarına geçilmelidir.

     

     

    SquidGuard Blacklist kısmında kullandığımız adresi aşağıdaki code snippet içerisinden kopyalayabilirsiniz. Bu adres bize SquidGuard tarafında kullanabileceğimiz hazır kategori bazlı kurallar sunmaktadır. İsteğimize göre enable ya da disable edebiliriz.

    http://www.shallalist.de/Downloads/shallalist.tar.gz (geçerli değil)
    http://www.squidguard.org/Downloads/squidGuard-1.3.tar.gz (güncel link)
    
    Aşağıdaki adımları güncel adrese göre uygulayınız.

     

    Bu adresi yazmak yeterli olmuyor  Package > SquidGuard > Blacklists  yolunu izleyerek pfSense’e ilgili paketi indiriyoruz.

    SquidGuard Blacklist Update
    SquidGuard Blacklist Update

     

    Son olarak  Package > Proxy filter SquidGuard: Common Access Control List (ACL) > Common ACL  kısmında hangi web kategorilerine erişim izni verilip verilmeyeceği ayarlanabilir.

    SquidGuard Common ACL
    SquidGuard Common ACL

     

    Bu loglar 3rd party bir SIEM yazılımına gönderilip erişim ile alakalı raporlar oluşturulabilir. Örn: GrayLog.

    Evet bu yazımda Squid ve SquidGuard kurulumu ve yapılandırmasından bahsetmiş oldum, artık misafir kullanıcılarımız için yapılandırmasını yapmış olduğumuz hotspot ile beraber 5651 sayılı kanuna odaklanabiliriz. Bir sonraki yazım DHCP ve bağlantı trafiğine ait logların hash’ini alıp imzalanması hakkında olacaktır.

     

    Stay Tuned!

     

    Squid

    SquidGuard

    Serdar Kurt

    Merhaba, 1986 Ankara doğumluyum. Sakarya Üniversitesi Bilgisayar Programcılığı mezunuyum. Şu an özel bir şirkette Security Engineer pozisyonunda görev yapıyorum. Bilişim Teknolojileri alanında kendimi geliştirmeye devam ediyorum.

    İlgili Makaleler

    Abone ol
    Bildir
    guest
    14 Yorum
    Eskiler
    En Yeniler Beğenilenler
    Satır İçi Geri Bildirimler
    Tüm yorumları görüntüle
    Başa dön tuşu

    Reklam Engelleyici Algılandı

    Bana destek olmak için lütfen reklam engelleyicinizi devre dışı bırakınız ya da bu siteyi izin verilenler listesine ekleyiniz.