Squid Proxy ile İnternet Yönetimi
Makalemizde Squid proxy üzerinde user’lara güvenlik amaçlı username ve password sordurma işlemini ve ardından internet giriş saatlerinin kısaltılmasını anlatacağım. Bu işlemi özetlersek , firmanızda Squid Proxy kullanıyorsunuz. Tüm user’ların GPO ile İnternet Explorer’larına squid’in IP’sini proxy olarak dağıttınız. Güvenlik açısından explorer açan bir kullanıcıya username password sorulsun istiyorsunuz. Aşağıdaki işlemleri sırasıyla yaparak bunu sağlayabilirsiniz.
Öncelikle /etc/squid.conf dosyamızı nano veya bir text editor ile açıyoruz. Squid.conf dosyamızda 273. satırından başlayan 5 satırın başındaki # işaretini kaldırarak aktif hale getiriyoruz.
auth_param basic program /usr/lib/squid/pam_auth : Denetimi yapan modulün yolu .
auth_param basic children 5 : Aynı anda çalışabilecek pam_auth modülü. Eğer kullanıcı adı password denetimlerinde problem olursa bu sayıyı arttırabilirsiniz.
auth_param basic realm Squid proxy-caching web server : Açılan Pop up ta serverin adı yazar.
auth_param basic credentialsttl 2 hours : Login süresini belirlediğiniz alandır.
auth_param basic casesensitive off : Büyük ve küçük harf ayırırımı yapmaz auth.
Bu işlemleri yaptıktan sonra ;
569. satırda acl password proxy_auth REQUIRED ifadesinin başındaki # işaretini kaldırıyoruz. Böylelikle bu da aktif oluyor. Artık web sayfalarına girişte kullanıcı denetimi yapılmış olacak.
Örnek bir kural yazalım :
acl localnet src 10.1.0.0/24
localnet isimli access list yazdım burada .
acl ifadesi sabit bir ifade,olmak zorunda .
localnet diye ben isim verdim. Src ifadedesi ise kural tipini belirtiyor.
Ben source adresse göre kural yazdıgımdan src kullandım.
Src yerine gelebilecek pek çok ifade var. Time ,destdomain vs gibi.
http_access allow localnet
Burda da localnet isimli acces liste allow vermiş oluyorum.
http_access yine sabit bir ifade.
Artık 10.1.0.0/24 ağından gelen her hangi bir ip için allow verilmiş olacak böylelikle…
Yukardaki 2 satırı , squid.conf dosyasının 610. Satırındaki # http_access deny all satırının bir üstüne ekleyin.
Şimdi can alıcı nokta J:
Ben şöyle yazsaydım eğer yukardaki iki satırlık kuralı :
acl localnet src 10.1.0.0/24
http_access allow localnetpassword
Artık 10.1.0.0/24 ağından gelen bir ip için ekranda popup açılacak kullanıcı adı ve şifre soracaktı.
Yani işin açıkçası ; once bir takım kurallar yazmamız gerek sonrasında ise yazdıgımız kurala password sordurmamız gerek.
Squid.conf dosyasında ki satırlar değiştirilir.
# auth_param negotiate keep_alive on
#
#Recommended minimum configuration per scheme:
#auth_param negotiate program <uncomment and complete this line to activate>
#auth_param negotiate children 5
#auth_param negotiate keep_alive on
#auth_param ntlm program <uncomment and complete this line to activate>
#auth_param ntlm children 5
#auth_param ntlm keep_alive on
#auth_param digest program <uncomment and complete this line>
#auth_param digest children 5
#auth_param digest realm Squid proxy-caching web server
#auth_param digest nonce_garbage_interval 5 minutes
#auth_param digest nonce_max_duration 30 minutes
#auth_param digest nonce_max_count 50
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_passwd
auth_param basic children 50
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
Squid.conf dosyasına tekrar aşağıda ki satırlar eklenir.
acl localnet src 10.1.0.0/24
http_access allow localnet password
acl baglanti_sayisi maxconn 50
http_access deny baglanti_sayisi
Squid.conf’a aşağıda ki satırlar putty ile eklenir.
[root@ufuk ]# touch /etc/squid/squid_passwd
[root@ufuk ]# chmod o+r /etc/squid/squid_passwd
Kullanıcı Ekleme ;
[root@ufuk ]# htpasswd /etc/squid/squid_passwd ufuk —- kullanıcı ismi ufuk —
New password:
Re-type new password:
Adding password for user ufuk
[root@ufuk tmp]#
Yeni şifre 2 defa girilir.
Bu işlemler sonrası tüm userlara Squid üzerinden username ve password atanmış oldu.
Önemli , oluşan kullanıcılar linux sunucunuzun üstünde barınmaktadır.
Bu yapıyı Squid ve Dansguardian’ın birlikte çalıştığı bir ortamda’da kullanabilirsiniz.
Şimdi ise Squid Proxy üzerinden internete giriş saatlerini kısıtlama işlemine bakalım. Bu işlemin biz IT uzmanlarına getirisi nedir? Örnek ile belirtecek olursak, gün içerisinde veya mesai saati sonunda user’ların internete girmelerini istemezsek, aşağıda ki işlemleri yapmamız yeterli olacaktır.
Öncelikle /etc/squid.conf dosyasını açıyoruz.
Aşağıda ki satırı buluyoruz.
“#http_access allow our_networks “satırının altına belirttiğim satırları eklemeniz yeterli olacaktır.
acl yasaksaat time 16:43-17:00 Buraya istediğimiz saat aralığını girebiliriz.
acl yerel_agim src 10.1.0.0/24Anlaşılacağı gibi network IP bilgilerimizi giriyoruz.
http_access deny yasaksaat Kuralımıza deny veriyoruz.
http_access allow yerel_agimYerel_agim bilgisine allow vermemiz gerekiyor.
Squid.cof’un içine gireceğimiz böyle basit bir kural ile gün içinde 16:43 ile 17:00 arasında tüm IP ‘lere interneti kapamış olduk.
Bu işlemi belirli IP’lere veya IP’ye’de uygulayabilirsiniz.