Web Güvenliği - 1

Yağız Gönüler tarafından yayınlanmıştır 13. Ağustos 2008 13:46
Özette bahsettiğim “ilk zamanlar”da, kullanıcı sisteme bir kullanıcı adı ve parolo ile girer ve işini görüp çıkardı. İlgili birçok insan için bu çok derin bir konuydu. Ancak sistemlerin açık ve özgür olmasını isteyen kesim, güvenliğin çok bunaltıcı olduğunu belirtip kendi “dava”larına özel bir yol çizdiler.

 

Bu makalem, diğer web güvenliği makalelerinden çok farklı olucak. Çok az, beklide hiç kod görmeyeceksiniz. Amacım, bu önemli konuyu mantıklara daha “sosyal” bir biçimde kazımak olacak. Kemerlerinizi bağlayın..

 

Güvenlik

İki tip güvenlik vardır diyebiliriz. Bunlardan ilki dosya ve uygulamaları koruyan kaynak güvenliği, ikincisi ise mesajları güvenli bir biçimde göndermek için kullanılan mesaj güvenliği. Artık güvenlik bu iki öğe üzerine kuruludur. Dilerseniz biraz daha detaylandıralım..

 

Kaynak Güvenliği

Kaynak güvenliği, iki temel zorunluluk olan kimlik denetimi ve yetkilendirme ile birlikte kullanılır.


Kimlik denetimi, tamamen kullanıcının tanımladığı bir süreçtir. Bu süreçte kullanıcı adı ve paroladan daha güvenilir bir sistem için akıllı kart gibi fiziksel bir aygıtın kullanımına veya sıranın en üstünde bir parmak izi tarayıcısı gibi biyolojik bir ölçüme sahip olmak gerekebilir. Bu konuda verilebilecek en güzel örnek, bir havaalanındaki kimlik denetimidir. Yolcunun kimlik denetimini gerçekleştirmek için pasaportunu göstermesi yeterlidir. Pasaport onayından sonra verilecek yetkiye göre yolcu uçuş yada geçiş iznine sahip olur.

 

Yetkilendirme, kimlik denetimi yapılmış bir kullanıcıya belirli bir dosya veya bir uygulamanın kullanımı gibi belirlenen bir kaynak için iznin verilip verilmeyeceğini belirler. Yetkilendirme genellikle gruplarla yapılır. Yönetici grubu tüm sistemi rahatlıkla izleyebilirken, çalışanlar grubu sadece kendi grubu dahilindeki bilgilere ulaşır. Havaalanındaki örneği devam ettirecek olursak, pasaport kontrolü yapılmış yolcunun, yolcu listesi ile karşılaştırılarak bilet aldığından emin olunmasını söyleyebiliriz.

 

Mesaj Güvenliği

Üç hedefi vardır. Bunlar gizlilik, güvenilirlik ve doğruluktur. Bu amaçlar, karşılıklı bir mesajlaşma sürecinde geçerliliğini korur.

 

 

Gizlilik, sadece belirtilen alıcının mesajları okuyabilmesi yada işleyebilmesi amacına bağlıdır. Bu yönüyle bir kimlik denetimini işin içine sokabilir.

 

Güvenilirlik, alıcının mesajın kaynağından gelip gelmemesine emin olmasıdır. Örneğin online bankacılık sisteminde, kişiye hangi hesaptan para geldiği yada hangi hesaba para gönderildiği çok önemlidir. Burada kimlik denetimi çok önemli bir rol oynar.

 

Gelen yada giden her bir mesajın doğruluğu, mesajın ilgili yere değiştirilmeden ulaşmasından sorumludur. Online veri transferlerinde verinin yol üzerinde değişmeden, türünü değiştirmeden aynen belirtilen adrese ulaşması güvenlik açısından son derece önemlidir.

 

Elbette ki tüm bunlar dışında 2 güvenlik yolu daha vardır. Bunlardan ilki, makinelerinizi virüslere, trojanlara ve diğer kötü yazılımlara karşı korumak için kullanılan donanımsal güvenliktir. Diğeri ise takdir edersiniz ki kod güvenliğidir. Kodunuzun istenmeyen görevleri gerçekleştirmek üzere çökertilmemesi veya değiştirilmemesi çok önemlidir. Aksi takdirde çıkan sonuçtan sorumlu siz tutulursunuz. Örneğin bir bankanın veritabanından sorumlusunuz ve yapmakta olduğunuz sql enjeksiyonu tam tersi yönde çalışmakta, verilerinizi yok etmektedir. İşte burada kod güvenliğinin ne kadar öneme sahip anlamak çok kolaydır.

 

Tüm bunların dışında, özellikle son 5 yılda web servislerinin güvenliğiyle de alakalı çözümler geliştirilmekte ve duyurulmaktadır.

 

Maziden alınan çok önemli dersler

Hiç şüphesiz ki alınan en büyük ders, erken alınmayan tedbirler ve standart teknikler konusundadır.

 

Erken tedbirler, yeni bir sistemi oluştururken tüm güvenlik konularının her şeyden önce göz önüne alınması gerekliliğidir. Güvenliği sonraya bırakan bir sistemin ne kadar güvenli olacağını hepimiz tahmin edebiliriz. Güvenliği başlangıç yerine ikinci plana atarsak hem daha sonrası için zaman kaybederiz, hem de büyük miktarda kod değişikliklerine yol açarız.

 

Standart teknikler, güvenilirlik, tehlikeye karşı zayıflık ve kusurlar açısından incelenmiş olan tekniklerdir. Az tanınmış tekniklere daha fazla önem veren web geliştiricileri, tarihin en büyük derslerini almıştır. Bu tekniğe örnek, birkaç yıl önceki telefon sisteminden gelir. Telekomunikasyon Mühendisleri, arama yapmadan önce özel bir erişim kodu girerek ücretsiz aramalar yapabiliyorlardı ve bu hat kontrolü için kullanılıyordu. Web, popüler olmadan önce bu kod sadece çok az kişi tarafından biliniyordu. Bununla birlikte online olarak yayımlandıklarında binlerce insan telefon şirketinin zararına aramalar gerçekleştirebiliyordu. Bu sistemdeki kusur sadece erişim kodu olan bir bilgi parçasının bilinmesine dayanan kimlik denetimi ve yetkilendirme zayıflığından kaynaklanıyordu.

 

Katmanlı Yaklaşım

En önemli sistemler, güvenlik konusunda bu katmanlı yaklaşımı uygularlar. Sistemlerin sadece uygun insanlar tarafından kullanılabileceğinden emin olmak için tek bir özelliğe dayanmazlar.

 

 

Örneğin, sürekli e-mail gönderen bir şirketi ele alalım;

 

  1. Kullanıcı iş yerine varır. Fiziksel erişimden önce mutlaka kart gibi bir aygıtı görevliye göstererek şirkete girişini gerçekleştirir.
  2. Kullanıcı oturumunu açar. Bu, işe bir kullanıcı adı ve parola aracılığıyla kimlik denetimini devreye sokar ve bazı durumlarda akıllı kart gibi bir aygıta da gereksinim duyar.
  3. Kullanıcı Microsoft Outlook gibi bir programı açar. Bu noktada yetkilendirmek genellikle kullanıcı için otomatik olarak yapılır. E-Mail sistemi, halihazırda oturum açmış olan kullanıcının sistemi kullanmasına müsaade edildiğini kontrol eder.
  4. Kullanıcı yeni bir e-mail oluşturur ve gönderir. Bazen bu mesajı dijital bir şekilde imzalar ve içeriği de Public Key Infrastructure (Açık Anahtar Altyapısı – PKI) kullanarak şifreleyebilir.
  5. E-Mail ilk olarak kimlik ve yetkilendirme denetiminden sonra şirketin güvenlik duvarını aşarak alıcının e-mail kutusuna gönderilir.
  6. Alıcının e-mail sunucusu, e-mail adresinin geçerli olup olmadığını kontrol eder.
  7. E-Mailin virüs veya zararlı bir dosya taşıyıp taşımadığını kontrol eder.
  8. Bu son noktada alıcı, göndericinin yaşadığı sürece benzer şekilde bir oturum açma sürecinden geçer ve e-maili görüntüler.

 

Bu örnek, sistem için bir tek güvenlik noktası olmadığını göstermektedir ve dolayısıyla bir tek saldırı noktası da yoktur. Kötü niyetli bir kullanıcının, başka birisinden geldiğini iddia eden imzalı bir e-mail göndermek için bir bilgi parçasından daha fazlasına ve bazen fiziksel bir kimlik denetimi aygıtına ihtiyacı olur. Verdiğim bu örnekte Microsoft Outlook gibi bir desktop uygulamasından gönderildiği ve e-mail sunucusunun posta göndermek için sadece şirketinde intranetinden erişilebilir olduğunu varsaydım.

 

 

Makalemin ilk bölümü bu kadar. İkinci bölümde kimlik denetimi ve yetkilendirme başlığını genişletip, IIS ile Asp.Net’te kimlik denetimi ve yetkilendirmeye değinicem.

 

 

Tekrar görüşmek üzere, iyi çalışmalar dilerim.

 

 

Kaynaklar:
http://www.w3.org/Security/Faq/

http://www.w3schools.com/site/site_security.asp

Web 2.0 Teknolojileri – Eric Van Der Vlist, Danny Ayers, Erik Bruchez, Joe Fawcett, Alessandro Vernet

 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

Yazılım Geliştirme | Web | Web Güvenliği | Makaleler

Yorum ekle


(Gravatar simgesini gösterecek)  

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.
Sitedeki kod ve tasarım değişiklikleri ise Yağız Gönüler tarafından geliştirilmiştir.
2008 © www.yagizgonuler.com

Paslaş

Anket

Mesleğinizden arta kalan zamanınızı nelere harcıyorsunuz?







Sonuçlar

Calendar

<<  Eylül 2010  >>
PaSaÇaPeCuCuPa
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

Yazıları geniş takvimde göster

Ne Dinliyorum?

Aziz TSM Grubu - Klarnet (5 gün önce)
Aziz TSM Grubu - Ud (5 gün önce)
Aziz TSM Grubu - Klarnet (5 gün önce)
Aziz TSM Grubu - Ud (5 gün önce)
Aziz TSM Grubu - Kanun (5 gün önce)
Aziz TSM Grubu - Klarnet (5 gün önce)
Aziz TSM Grubu - Ud (5 gün önce)
Aziz TSM Grubu - Ney (5 gün önce)
Aziz TSM Grubu - Ud (5 gün önce)
Aziz TSM Grubu - Kanun (5 gün önce)

Ne(ler) Okuyorum?

İstanbul'da Hava

ISTANBUL

Ziyaretçi Sayısı