Port Knocking – Girmeden Önce Kapıyı Çalmak ! |
Yanıt Yaz |
Yazar | |
megabros
Security Professional Kayıt Tarihi: 08-06-2009 Konum: Turkey Status: Aktif Değil Points: 752 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı megabros
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 10-06-2009 Saat 13:12 |
Bu yazıda, kapalı ağ kapılarına önceden belirlenmiş bir şekilde bağlanmaya çalışarak ateş duvarında istenen ağ kapılarını açmaya yönelik bir yöntem olan port knocking (kapı çalmak) yöntemi açıklanacak ve örnek bir Linux kurulumu gösterilecektir. Kapı çalmak metaforu, günlük hayatta kullanılan, kapının çalınma şekline göre kimin çaldığını ayırdetmek ve farklı tepki göstermek (yanıt vermemek ya da kapıyı açmak) şeklinde gelişen iletişim biçimine gönderme yapmaktadır. Buna benzer bir şekilde, kapıyı çalan ve kapıyı dinleyen iki uygulamadan yararlanarak kurulan bir sistemde, ağ kapıları sadece bilinen istemcilerin erişimine açılabilir ve böylece özellikle sadece yönetim amacıyla uzaktan erişime açık bırakılması gereken servislerin (ssh, ftp, tftp, v.b.) denetlenmesi sağlanarak kapı taraması (port scanning) saldırılarından kısmen korunulabilir. YöntemKapının çalınma yöntemi basit bir şekilde sırayla birkaç kapıya bağlanılmasından, zamana bağlı, gelen IP adresine bağlı veya şifrelenmiş veri gönderilmesine kadar değişebilir. Bu yazıda, en basit kapı çalma şekli olan, sırayla birden fazla kapıya bağlanılması yöntemi örnek olarak verilecektir. Diğer yöntemler hakkında detaylı bilgi, artı ve eksileri, yazının sonunda verilen göndermelerden edinilebilir. knockd – Bir Kapı Çalma UygulamasıKurulum kolaylığı ve kullanım eksikliği açısından uygun olarak tanımlanabilecek bir kapı çalma sunucusu/istemcisi olarak knockd örnek verilebilir. Yazılımın web sayfasına http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki adresinden erişmek mümkündür. Sayfalarda kullanım açıklamalarının yanısıra, bir kaç Unix için hazır paketlerine ve Windows/OSX için istemci programları için bağlantılar bulunmaktadır. $ sudo aptitude install knockd
komutu yeterlidir. Redhat serisi dağıtımlar içinse programın sayfasından .rpm (kaynak rpm dosyasıdır) dosyası indirilmeli ve $ su -
# rpm -i knock-*.src.rpm # cd /usr/src/redhat/SPECS/ # rpmbuild -bb knock.spec # rpm -i /usr/src/redhat/RPMS/i386/knock-server-*.rpm komutlarıyla kurulum yapılmalıdır.
İstemci için Debian serisi dağıtımlarda yapılacak olan, sunucu ve istemci programlarının aynı pakette bulunmasından dolayı, sunucuyla aynıdır. Redhat serisinde yapılması gereken ise sunucu tarafında yapılması gerekenden son satırda ayrılmaktadır. Yani kaynak rpm dosyasından ikili rpm’ler yaratıldıktan sonra
# rpm -i /usr/src/redhat/RPMS/i386/knock-server-[0-9]*.rpm
komutu verilmelidir. Windows ve OSX istemcileri de programın web sayfasından edinilebilir.
İstemci tarafında programın derlenememesi, edinilememesi gibi sorunlar olduğunda, hping, netcat gibi genel amaçlı programlar da kullanılabilir. Bunlara örnekler aşağıda verilecektir. Kurulumdan sonra yapılandırma gerektiren dosyalar /etc/knockd.conf dosyası ile dağıtıma özel seçenek dosyasıdır. Dağıtıma özel dosya Redhat serisinde /etc/sysconfig/knockd , Debian serisinde ise /etc/default/knockd dosyalarıdır. Dosyaların varsayılan içerikleri aşağıda verilmiştir, dosyaların özelleştirilmesi yazının devamında anlatılacaktır:
/etc/knockd.conf: [options] [openSSH] [closeSSH] /etc/default/knockd: ################################################ # control if we start knockd at init or not # command line options /etc/sysconfig/knockd: #OPTIONS=”" UygulamaUygulamanın kolaylığı ve açıklığından dolayı, örnek senaryoda sunucuda, varsayılan şekliyle bağlantıları kabul eden fakat belli kapıları sınırlayan bir ateş duvarı, ssh sunucusu ve knock sunucusu kurulu olduğu, istemcide ise knock ve ssh istemcilerinin kurulu olduğu varsayılacaktır. Sunucunun Ayarlanmasıknockd sunucusunun dinleyeceği ağ arabiriminin belirtilmesi için aşağıdaki dosyalar düzenlenmelidir: /etc/default/knockd (debian): KNOCKD_OPTS=”-i eth0″ /etc/sysconfig/knockd (redhat): OPTIONS=”-i eth0″ Sunucunun her sistem açılışında çalışması için, Redhat serisi dağıtımlarda # /sbin/iptables -L -n Chain FORWARD (policy ACCEPT) Chain OUTPUT (policy ACCEPT) Eğer durum böyle değilse, engelleme kipini aşağıdaki komutu vererek ayarlayabiliriz: # iptables -A INPUT -p tcp -m tcp –dport 22 -j REJECT –reject-with icmp-port-unreachable Sunucunun ne tür bağlantılara yanıt vereceği, /etc/knockd.conf dosyasında belirtilmektedir. Buradaki tüm kullanımlar sunucunun web sayfasında listelenmektedir. Örneğin özelinde kullanılacak dosyanın içeriği aşağıdaki gibidir: /etc/knockd.conf: [options] [openSSH] [closeSSH] Bu ayarları kullanarak, istemcinin 1111/tcp, 3333/udp, 5555/tcp kapılarını en fazla 10 saniye aralıkla çalması sonucunda erişimine izin vermesi, 5555/tcp, 3333/udp, 1111/tcp kapılarını aynı şekilde çalması sonucundaysa erişimin kapatılması sağlanmakta, ayrıca kayıtların da syslog sunucusuna gönderilmesi istenmektedir. İstemcinin kullanılmasıDeneme amacıyla ssh kullanarak sunucuya bağlanılması gerektiğinde knockd Sunucusunun Potansiyel Farklı KullanımlarıDikkat edilirse, yapılandırma dosyasında command seçeneği ile verilen, kapı çalınması sonucunda çalıştırılacak komut, sadece kapı açıp kapayan bir komut değil, herhangi bir komut olabilir. Bu şekilde bir kapıyı, kapıları tamamen kapatmak, sunucu servislerini başlatıp durdurmak, hatta sistemi yeniden başlatmak mümkündür. Ayrıca bu yazılıma benzer yazılımlar, çoğu zaman kötü niyetli kullanıcılar tarafından ele geçirilen bilgisayarlarda isteğe göre arka kapı açmak için de kullanılmaktadırlar. SonuçKapı çalma yöntemi, açık olmaması gereken kapıları kapalı bırakarak güvenlik politikalarında ilgilenilmesi gereken istisnaları azaltmaya yardımcı olabilecek bir yöntemdir. Bu yöntem sayesinde bir kaç popüler saldırı yöntemine karşı da önlem alınmış olmaktadır. Bu yazıda basit bir örnekle incelenmiş olmakla birlikte, uygulamacının hayal gücüne bağlı olarak çok çeşitli kapı çalma yöntemleri uygulanarak aradaki iletişimin güvenliği artırılabilir. Göz önünde bulunan ve sürekli kötü niyetli kaynaklardan kaba kuvvet saldırılarına maruz kalan sunucular için, rahatlatıcı bir önlem olarak düşünülebilir. Saygılar..Düzenleyen megabros - 10-06-2009 Saat 13:12 |
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Açık Forumda Anketlerde Oy Kullanma |