Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Squid3 Yapılandırması ve "https" içerik filtrelemesi

    Turkish
    20
    50
    28.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • technicalT
      technical
      last edited by

      Herkezin facebook u https ten giriyorlar vb. konularla bir dünya kural oluşturarak aşmaya çalıştığı sorunları artık kolay bir şekilde "https filtreleme" ile açacağız

      Öncelikle konuya başlamadan önce kullandığım paketleri yazıyorum

      squid3
      squidGuard-squid3

      bunun dışında işin zor kısmı diyebileceğimz bir yapılandırma var bu wpad.dat,wpad.da,proxy.pac ve wpad.dat%00 dosyalarının oluşturularak tarayıcıların proxy sunucumuzu otomatik olarak algılamasını sağlamak.
      tarayıcı ayarlarını 1. resime bakarak ayarlayalım.
      wpad.dat,wpad.da,proxy.pac ve wpad.dat%00 dosyalarının yapılandırması kod içinde verdim. herhangi bir metin düzenleme yazılımı ile bu dosyaları oluşturup içeriğini aynı olarak kaydediniz. (ip kısmına kendi pfsense proxy adresini ve portunuzu giriniz)

      
       function FindProxyForURL(url,host)
       {
       return "PROXY 10.50.2.1:3128";
       }
      
      

      Şimdi bu dosyalarımızı oluşturduktan sonra sistemde tanımlı bir web sunucusuna ihtiyacımız var. (pfsense kendisi bir web sunucusu barındırır yalnız pfsense ye port yapılandırması ile bağlanıyorsanız bu ayarlar çalışmıyor yani pfsense ye 10.50.2.1:5151 gibi bir web arayüzü ile bağlanıyorsanız sorun yaşarsınız web arayüzü giriş ekranını 80 portu olması şart.)

      oluşturduğumuz 4 dosyayı web sunucumuzun "www" klasörü içine aktarıp dosyaların chmod ayarlarını "755" yapıyoruz.

      işlemimiz bittikten sonra Services > DNS Forwarder kısmından yerel web sunucumuza proxy ayarlarını otomatik algılayabilmesi için "Host Overrides" kuralı ekliyoruz (not:domain override kuralı eklemeyin)
      resim 2 den ayrıntıları görebilirsiniz.

      captive portal kullanıyorsanız Allowed Hostnames kısmına dns forward için eklediğiniz host adını girmelisiniz. örn: wpad.firewall.default (not: son düzeltmelerle squid3 e eklenen "Patch captive portal" özelliği ile bu kısma gerek kalmayabilir)

      daha sonra sistemimiz çalışıyor mu diye tüm tarayıcıları kapatıp yeniden bir tarayıcı açıyoruz ve adres satırımıza "http://wpad.firewall.default/wpad.dat" yazıyoruz. (not: firewall.default sizin dns forward kısmına yazdığınız host adı olacak)
      ekranda indirme sayfası ile wpad.dat dosyamızı indirmemizi istiyorsa çalışıyor demektir.

      şimdi herkezin 80 ve 443 portunu kullanarak internete çıkmasını engellememiz lazım ki tarayıcının ayarları proxy algılama (ilk anlattığım ayarlar) açık olmazsa internete çıkışı mümkün kılmayalım.
      resim 3 den kuralı nasıl eklediğimi görebilirsiniz.

      bu ayarımız da bittikten sonra squid ayarlarını resim 4 de görüldüğü gibi ayarlayın resimlerde ufak açıklamalar mevcut ihtiyacınıza göre yapılandırın.
      sonra squidguard için uyguladığınız facebook filitresi https de de çalışacaktır

      NOT resim 4 2. cevapta eklendi.

      güncelleme :  Transperant mod ince ayarla kullanılabiliniyor ;
      Eğer squid 3 ü transperant modda çalıştırmanız gerekiyorsa 80 portunu engellediğiniz gibi birde 443 portuna engel kuralı yazarak kullanılabilnir, eğer 443 portunu kapatmazsanız bağzı uyanık bilgisayar kullanıcıları tarayıcıdan otomatik proxy algılama ayarlarını kapatarak https sitelere erişim yapabilir.

      proxy ayarları otomatik algılama ayarlı olduğu müddetçe https sitelere erişimde sorun yaşanmıyor banka siteleri ile test ettim.
      **Güncelleme: Yapılan ayarlar 2.3.2 Sürümü ile test edilmiştir ve sorunsuz çalışmaktadır. "Reverse proxy ayarları yapmanıza gerek yoktur."

      Detaylı wpad ayarları için google den yardım alabilirsiniz

      Kendi kullandığım konfigrasyonun bir kısmını örnek olarak veriyorum.**

      function FindProxyForURL(url,host)
      {
      if (isInNet(myIpAddress(), "192.168.2.10", "255.255.255.255")) return "DIRECT";
      if (shExpMatch(url, "*.tarimpersonel.gov.tr")) return "DIRECT";
      if (shExpMatch(url, "*.gkgm.gov.tr")) return "DIRECT";
      if (shExpMatch(url, "http://192.168.2.1*")) {return "DIRECT";}
      if (shExpMatch(url, "https://192.168.2.1*")) {return "DIRECT";}
      else
      return "PROXY 192.168.2.1:3128";
      }
      ```![tarayici-proxy otomatik.jpg](/public/_imported_attachments_/1/tarayici-proxy otomatik.jpg)
      ![tarayici-proxy otomatik.jpg_thumb](/public/_imported_attachments_/1/tarayici-proxy otomatik.jpg_thumb)
      ![dnsforward.jpg](/public/_imported_attachments_/1/dnsforward.jpg)
      ![dnsforward.jpg_thumb](/public/_imported_attachments_/1/dnsforward.jpg_thumb)
      ![lan_rule.jpg](/public/_imported_attachments_/1/lan_rule.jpg)
      ![lan_rule.jpg_thumb](/public/_imported_attachments_/1/lan_rule.jpg_thumb)

      Necati Selim GÜNER
      IT Technician

      1 Reply Last reply Reply Quote 0
      • technicalT
        technical
        last edited by

        Resim 4 için boyut sorunu olduğundan bu cevabı yazıyorum.

        squid3-1.jpg
        squid3-1.jpg_thumb

        Necati Selim GÜNER
        IT Technician

        1 Reply Last reply Reply Quote 0
        • M
          magmaHSS
          last edited by

          Merhabalar,

          Emeğinize sağlık, deneme fırsatım olmadı. Acaba Transparent Mod 'da çalışmıyor mu?

          Saygılar,

          Beyin Bedava!

          1 Reply Last reply Reply Quote 0
          • technicalT
            technical
            last edited by

            @MuratRaci:

            Merhabalar,

            Emeğinize sağlık, deneme fırsatım olmadı. Acaba Transparent Mod 'da çalışmıyor mu?

            Saygılar,

            zaten transparent mod yüzünden oluşan açığı kapatmak için wpad.dat,wpad.da,proxy.pac ve wpad.dat%00 dosyalarını oluşturuyoruz.
            bu sayede kullanıcılar tarayıcı ayarları ile oynamadan (chrome ve i.e için geçerli) mecburen proxy den geçmek zorunda kalıyorlar.

            Necati Selim GÜNER
            IT Technician

            1 Reply Last reply Reply Quote 0
            • A
              alcan01
              last edited by

              hocam konu ile fazla alakalı değil ama sqiuid ile squid3 ün farkı nedir tam olarak ? teşekkürler

              1 Reply Last reply Reply Quote 0
              • technicalT
                technical
                last edited by

                önemli güncelleme wpad.dat%00 adında dosya oluşturup kodu içine yazın ve www dosyasına bu dosyayı da ekleyin aksi taktirde safari (ios) cihazlar internete bağlanamıyor.

                Necati Selim GÜNER
                IT Technician

                1 Reply Last reply Reply Quote 0
                • M
                  magmaHSS
                  last edited by

                  hem wpad.dat
                  hem de wpad.dat%00 adında mı olacak dosyalar.

                  yoksa sadece wpad.dat%00 yetiyor mu?

                  Beyin Bedava!

                  1 Reply Last reply Reply Quote 0
                  • technicalT
                    technical
                    last edited by

                    @MuratRaci:

                    hem wpad.dat
                    hem de wpad.dat%00 adında mı olacak dosyalar.

                    yoksa sadece wpad.dat%00 yetiyor mu?

                    hem wpad.dat hemde wpad.dat%00 olacak
                    toplamda 4 tane dosya atacaksınız www klasörüne.

                    ve önemli not: captive portal da bağzı problemler yaşıyorum yönlendirme yapmıyor mobil cihazlarda sayfa açılmıyor ama play store çalışıyor (android için) bu tür sorunları aşabilmek için marcelloc a pm attım bakalım ne diyecek.

                    Necati Selim GÜNER
                    IT Technician

                    1 Reply Last reply Reply Quote 0
                    • technicalT
                      technical
                      last edited by

                      güncelleme :  Transperant mod ince ayarla kullanılabiliniyor ;
                      Eğer squid 3 ü transperant modda çalıştırmanız gerekiyorsa 80 portunu engellediğiniz gibi birde 443 portuna engel kuralı yazarak kullanılabilnir, eğer 443 portunu kapatmazsanız bağzı uyanık bilgisayar kullanıcıları tarayıcıdan otomatik proxy algılama ayarlarını kapatarak https sitelere erişim yapabilir.

                      proxy ayarları otomatik algılama ayarlı olduğu müddetçe https sitelere erişimde sorun yaşanmıyor banka siteleri ile test ettim.

                      Necati Selim GÜNER
                      IT Technician

                      1 Reply Last reply Reply Quote 0
                      • S
                        seker
                        last edited by

                        @technical:

                        @MuratRaci:

                        hem wpad.dat
                        hem de wpad.dat%00 adında mı olacak dosyalar.

                        yoksa sadece wpad.dat%00 yetiyor mu?

                        hem wpad.dat hemde wpad.dat%00 olacak
                        toplamda 4 tane dosya atacaksınız www klasörüne.

                        ve önemli not: captive portal da bağzı problemler yaşıyorum yönlendirme yapmıyor mobil cihazlarda sayfa açılmıyor ama play store çalışıyor (android için) bu tür sorunları aşabilmek için marcelloc a pm attım bakalım ne diyecek.

                        Bu yöntem DHCP üzerinden web tarayıclara Proxy dağıtma temeline dayanıyor. Web tarayıcıya proxy girildiğinde tüm trafik aslında pfSense ve istemci arasında gerçekleştiği için http / https fark etmeksizin filtreleme yapılabiliyor. Bazı web tarayıcıları ( ismi laım değil adının başharfi I ) ayarları almamak konusunda inat edebiliyorlar. wpad dosyasını wpad.da olarak arayan web tarayıcıları olabiliyor…

                        Captiveportal tarafında karşılama ekranı görüntülemek için hedef pfSense olmayan bağlantıların arasına giriliyor. Siz proxy yazdığınızda ise tüm bağlantılarınız pfSense ve sizin aranızda olduğundan araya karşılama ekranı getirilemiyor. Yine daha önce bahsi gecen proxy ayarı girerek squid çalıştıran captiveportal bypass sorunu aynı şekilde pfSensin doğrudan kendisine gelen bağlantılara izin vermesi ve kullanıcının proxy ayarı girmesiyle ortaya çıkıyordu. Proxy ayarı yaptığınızda captiveportalı bypass ediyorsunuz otomatik olarak...

                        Transparan olarak squid kullandığınızda istemcilerin hedefi gerçek siteler oluyor. Bu durumda captiveportal araya girip karşılama ekranını gösterebiliyor. Bu seferde https bağlantılara karşılama ekranı gelmiyor ve https bağlantılar doğrudan yakalanıp squid'e aktarılamıyor. SSL Bump ile Squidin gelen https bağlantıyı karşılaması sağlanabiliyor ancak bu kez istemciler sertifika hataları almaya başlıyorlar. Zira squid istemcinin gitmek istediği adresi doğru bir şekilde yakalayıp o adres için imzalanmış sahte sertifikayı transparan modda üretemiyor... Her siteye sabit bir sertifika kullanmak ise sürekli sertifika hatalarına ve banka siteleri gibi sitelerin düzgün şekilde çalışmamasına neden oluyor... Squid transparan modda dinamik sertifika üretinceye kadar https filtreleme ve captiveportalın bir arada kullanılabilmesi çok mümkün durmuyor... HTTPS filtrelemek veya Captiveportal kullanmak arasında bir seçim yapmamız gerekiyor malesef :(

                        Bu konularla epeyce cebelleştim ancak bir çözüm bulamadım :(

                        Saygılarımla...

                        1 Reply Last reply Reply Quote 0
                        • technicalT
                          technical
                          last edited by

                          @seker:

                          Bu yöntem DHCP üzerinden web tarayıclara Proxy dağıtma temeline dayanıyor. Web tarayıcıya proxy girildiğinde tüm trafik aslında pfSense ve istemci arasında gerçekleştiği için http / https fark etmeksizin filtreleme yapılabiliyor. Bazı web tarayıcıları ( ismi laım değil adının başharfi I ) ayarları almamak konusunda inat edebiliyorlar. wpad dosyasını wpad.da olarak arayan web tarayıcıları olabiliyor…

                          Captiveportal tarafında karşılama ekranı görüntülemek için hedef pfSense olmayan bağlantıların arasına giriliyor. Siz proxy yazdığınızda ise tüm bağlantılarınız pfSense ve sizin aranızda olduğundan araya karşılama ekranı getirilemiyor. Yine daha önce bahsi gecen proxy ayarı girerek squid çalıştıran captiveportal bypass sorunu aynı şekilde pfSensin doğrudan kendisine gelen bağlantılara izin vermesi ve kullanıcının proxy ayarı girmesiyle ortaya çıkıyordu. Proxy ayarı yaptığınızda captiveportalı bypass ediyorsunuz otomatik olarak...

                          Transparan olarak squid kullandığınızda istemcilerin hedefi gerçek siteler oluyor. Bu durumda captiveportal araya girip karşılama ekranını gösterebiliyor. Bu seferde https bağlantılara karşılama ekranı gelmiyor ve https bağlantılar doğrudan yakalanıp squid'e aktarılamıyor. SSL Bump ile Squidin gelen https bağlantıyı karşılaması sağlanabiliyor ancak bu kez istemciler sertifika hataları almaya başlıyorlar. Zira squid istemcinin gitmek istediği adresi doğru bir şekilde yakalayıp o adres için imzalanmış sahte sertifikayı transparan modda üretemiyor... Her siteye sabit bir sertifika kullanmak ise sürekli sertifika hatalarına ve banka siteleri gibi sitelerin düzgün şekilde çalışmamasına neden oluyor... Squid transparan modda dinamik sertifika üretinceye kadar https filtreleme ve captiveportalın bir arada kullanılabilmesi çok mümkün durmuyor... HTTPS filtrelemek veya Captiveportal kullanmak arasında bir seçim yapmamız gerekiyor malesef :(

                          Bu konularla epeyce cebelleştim ancak bir çözüm bulamadım :(

                          Saygılarımla...

                          şu anki sistemimde captive portal 2. bir interface de çalışıyor transperant modda https e tek bir engel kuralı yazdım tüm tarayıcılar aktif olarak çalışıyor tek sorun şu tarayıcı captive portaldan auth sonrası https sitelere girmiyor tarayıcıyı kapatıp açmak gerekiyor (ama bu cep telefonu (android de) işe yaramadı.

                          Necati Selim GÜNER
                          IT Technician

                          1 Reply Last reply Reply Quote 0
                          • tuzsuzdeliT
                            tuzsuzdeli
                            last edited by

                            @seker
                            Sizin bahsettiğiniz "full content filtering"
                            Bununla ilgili hem transparent hem de non transparent modda çalışması için squid3 ve squidguard/dansguardian kodu üzerinde şu an yabancı bir arkadaş çalışmasını bitirmek üzere.
                            Bugünlerde ya detayları forum üzerinden post eder ya da bahsi geçen paketlere güncelleme gelir.
                            Ben de takipteyim :)

                            not : Aynen dediğinizi gibi dinamik sertifika üretimi konusunu çözmüş durumda.

                            Çözümün bir parçası değilsen, sorunun bir parçasısındır.

                            1 Reply Last reply Reply Quote 0
                            • A
                              aydemir_07
                              last edited by

                              Peki şu an bizde squid+squidguard kurulu. Bu durumda önce squidi kaldırıp squid3 mü kurmamız gerekli?

                              1 Reply Last reply Reply Quote 0
                              • tuzsuzdeliT
                                tuzsuzdeli
                                last edited by

                                Evet
                                Ama onda bi sıkıntı çıkmıyor zaten.
                                Eski squidin ayarları aynen yeniye geçti bende. Ek olarak birşey yapmadım.

                                Çözümün bir parçası değilsen, sorunun bir parçasısındır.

                                1 Reply Last reply Reply Quote 0
                                • technicalT
                                  technical
                                  last edited by

                                  @tuzsuzdeli:

                                  Evet
                                  Ama onda bi sıkıntı çıkmıyor zaten.
                                  Eski squidin ayarları aynen yeniye geçti bende. Ek olarak birşey yapmadım.

                                  eğer hizmet başlatılamazsa eski cache klasörünü silmek gerekebiliyor sadece.

                                  Necati Selim GÜNER
                                  IT Technician

                                  1 Reply Last reply Reply Quote 0
                                  • yakarY
                                    yakar
                                    last edited by

                                    @technical eline sağlık. Vakit bulup bende test edemedim ama artık squid3'e geçme vaktimiz geldi bence de..

                                    Bilgi paylaştıkça artar!
                                    5651 sayılı kanun (güncel)
                                    pfSense alt yapısı üzerine kurulu iSafe ile işletmelere özel çözümler.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      akula
                                      last edited by

                                      Tüm ortamlarda test edilebildi mi?
                                      browser ve işletim sistemlerinin default ayarlada iken

                                      windows üzerinde;
                                      chrome, firefox, yandex, opera

                                      linux üzerinde;
                                      chrome, firefox vs.

                                      ios üzerinde kendine ait browserler ile,

                                      android üzerinde populer browserler ile,

                                      bada üzerinde ,,,
                                      gibi hangilerinde denendi hangilerinde denenmedi nelerde başarılı nelerde değil?
                                      Bilgi paylaşabilirmisiniz?
                                      Her işlerim sistemi ve her browser default ayarlarda ilekn  wpad kullanabiliyor mu?

                                      1 Reply Last reply Reply Quote 0
                                      • technicalT
                                        technical
                                        last edited by

                                        @akula:

                                        Tüm ortamlarda test edilebildi mi?
                                        browser ve işletim sistemlerinin default ayarlada iken

                                        windows üzerinde;
                                        chrome, firefox, yandex, opera

                                        linux üzerinde;
                                        chrome, firefox vs.

                                        ios üzerinde kendine ait browserler ile,

                                        android üzerinde populer browserler ile,

                                        bada üzerinde ,,,
                                        gibi hangilerinde denendi hangilerinde denenmedi nelerde başarılı nelerde değil?
                                        Bilgi paylaşabilirmisiniz?
                                        Her işlerim sistemi ve her browser default ayarlarda ilekn  wpad kullanabiliyor mu?

                                        şu an browserler ile cebelleşiyorum çözünce konuyu güncellicem zaten malesef android için wpad algılaması yok. ayrıca ios da da el ile yapılandırmak gerekiyor. saçmalık ötesi durumlar malesef.

                                        Necati Selim GÜNER
                                        IT Technician

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          drmavi
                                          last edited by

                                          Merhaba;

                                          Pfsense'de sıkıntı olan bir konuya çözüm bulunmuş gibi görünüyor. Denemelere başladım fakat şöyle bir sorunum var. www klasörü mevcut değil. web sunucu kurulum esnasında mı kuruluyor.

                                          İyi günler

                                          1 Reply Last reply Reply Quote 0
                                          • technicalT
                                            technical
                                            last edited by

                                            @drmavi:

                                            Merhaba;

                                            Pfsense'de sıkıntı olan bir konuya çözüm bulunmuş gibi görünüyor. Denemelere başladım fakat şöyle bir sorunum var. www klasörü mevcut değil. web sunucu kurulum esnasında mı kuruluyor.

                                            İyi günler

                                            pfsense zaten bir web sunucusu barındırıyor dikkat edilmesi gereken şey pfsense arayüzüne giriş te port kullanılmaması, yani wpad uygulaması için 80 portundan giriş alabilmek gerekiyor.

                                            Necati Selim GÜNER
                                            IT Technician

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.