Google Talk (Gtalk) Engelleme (Juniper SSG ve Linux)

On 05 Oct 2009, in Linux, by Murat Uğur Eminoğlu

Merhaba,
Bu yazıda google talk (GTALK) Juniper SSG-140 firewall ve iptables üstünde nasıl engellenir ve belirli kullanıcılara nasıl açarız onu anlatacağım. Umarım yararlı bir kaynak olur.

İlk olarak google talk 5222. port üstünden çalışır eğer bu porttan çıkış sağlayamazsa 443. üstünden gider. Yani port kapatmayla tam olarak engelleme sağlanmıyor. Onun için 5222. portu kapatmış varsayıp 443. port üstünden işlem yapacağımızı unutmayınız.
Nasıl bir yol izledim?
Bir linux gateway kurup test makinamı bu gw üstünden çıkardım ve tcpdump ile trafiği sniff ettim. Asağıda bulunan adreslerden ilkinin trafiğini drop ettim, bu ilk denemeydi uzun süre auth olamadı fakat daha sonra ikinci adres üstünden auth oldu. (sadece biraz geç auth oldu) Aynı işlemi 3. adres için yaptım fakat yine aynısı oldu.
mg-in-f125.google.com
yo-in-f125.google.com
tx-in-f125.google.com

Bu işlemi belki 10′larca kez tekrarlayacaktım, onun için tekrardan trafigi sniff ettim ve talk.google.com ve talkx.l.google.com adreslerini yakaladım. Bu iki adresi engellediğim zaman gtalk’in auth olmadığını gördüm. (Yapilan işlemleri ve surecleri anlattim ki bu tip durumlarda nasıl süreç izleyeceğinizi bilin. :) )

İlk olarak Juniper SSG-140 üstünde bu engelleyi nasıl yapabiliriz?
telnet juniper_ip dedikten sonra kullanıcı adımızla ve şifremizle login olalım.
1. İlk olarak Untrust adres olarak talk.google.com ve talkx.l.google.com adreslerini GTALK-DENY-1 ve GTALK-DENY-2 olarak ekleyelim.
set address “Untrust” “GTALK-DENY-1″ talk.google.com  “GTALK ENGELLEME”
set address “Untrust” “GTALK-DENY-2″ talkx.l.google.com  “GTALK ENGELLEME”

2. GTALK-DENY-GROUPS grubunu ekleyip GTALK-DENY-1 ve GTALK-DENY-2 adreslerini uye yapalim. (kolaylık sağlaması açısından her zaman grub kullanmak tercihimdir)
set group address “Untrust” “GTALK-DENY-GROUPS” comment “GTALK ENGELLEME”
set group address “Untrust” “GTALK-DENY-GROUPS” add “GTALK-DENY-1″
set group address “Untrust” “GTALK-DENY-GROUPS” add “GTALK-DENY-2″

2. İzinli listesinin kullanım kolaylığı için bir adet grup ekleyip bu gruba kullanıcıları dahil edeceğiz.
set group address “Trust” “GTALK_USERS”
Şimdi kullanıcıları ekleyelim
set address “Trust” “MURAT” 172.16.254.2 255.255.255.255
set address “Trust” “UGUR” 172.16.254.3 255.255.255.255

3. Kullanıcıları GTALK_USERS grubuna dahil edelim
set group address “Trust” “GTALK_USERS” add “MURAT”
set group address “Trust” “GTALK_USERS” add “UGUR”

NOT : 5222 portunu kapattığımızı varsayıp 443. port üstünden işlem yaptığımızı unutmayın.

4. Şimdi işin karışık kısmı olan policy ekleme sürecine geldik,

Mantık, GTALK ‘a girecekleri policy sırasının en üstüne gir, yasaklı olanları bir alt satırına gir ve yasaklılarin 443. port üstünden SSL ‘li siteleri bağlanması için 443. port izni ver.

GTALK_ALLOW isminde Trust bölgeden Untrust bölgeye GTALK_USERS ‘larinin 443. Port (HTTPS) isteklerine nereye giderse gitsin loglayıp izin ver. Bu sayede herhangi bir engellemeye takılmayacaktır.

set policy id 1 name “GTALK_ALLOW” from “Trust” to “Untrust”  “GTALK_USERS” “Any” “HTTPS” permit log

5. 172.16.254.0/24 networku için  GTALK-DENY-GROUPS grubu içinde bulunan adresleri engelle denmistir. (talk.google.com ve talk.l.google.com adreslerine erişim kapatılmıştır.)

set policy id 2 from “Trust” to “Untrust”  “172.16.254.0/24″ “GTALK-DENY-GROUPS” “ANY” deny log

6. Son olarak 443. portun (HTTPS) diğer sitelere açılması için aşağıdaki policy’i yazdık.

set policy id 63 from “Trust” to “Untrust”  “MMO_LOCAL” “Any” “HTTPS” permit log count

Juniper üstündeki yapılandırma burada sona erdi. Şimdi linux üstünde nasıl yapılıyormuş ona bakalım.

Linux Gateway üstünde nasıl engelleriz ?

1. iptables ile 172.16.254.0 networkunun talk.google.com ‘a giden tcp 443 portunu engelle

iptables -A FORWARD -s 172.16.254.0/24 -d talk.google.com -p tcp –dport 443 -j DROP

2. iptables ile 172.16.254.0 networkunun talkx.l.google.com ‘a giden tcp 443 portunu engelle

iptables -A FORWARD -s 172.16.254.0/24 -d talkx.l.google.com -p tcp –dport 443 -j DROP

Bu iki kuraldan sonra google talk ile giriş yapılamıyacaktır.

NOT : Birçok kişinin arkanızdan söveceğini unutmayınız :)

Murat Uğur Eminoğlu

 

2 Responses to “Google Talk (Gtalk) Engelleme (Juniper SSG ve Linux)”

  1. ahm says:

    Alakasız olacak ama konuda okuduktan sonra bir ricam olacak
    Linux gateway nasıl kurduğunu ve burda trafiği nasıl sniff ettiğinide
    bir yazıda açıklarsan çok süper olur. Okurken aklıma takıldı merak ettim şimdi :)

  2. Lınux Gateway, yani ağ geçidi.. Kısaca özetlemek gerekirse tüm internet trafiğinin bu makina üsütnden çıkmasıdır. Trafiği sniff etmek yani dinlemek, bunu tcpdump araciligiyla yaptım.

    Görüşmek üzere, Murat.

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...