ASP.NET Web Uygulamalarında Güvenlik

Benzer belgeler
EĞİTİM : GÜVENLİK VE ÜYELİK YÖNETİMİ. Bölüm : Güvenlik ve Yetkilendirme. Konu : Windows Tabanlı Kimlik Denetimi. Page 1 of 57

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

Femsoft, kolay kullanımı ve genileyebilen esnek yapısı ile ilerinizi çok kolaylatıracak!

KANTAR UYGULAMASI Kurulum Kılavuzu

LDAP VE WORDPRESS İLE

LOGO DESTEK DOKÜMANI

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

30 Mayıs ETASQLMNG Programına giriş

Türkiye Barolar Birliği internet sitesi

Erişim Makina. IFS Admin Kullanım Klavuzu. Umut Aytaç Mutlu

E-Mükellef Kontrol Programı Kullanım Kılavuzu

MIRACLE DATA WORKS KURULUM DOKÜMANI

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

MASTER PAGE SAYFASI KULLANIMI

WebInstaller. 1. Kurulum Đçin Gereksinimler

WEB SERVS TABANLI GELTRLEN MOBL UYGULAMALAR: ODTÜ MOBL ÖRENC LER BLG SSTEM (MOBS)

Web Uygulama Güvenliği Kontrol Listesi 2010

AĞ KULLANIM KILAVUZU. Yazdırma Günlüğünü Ağa Kaydetme. Sürüm 0 TUR

Femsoft, kolay kullanımı ve genileyebilen esnek yapısı ile ilerinizi çok kolaylatıracak!

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Kullanım kılavuzunuz HP IPAQ 316 TRAVEL COMPANION

Yedek Almak ve Yedekten Geri Dönmek

DOKÜMAN YÖNETİM SİSTEMİ KULLANIMI GİDEN EVRAK

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

IPACK LADDER. Arayüz Dökümantasyonu

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Programlama Yazılımı ile Web Sitesi Oluşturma

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

ETA:MOBİL KURULUM TALİMATI

E-Firma Rehberi Sistemi Plus

1. Tanım ve Özellikler Tanım

ORKA da BANKA EKSTRESİ TRANSFERi v2 PROGRAMININ KULLANIM KLAVUZU

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

E-Fatura Sunucusu Kurulum Klavuzu

Kullanım kılavuzunuz HP PAVILION DV2750EN

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Kets DocPlace LOGO Entegrasyonu

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 9 Tema Kullanımı

DESTEK DOKÜMANI. GOWeb programının çalıştırılabilmesi için sırasıyla aşağıdaki servis ve programların ilgili makinada kurulu olması gerekmektedir.

Programa giriş MSSQL versiyonuna göre iki ayrı şekilde yapılmaktadır.

Proticaret Exclusive v3.2.0 E-Ticaret Yazılımı Kurulum Dokümanı

Kurumsal Kimlik Yönetimi ve Güçlü Kimlik Doğrulama. Yılmaz Çankaya

TachoMobile Server Uygulaması Kullanım Kılavuzu

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

BioAffix Ones Technology nin tescilli markasıdır.

Vega Web Sipariş Kurulum

BLIND SQL INJECTION SALDIRILARI

PocketRest Kullanımı

Yedek Nasıl Alınır? "Veri Tabanı Yedekleme ve Geri Alma" butonunu tıklayınca aşağıdaki gibi bir ekran açılacaktır.

Üst Düzey Programlama

Flow Kullanım Klavuzu Mart 2014

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

Üst Düzey Programlama

Fatura Dinamik Kodlama İyileştirmeleri

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

08217 Internet Programcılığı I Internet Programming I

1. Web Sitesine Giriş 1. Giriş Yapmak için tıklayın tıklanır.

LST TIPON KURULUM KILAVUZU

Bölüm 10: PHP ile Veritabanı Uygulamaları

NicProxy Registrar WHMCS Modül Kurulumu Versiyon 1.0

İÇERİK YÖNETİM SİSTEMİ (CMS) Bir web sitesi yayınlamak için yapılması gerekenler:

BYS. T.C. Ulatırma Bakanlıı Biliim Belge Yönetim Sistemi Çözümü

IIS 7.5 ÜZERİNDE FTP SİTE KURULUMU VE YAPILANDIRILMASI

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

Mersin Meslek Yüksekokulu(Uzaktan Eğitim) Uzaktan Eğitim Yönetim Sistemi yeni ara yüzü kullanım klavuzu

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

BioAffix Ones Technology nin tescilli markasıdır.

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

IIS Kurulu Uygulama Sunumcu ile Veritabanı Arasındaki Bağlantının Güvenlik Esasları

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

HSancak Nesne Tabanlı Programlama I Ders Notları

ProTicaret yazılımının, en son sürüm dosyasını indirin.(

PROGRAMLAMA DERSİ 1. İNTERNET

Cyberoam Single Sing On İle

LINQ (Temel Kavramlar)

27 Kasım Ekran 1: ETA:SQL Yazılım Güncelleme Uygulaması

Tanıtım Sunumu Internet Programcılığı II. ASP and ASP variables. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 02 Eki.

İSTANBUL AYDIN ÜNİVERSİTESİ SİSTEM ANALİZİ VE TASARIMI KADİR KESKİN ERİM KURT YAZILIM GEREKSİMLERİ DOKÜMANI ONLİNE SİNEMA BİLET SİSTEMİ B1310.

ProTicaret Exclusive 4.05 E-Ticaret Yazılımı Kurulum Dokümanı

Kullanım kılavuzunuz ESET MOBILE ANTIVIRUS

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

BioAffix Ones Technology nin tescilli markasıdır.

Program Kurulum. Turquaz Muhasebe. İçindekiler

E-fatura Yenilikler. E-fatura uygulaması ile ilgili çeşitli yenilikler seti ile birlikte yayınlandı:

Avrupa Komisyonu Kimlik Tanımlama Sistemi (ECAS) ile Kayıt İşlemi Unutulan şifre Ad-soyad veya e-posta adresi değiştirme 8

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

MOBİLTEG MİKRO DEPO OTOMASYONU

Öğr. Gör. Serkan AKSU 1

Veri Tabanı Yönetim Sistemleri Bölüm - 02

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

Coslat Monitor (Raporcu)

Kets DocPlace Bilgi Bankası. 1. İstemcilerde sunucuya ulaşılamadı şeklinde bağlantı hatası alınıyor... 2

Transkript:

ASP.NET Web Uygulamalarında Güvenlik Cengiz HAN cengiz@cengizhan.com www.cengizhan.com 1 ASP.NET Web Uygulamalarında Güvenlik Konu 1: Web Uygulaması Güvenlii Temel Kavramlar Konu 2: Windows Tabanlı Kimlik Denetimi Konu 3: Form Tabanlı Kimlik Denetimi 2 1

Konu 1: Temel Güvenlik Kavramları Kimlik Denetimi (Authentication) Kullanıcıların tanımlanması aaması Yetkilendirme (Authorization) Kullanıcının kimlii dorultusundan eriim haklarını belirleme aaması 3 Anonim (Anonymous) Eriim Internet üzeriden bulunan web sitelerinin çounda anonim eriim kullanılır. Sitenin her bölümünün herkese açık olduu ve sitenin gizli veya kiiye özel bilgi içermedii durumlarda... ASP.NET Web Uygulamaları anonim eriim için taklit etme (Impersonation) yöntemini kullanır. Kimliksiz eriim yapan kullanıcıya genel bir kullanıcı hesabı atanması yapılarak yetkilendirme yapılır. Varsayılan olarak bu kullanıcı hesabının adı ISUR_makineadieklindedir. 4 2

Kimlik Denetimi ile Eriim ASP.NET Kimlik Denetimi Yöntemleri Microsoft Passport Windows tabanlı Form tabanlı 5 Uygun Kimlik Denetim Sistemini Seçmek Anonim Tanıtım siteleri Kullanım klavuzu Windows tabanlı Intranet uygulamaları Form tabanlı Alı-veri sitesi 6 3

Web.Config Dosyasının Güvenlik Ayaları Açısından Temel Yapısı <authentication> Kimlik denetim sisteminin belirlenir <authorization> Yetkilendirme ilemi için 7 Konu 2: Window Tabanlı Kimlik Denetimi Window Tabanlı Kimlik Denetimi Nedir? Windows tabanlı kimlik denetimi Windows iletim sistemi üzerine kurulu çalıır ve sunucu bilgisayar üzerindeki kullanıcı listesi ile kimlik denetimi yapar. 8 4

Windows Kimlik Denetiminin Etkinletirilmesi Adım Adım Etkinletirme Alt Klasör ve Dosyalar için Yetkilendirme Ayarları 9 Bir Kullanıcı için zinlerin Verilmesi ve Kısıtların Konulması ASP.NET Web.config dosyasındaki <authorization> düümü içerisindeki kullanıcı listesine bakarak kullanıcının uygulama üzerindeki yetkilerine karar verir. ASP.NET <authorization> düümü içerisinde kullanıcıların eriim yetkilerini kontrol ederken yetkilendirme bildirimlerinden kullanıcı ile ilk uyuanı kullanır. Bu sebeple istenen kullanıcılara yetki verildikten sonra mutlaka <deny> düümü ile önceki yetkilendirme düümleri ile uyumayan kullanıcılar için kısıtlama yapılmalıdır. Bunu ise yıldız (*) karakteri vererek salayabiliriz. 10 5

Rol Tabanlı Kimlik Denetimini Kullanmak Her kullanıcıya yetki verilmek ile uramadan belli bir rol üzerinde yetkilendirme ilemi gerçekletirilir. Kullanıcılarda bu rolleri üstlendirilir. 11 Rol Tabanlı Kimlik Denetimini Kullanmak Sadece Stajerler grubundakilerin ve anonim eriim ile balanmak isteyenlerin uygulamayı kullanmasının kısıtlanması, dier tüm kullanıcıların uygulamaya eriebilmesini salayan bir <authorization> düümü : 12 6

Kullanıcı Bilgisini Okumak Uygulamaya giri yapmı olan kullanıcınınn bilgilerini okumak User nesnesinin Identity özellii kullanılır. Identity özellii kullanıcı adı ve rol bilgilerini içeren bir nesne döndürmektedir. 13 Konu 3: Form Tabanlı Kimlik Denetimi Form Tabanlı Kimlik Denetimi Nedir? Form tabanlı kimlik denetimi programcının düzenledii bir Web Formu ile kimlik bilgilerinin kontrol edilmesi esasına dayanır. Web.config dosyasındaki kullanıcı listesine veya programcı tarafından düzenlenen ayrı bir veritabanına göre kimlik denetimi ve yetkilendirme yapılır. Form tabanlı kimlik denetiminde uygulamaya erimek için kullanıcıların herhangi bir aa üye olmalarına ihtiyaç yoktur. Form tabanlı kimlik denetimi daha çok herkese açık internet uygulamalarında kullanılır. 14 7

Form Tabanlı Kimlik Denetiminin Etkinletirilmesi Form tabanlı kimlik denetimi programcıya kendi kullanıcı veritabanını oluturma imkanı tanır. Adım Adım Etkinletirme 1. Web.config dosyasından kimlik denetim sistemi Forms olararak ayarlanır. 2. Kullanıcı kimlik bilgilerinin (kullanıcı adı, ifre) girilecei bir Web Form oluturulur. 3. Kullanıcı kimlik bilgilerinin saklanması için istee seçime balı olarak programcının belirledii parametreler çerçevesinde bir veritabanı oluturulur veya Web.config dosyasında gerekli tanımlamalar yapılır. 4. Oluturulan Web Formuna kullanıcıların kimlik bilgilerinin denetlenmesi için gerekli kod yazılır. Buradaki denetleme için yazılacak kod parçası kullanıcı listesinin özel bir veritabanında mı, yoksa Web.config dosyasında mı tutulduuna göre deiir. 15 Web.config Üzerindeki lemler 16 8

Web.config Üzerindeki lemler <authentication> mode: Kimlik denetim sistemi (Forms) <forms> name: Çerezin (cookie) ismini belirler.(varsayılan :.ASPXAUTH) loginurl: Giri sayfası. protection: Kullanıcı bilgisayarında saklanacak olan çerezin (cookie) güvenliinin nasıl salanacaını belirler. All, Encryption, Validation, None. Varsayılan olarak All deerini alır. All deeri ile çereze yazılacak verilerin güvenlii en iyi ekilde salanmaktadır. timeout: Kimlik denetimi çerezlerinin kaç dakika geçerli olacaını belirler. (30) path: Oluturulacak çerezlerin yol tanımlaması için kullanılır. Varsayılan deeri / dır. requiressl: Kimlik denetim çerezinin transferi için güvenli balantı gerekip gerekmediini belirler. slidingexpiration: Alabilecei deeler true ve false dur. true deerini aldıında kullanıcıdan gelen her istek ile zaman aımı (timeout) süresi geri sayımı en batan tekrar balar..net Framework 1.0 da varsayılan deer true idi,.net Framework 1.1 versiyonunda varsayılan deer false dur. 17 Web.config Üzerindeki lemler <credentials> düümü içerisine eklenen <user> düümleri ile Web.config dosyası içerisinde kullanıcı tanımlaması yapılabilir. <credentials> passwordformat : Kullanıcıifrelerine uygulanan karakter ifreleme (encrypt) yöntemi belirlenir. SHA1, MD5 ve Clear. Varsayılan deer SHA1 dir. <users> name : Kullanıcının adını belirler. password : Kullanıcının ifresini belirler. Belirlenen passwordformat deeri ile uyumlu bir deer almalıdır. Bu ekilde bir uygulamada programcı yada bir yönetici tarafından Web.config dosyasına ekleme yapılmasıyla çalıabilir. Kullanıcıların kendi kullanıcı hesaplarını oluturabilecei ve kimlik bilgilerinin yönetimini kendileri yapabilecei bir uygulama için kullanılamaz. 18 9

Kullanıcı Giriini Yapmak Form tabanlı kimlik denetiminde kullanıcının girii yapması için bir Web Form oluturulmalıdır. 4- Kimlik Dorulanır Sunucu Internet 1-stek: default.aspx 2- Cevap : UyeGirisi.aspx 3-stek: UyeGirisi.aspx + kimlik bilgileri 5- Cevap: default.aspx stemci 19 Web.config Dosyasındaki Kullanıcı Listesi ile Kullanıcı Girii Yapmak 20 10

Veritabanında Kayıtlı Olan Kullanıcı Listesi ile Kullanıcı Girii Yapmak <credentials> düümünün kullanılmasına gerek yoktur. Bu düüm sadece FormsAuthentication.Authenticate fonksiyonu tarafından kullanılır. 21 Kullanıcıyı Uygulamadan Çıkarmak Önce oturum çerezleri ve kalıcı çerezler kaldırılır. Daha sonra ise sonucun sayfaya yansıması için u anda bulunulan sayfa tekrar çarılır. Request.RawUrl uanda bulunulan sayfanın adresini döndürür. Örnein http://cengiz/b2b-web/siparislerim.aspx sayfasında bu özellik /b2b-web/siparislerim.aspx deerini döndürür. 22 11

Alt Klasörlere Eriim znini Ayarlamak Alt klasöre farklı bir eriim yetkisi vermek için Alt klasör içerisinde de bir Web.config dosyası oluturulabilir. Ana dizindeki Web.config dosyası ile farklı dosya ve alt klasörler için yetkilendirme yapılabilir. Bunun için <configuration> düümü içerisindeki <location> düümü kullanılır. Web uygulamasının kimlik denetim sistemi sadece ana klasörde bulunan Web.Config dosyası ile deitirilebilir. 23 Gözden Geçirme 1. ASP.NET ile hangi kimlik denetim sistemleri kullanılabilir. 2. Windows tabanlı kimlik denetim sistemi hangi durumlarda kullanılmalıdır? 3. Form tabanlı kimlik denetim sistemi hangi durumlarda kullanılmalıdır? 4. Form tabanlı kimlik denetim sistemi nasıl oluturulur? Açıklayınız. 5. Form tabanlı kimlik denetim sisteminde bir alt klasörün güvenlik ayarları nasıl ayarlanır. 24 12