Pfsense kurup networkünü yönetmekte olduğum müşterimin bir gün bana çılgıncasına “ultrasurf diye bişey bulmuşlar her yere giriyorlarrrrrrr!” şeklinde asabi haykırışı akabinde pfsense’de nasıl ultrasurf engellenir diye araştırmaya koyuldum.Gece saat 3.Sonuç yok.Zaten forum.pfsense’deki kullanıcılarda uyumakta.Ben çaresiz!

Bu google’ın büyük işler yaptığını kabul ediyorum ama yine de pek sevemiyorum.Ancak google veya “arama motoru” olmasaydı bu işler nasıl hallolurdu bilemiyorum.

Ararken tararken kısa bir ipucu buldum.http://pere.bocairent.net/?p=57

Yazının tarihini görünce ultrasurf’çülerin bu işi değiştirmiş olduğunu düşündüm.Müşterimin networkunda bir pc ye wireshark kurdum.Aynı pc de ultrasurf’ü çalıştırdım.Tahmin ettiğim gibi hex kodu değişmişti.

Ağ geçidi olarak çalışan pfsense ‘e snort kurdum.Hex kodunu kullanarak uygun bir kural yazdım.Evet.Kural match!Fekat?

Çok da uğraştığımı söyleyemem ama snort kuralı tanıdığı halde drop etmiyor.Hay bin kunduz!Döndük Baba Ocağına!

Sonuç olarak ağ geçidine bir de linux ekleyerek bu iş çözüldü.Hem de tek bir iptables satırıyla…

iptables -I FORWARD -m tcp -p tcp –dport 443 -m string –to 256 –hex-string ‘|16030000610100005d0300|’ –algo bm -j DROP

 

Not: Bu çözüm indirdiğiniz ultrasurf paketine göre değişebilir.Benim güncel olarak denediğim u1301.exe.Sanyorum 13.01 versiyonu.Yukarıdaki linke bakarsanız wiresharkta dikkat çekilmiş SSL Handshake esnasındaki paketindekin içeriğine göre iptablestaki hex satırını değiştirebilirsiniz.

Not2: Bu metallica ve more beer da neyin nesi diyenlere..yazıyı yazarken bira içiyordum.aklıma öylesine geliverdi.

Not3: Kopyala yapıştır olmasaydı sysadmin nasıl olunurdu?