Bezpieczne aplikacje Web w oparciu o ASP.NET2.0



Podobne dokumenty
Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Kancelaria Prawna.WEB - POMOC

Zdalne logowanie do serwerów

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

11. Autoryzacja użytkowników

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Uwaga!!! Autentykacja LDAP/AD zaimplementowana w Vigor wspiera tylko proste uwierzytelnianie (hasło przesyłane jest jawnym tekstem).

Praca w sieci z serwerem

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Bezpieczne strony WWW dla edukacji, organizacji non-profit i uŝytkowników indywidualnych.

Serwery LDAP w środowisku produktów w Oracle

Procedury techniczne modułu Forte Kontroling. Ustawienia IIS

Rejestracja użytkownika Bentley Często zadawane pytania techniczne

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Instalacja Active Directory w Windows Server 2003

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Instalacja systemu zarządzania treścią (CMS): Joomla

Instalacja i konfiguracja serwera IIS z FTP

Instrukcja instalacji Control Expert 3.0

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

System Kancelaris. Zdalny dostęp do danych

Kontrola dostępu w ASP.NET

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

ActiveXperts SMS Messaging Server

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

ekopia w Chmurze bezpieczny, zdalny backup danych Instrukcja użytkownika dla klientów systemu mmedica

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

Aplikacje www laboratorium

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

12. Wirtualne sieci prywatne (VPN)

Nr: 12. Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW. Data modyfikacji:

dziennik Instrukcja obsługi

Laboratorium Ericsson HIS NAE SR-16

AM_Student. Instrukcja konfiguracji połączenia do studenckiej sieci bezprzewodowej Akademii Morskiej w Szczecinie

Wprowadzenie do Active Directory. Udostępnianie katalogów

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO

Pracownia internetowa w szkole ZASTOSOWANIA

Instrukcja instalacji

Połączenie VPN Host-LAN PPTP z autentykacją LDAP/AD. 1. Konfiguracja serwera VPN 1.1. LDAP/AD 1.2. Ustawienia ogólne 1.3.

Podłączanie się do sieci eduroam w systemie Windows Vista/Windows 7 wersja 2

Sposoby zdalnego sterowania pulpitem

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Logowanie do aplikacji TETA Web. Instrukcja Użytkownika

Niniejsza instrukcja przedstawia przykład konfiguracji koncentratora SSL VPN w trybie Network Extension.

Sieciowa instalacja Sekafi 3 SQL

Instrukcja instalacji serwera bazy danych Microsoft SQL Server Express 2014

REFERAT O PRACY DYPLOMOWEJ

Projektowanie Bezpieczeństwa Sieci Łukasz Jopek Projektowanie Bezpieczeństwa Sieci - Laboratorium. Konfiguracja NAP Network Access Protection

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

podstawowa obsługa panelu administracyjnego

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Połączenie VPN Host-LAN SSL z wykorzystaniem przeglądarki. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Konto SSL 1.3. Grupa użytkowników

Pomoc dla r.

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

Ustawienia personalne

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Tomasz Greszata - Koszalin

Wykorzystanie protokołu SCEP do zarządzania certyfikatami cyfrowymi w systemie zabezpieczeń Check Point NGX

Ko n f i gura cja p ra cy V ISO z bazą SQL S e rve r

AM_Student. Instrukcja konfiguracji połączenia do studenckiej sieci bezprzewodowej Akademii Morskiej w Szczecinie

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Przykład konfiguracji koncentratora SSL VPN w trybie Reverse Proxy (dotyczy serii urządzeń ZyWALL USG)

Konfiguracja poczty IMO w programach Microsoft Outlook oraz Mozilla Thunderbird

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Snifery wbudowane w Microsoft Windows

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Serwer Sieci Web (IIS)

Problemy techniczne SQL Server

DESlock+ szybki start

asix Autoryzacja dostępu do zasobów WWW systemu asix (na przykładzie systemu operacyjnego Windows 2008)

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Problemy techniczne SQL Server

Instrukcja konfiguracji funkcji skanowania

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Podłączanie się do sieci eduroam w systemie Windows Vista/Windows 7/ 8 Dla studentów AMG

Protokoły zdalnego logowania Telnet i SSH

Platforma e-learningowa

Konfiguracja własnego routera LAN/WLAN

Połączenia. Obsługiwane systemy operacyjne. Strona 1 z 5

Przewodnik Google Cloud Print

Praca w sieci równorzędnej

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

ZALECENIA DLA MIGRACJI NS-BSD V8 => V9

RODO a programy Matsol

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

Konfiguracja Claims Based Authentication dla Microsoft SharePoint 2010

Krótka instrukcja instalacji

Dokumentacja SMS przez FTP

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Transkrypt:

Bezpieczne aplikacje Web w oparciu o 2.0 Obrona Artur Żarski stopień trudności 20.0 jest technologią, dzięki której możliwe jest tworzenie dynamicznych stron internetowych. Wykorzystuje ona większość możliwości, jakie dostępne są wraz z platformą.net Framework w związku z wykorzystaniem środowiska uruchomieniowego CLR. Zastosowanie programowania opartego na zdarzeniach pozwoliło między innymi nad odseparowanie kodu aplikacji i warstwy definiującej wygląd. Dodatkowo możliwe jest tworzenie kodu naszej aplikacji w różnych językach.net C# oraz Visual Basic.NET. W najnowszej wersji 2.0 usprawniono w znaczący sposób wiele cech znanych z poprzednich wersji platformy, a także wprowadzono wiele nowych elementów, wspomagających proces szybkiego tworzenia aplikacji internetowych w szczególności mających związek z bezpieczeństwem. Tworzenie aplikacji, bez względu na to, czy piszemy aplikacje dla środowiska klient-serwer czy dla środowiska Web, zawsze wymaga zastanowienia się nad aspektami bezpieczeństwa. Tylko od nas zależy, czy nasza aplikacja będzie działać poprawnie i czy użytkownicy będą mogli się do niej włamać. 2.0 jako technologia bardzo mocno wspiera programistów, aby tworzyć bezpieczne rozwiązania. Niniejszy artykuł ma na celu przedstawienie podstawowych zasad i mechanizmów tworzenia bezpiecznych aplikacji WWW. Na początku powinniśmy zastanowić się nad samym pojęciem bezpieczeństwa. Termin ów sam w sobie jest bardzo szerokim tematem i obejmuje bardzo wiele pojęć i zagadnień. Na rysunku pierwszym widać ogólny przekrój przez technologie oraz elementy związane z procesem bezpieczeństwa. Jak widać na Rysunku 1, podstawowe technologie to: jako serwer WWW jako platforma pisania aplikacji Z artykułu dowiesz sie Artykuł przedstawia dostępne technologie platformy.net, dzięki którym aplikacje Web mogą stać się bezpieczniejsze. Pokazane są aspekty, na które należy zwrócić uwagę przy tworzeniu i konfigurowaniu całego środowiska aplikacji Co powinienes wiedzieć Przed przystąpieniem do lektury artykułu należy zapoznać się z podstawami bezpieczeństwa aplikacji. Ze względu na ograniczenie do platformy.net należy znać podstawowe elementy tej platformy oraz orientować się w jej technologiach. 2 hakin9 Nr 7/2007 www.hakin9.org

Enterprise Services jako obiekty biznesowe klasy enterprise SQL Server jako baza danych Wszystkie te technologie składają się z dwóch podstawowych elementów - autoryzacji oraz autentykacji. Pojęcia te bardzo się od siebie różnią, a mimo to często są mylone. to proces pobierania danych użytkownika i jego uprawnień. Natomiast autoryzacja to proces sprawdzania, czy użytkownik ma dostęp do pewnych zasobów. Elementy technologii oraz jej elementów możemy przedstawić w tabeli Bezpieczeństwo w Bezpieczeństwo jest bardzo szerokim zagadnieniem, podobnie jak samo pojęcie bezpieczeństwa. Opiera się ono o mechanizmy, które są istotne dla całej platformy.net. Składa się z bardzo wielu Tabela 1. Uprawnienia NTFS Restrykcje IP URL Pliki Role.NET Enterprise Services Role COM+ Uprawnienia NTFS SQL Server Użytkownicy Uprawnienia do obiektów Role bazy danych Role użytkownika Role aplikacyjne elementów, które mogą mieć wpływ na sposób działania naszej aplikacji WWW oraz decydować o tym, jak dużo czasu będziemy musieli poświęcić na oprogramowanie wszystkich mechanizmów oraz uniknięcie pewnych niechcianych zachowań. Poniżej przedstawiamy elementy mające wpływ na bezpieczeństwo aplikacji. CAS - Code Access Security jest składnikiem platformy.net Framework i rządzi się podobnymi prawami, jak każda aplikacja.net. Ogólnie rzecz biorąc, proces wygląda tu tak, że Common Language Runtime (CLR) zezwala kodowi aplikacji wykonywać tylko te operacje, do których wykonania ma on uprawnienia. Jeśli chcielibyśmy narzucić jakąś politykę bezpieczeństwa, musimy posiłkować się CAS (Code Access Security). CAS jest mechanizmem bezpieczeństwa CLR wymuszającym politykę bezpieczeństwa i umożliwia: Windows Dostęp anonimowy Certyfikaty Dostęp podstawowy Windows Formularze Passport Własne RPC Windows SQL Server Definiowanie, co może robić kod Definiowanie, jaki program może wywoływać dany kod Identyfikowanie kodu Do głównych zadań CAS należą między innymi: Ograniczenia narzucone kodowi w zakresie zdefiniowanych zasad bezpieczeństwa Definiowanie uprawnień do zasobów systemowych Żądanie określonych uprawnień z kodu Przydzielanie uprawnień ładowanemu kodowi w zakresie zasad bezpieczeństwa Konfigurowanie przez administratora zasad bezpieczeństwa dla grup kodu Dla wielu programistów.net CAS nie jest znany i nie mają oni świadomości jego możliwości. Może to stanowić pewien problem, ponieważ każda aplikacja wykorzystuje CAS, a w zasadzie podlega jego regułom. Dlaczego tak się dzieje? Może to wynikać z faktu, że większość naszych stron WWW, które piszemy, uruchamiamy lokalnie, na lokalnym użytkowniku, etc. W momencie uruchomienia aplikacji Web w rozproszonym środowisku, coś nagle przestaje działać. Uwierzytelnianie w 2.0 Znane jest już nam pojęcie autentykacji. Zobaczmy teraz, jak wygląda proces uwierzytelniania. W wyróżniamy następujące sposoby uwierzytelniania: systemu Windows, za pośrednictwem formularza oraz przy użyciu usługi Passport. Możliwy jest też jeszcze jeden podział wg trudności uwierzytelniania. Wyróżnić możemy następujące jego sposoby: Proste zintegrowane oraz formularze Średniozaawansowane szyfrowanie hasła, wykorzystanie sygnatur (hash) (np. NTLM, Digest) Zaawansowane certyfikaty, Kerberos www.hakin9.org hakin9 Nr 7/2007 3

W przypadku autoryzacji, wykorzystywany jest mechanizm Role Based Security, czyli zabezpieczenia bazujące na rolach. Polegają one na sprawdzeniu tożsamości użytkownika i pozwoleniu bądź odrzuceniu żądania do zasobu. Zintegrowana autoryzacja Najbardziej popularne i najczęściej stosowane są mety uwierzytelniania zintegrowanego oraz poprzez formularze. Pierwszy z nich bazuje na ustawieniach serwera i największa część pracy wymagana jest po stronie jego konfiguracji. Jak wyglądają poszczególne ustawienia w uwierzytelnianiu zintegrowanym, przedstawia Tabela nr 2. Kolumna rodzaj uwierzytelnienia to konkretne sposoby, natomiast kolumna zachowanie określa, jak ten proces wygląda. Formularze na poziomie formularzy jest zupełnie odmiennym procesem. O ile w przypadku uwierzytelniania zintegrowanego nie wprowadzaliśmy nazwy użytkownika i hasła, to w przypadku formularzy musimy te wartości podać. Dopiero na ich podstawie system da nam dostęp do zasobów i zaloguje lub odrzuci zgłoszenie. Logowanie zwykle odbywa się na specjalnej stronie WWW, na której podajemy nazwę użytkownika i hasło. Zaletą tego typu autoryzacji jest możliwość uwierzytelniania do dowolnej listy użytkowników. Ta lista może być przechowywana w bazie danych, może to być dowolny serwer LDAP lub dowolne inne źródło plik XML, lista użytkowników trzymana w pliku Web.config, etc. Przykładowa lista użytkowników w pliku Web.config może wyglądać jak na Listingu 1. W przypadku uprawnień przechowywanych w bazie danych może to być (i najczęściej tak właśnie jest) zwykła tabela, w której mamy dwa pola: użytkownik i hasło. Passport authentication Jeszcze jednym sposobem autentykacji jest użycie usługi Microsoft.NET Passport. Usługę tę najczęściej można znaleźć na stronach firmowych Microsoft. Niewątpliwą jej zaletą jest to, że posiadając konto w Secure Communication (SSL / IPSec) Rysunek 1.?? Tabela 2. Sposoby zintegrowanego uwierzytelniania Sposób uwierzytelnienia Dostęp anonimowy Basic authentication Digest authentication Windows Integrated authentication Mapowanie certyfikatów Kerberos Web Server Web Services Database Server Zachowanie usłudze Passport, możemy mieć jednocześnie dostęp do różnych witryn (np. nasza własna witryna oraz witry- Clients Enterprise Services (COM+) SQL Server Nie chronimy nic każdy użytkownik ma dostęp Login i hasło jawnie przesyłane w nagłówku HTTP Wykorzystanie tylko z SSL Przesyłanie hasha hasła.net Remoting challenge-response, dwufazowe, NTLM Bardzo uniwersalne, obsługiwane przez wszystkie systemy Możliwość mapowania certyfikatu na konto użytkownika techniką jeden-do-jednego oraz jeden-do-wielu Możliwość przechowywania certyfikatów na bezpiecznych nośnikach Wymaga Active Directory oraz Windows XP/ 2000 u klienta 4 hakin9 Nr 7/2007 www.hakin9.org

na na stronach MSDN). Niestety ma ona jedną wadę, a jest nią sposób implementacji usługi - do tego celu musimy wykorzystać specjalny SDK. 2.0 i elementy dla programisty Wraz z 2.0 programiści dostali całkiem spory zasób kontrolek, które pozwalają w bardzo prosty i szybki sposób zaimplementować proces logowania i autoryzacji w systemie. Na rysunku 2 widać zestaw nowych kontrolek, które są dostępne w Visual Studio. Najważniejsze z tych kontrolek to: CreateUserWizard uruchamia wizarda, dzięki któremu możemy stworzyć użytkownika Login czyli logowanie LoginStatus kontrolka odpowiadająca za stan zalogowania określa, czy użytkownik został zalogowany czy nie. PasswordRecovery możliwość odzyskania hasła na podstawie jakieś tajemniczego pytania ChangePassword kontrolka umożliwiająca w bardzo prosty sposób zmianę hasła. Co najistotniejsze z punktu widzenia programisty, to fakt, że pozbywamy się czasu na implementacje tego fragmentu aplikacji. Po prostu przenosimy kontrolkę na formularz, a następnie konfigurujemy. Cała praca związana z tworzeniem przycisków, etykiet, podłączaniem do źródeł danych etc. jest już zrobiona. Na rysunku 3 przedstawione zostały niektóre kontrolki związane z logowaniem i użytkownikami. Web Site Administration Tool Rysunek 2.?? Bardzo istotnym elementem z punktu widzenia bezpieczeństwa aplikacji jest narzędzie Web Site Administration Tool. Jest to narzędzie, dzięki któremu mamy możliwość utworzenia użytkowników, grupy użytkowników, serwera pocztowego, dostawców usług uwierzytelnienia, etc. Rysunek 4 przedstawia główny ekran tego narzędzia. Narzędzie to jest bardzo proste w obsłudze i bardzo intuicyjne aby np. stworzyć nowego użytkownika, wystarczy w menu użytkownicy wybrać opcję New, a następnie podać odpowiednie informacje, a użytkownik zostanie założony. Praca z danymi Praca z danymi w przypadku aplikacji odbywa się na podobnych zasadach, jak w przypadku zwykłych aplikacji okienkowych. Po- Listing 1.??? <authentication mode="forms"> <forms name="frmlog" loginurl="/logowanie.aspx"> <credentials passwordformat="sha1"> <user name="artur" password="07b7f3ee06f278db966be960e7cbbd103df30ca6"/> <user name="karol" password="ba56e5e0366d003e98ea1c7f04abf8fcb3753889"/> </credentials> </forms> </authentication> Listing 2.??? <connectionstrings> <add name="dd_cnx" connectionstring="data Source=ARTURZ02\SQLEXPRESS;Initial Catalog=DeveloperDays;Persist Security Info=True;User ID=dd_user; Password=haslo;" providername="system.data.sqlclient" /> </connectionstrings> Listing 3.??? <connectionstrings> <add name="pubs" connectionstring="server=localhost;integrated Security=True;Database=Pubs" providername="system.data.sqlclient" /> <add name="northwind" connectionstring="server=localhost;integrated Security=True;Database=Northwind" providername="system.data.sqlclient" /> </connectionstrings> www.hakin9.org hakin9 Nr 7/2007 5

trzebne nam jest źródło danych, połączenie, zestaw zapytań oraz miejsce, do którego trafią wyniki naszego zapytania. Źródłem danych może być dowolny element: baza danych, plik, obiekt, etc. Istotnym elementem jest sposób podłączenia się do naszego źródła. Najczęściej wykorzystuje się klasę SqlConnection i podaje jako parametr ConnectionString. ConnectionString jest niczym innym, jak tylko zestawem informacji, które pozwalają na identyfikację serwera, identyfikację bazy danych oraz parametry użytkownika. Nasz kod do połączenia z bazą danych może wyglądać jak na Listingu 5. W ten sposób zapisane dane nie są jednak bezpieczne. Dlatego też ConnectionString można przenieść do pliku Web.config. Wtedy w pliku tym pojawi się sekcja podobna do sekcji z Listingu 2. Przenosząc jawnie zapisany ciąg połączenia do pliku Web.config, zrobiliśmy pierwszy krok, aby zabezpieczyć się przed najprostszymi sposobami włamania do serwera. Niestety w przypadku bardziej zaawansowanych użytkowników również i taki sposób zapisu nie chroni nas przed niepowołanym dostępem. Dlatego też wraz z mamy możliwość szyfrowania ConnectionString w plikach Web.config. Do tego celu wykorzystujemy polecenie dostępne w ramach.net Framework: aspnet_regiis. Jeśli nasz plik web.config wygląda tak jak na Listingu 3 To po wykonaniu polecenia: aspnet_regiis -pe "connectionstrings" -app "/NaszaAplikacja" Dostaniemy wynik jak na Listingu 4. Gdzie w polu CipherValue będzie zaszyfrowany nasz ciąg. Serwer WWW Oczywiście nie tylko sama aplikacja musi być bezpieczna. Ważne jest też, aby i serwer WWW był bezpieczny. Co może sprawić, ze nasza aplikacja będzie działać bezpiecznie? Oczywiście szyfrowanie transmisji danych przy wykorzystaniu protokołu SSL. SSL (Secure Socket Layer) jest protokołem sieciowym używanym do bezpiecznych połączeń internetowych. Został opracowany przez firmę Netscape i powszechnie go przyjęto jako standard szyfrowania na WWW. Normalnie strony z serwerów oraz formularze do serwera są przesyłane przez sieć otwartym tekstem, który stosunkowo łatwo przechwycić (szczególnie w sieci lokalnej). Jeśli serwer używa protokołu SSL do komunikacji z przeglądarką, wówczas informacja w obie strony (między serwerem WWW i przeglądarką) jest przesyłana przez sieć w sposób zaszyfrowany, co odszyfrować jest już stosunkowo trudno. SSL realizuje szyfrowanie, uwierzy- Listing 4.??? <connectionstrings> <EncryptedData> <CipherData> <CipherValue>AQAAANCMndjHoAw </CipherValue> </CipherData> </EncryptedData> </connectionstrings> Listing 5.??? SqlConnection cnxpolaczenie = New SqlConnection( Data Source= ARTURZ02\SQLEXPRESS; Initial Catalog=DeveloperDays; Persist Security Info= True;User ID=dd_user; Password=haslo; ); Rysunek 3.?? 6 hakin9 Nr 7/2007 www.hakin9.org

telnienie serwera (ewentualnie użytkownika również) i zapewnienie integralności oraz poufności przesyłanych informacji. W momencie nawiązania połączenia z bezpieczną (stosującą protokół SSL) stroną www następuje ustalenie algorytmów oraz kluczy szyfrujących, stosowanych następnie przy przekazywaniu danych między przeglądarką a serwerem WWW. Podsumowanie Bezpieczeństwo aplikacji nie jest już wyłącznie domeną administratorów. Szczególnego znaczenia nabierają te słowa w przypadku tworzenia aplikacji WWW. 2.0 daje szerokie możliwości zabezpieczenia się przed niepowołanym dostępem. Oczywiście nieuniknione jest wsparcie ze strony systemu operacyjnego oraz serwera WWW, niemniej jednak sama platforma.net oferuje całkiem spore możliwości. Niniejszy artykuł bardzo ogólnie przedstawił podstawowe elementy, aby pokazać czytelnikom, jak zabrać się za aspekty bezpieczeństwa i bezpiecznego tworzenia aplikacji WWW. Nikt nie powinien twierdzić, że tworzenie bezpiecznych aplikacji jest banalnie proste, ale jednocześnie nie można popadać w druga skrajność. Umiejętne użycie gotowych mechanizmów pozwoli nam na bardziej efektywną i twórczą pracę bez konieczności skupiania się na najmniejszych detalach związanych z implementacją naszej aplikacji (jak np. zmiana lub przypomnienie zapomnianego hasła) Rysunek 4.?? W Sieci Oficjalna strona http://www.asp.net/ Bezpieczeństwo aplikacji ASP.Net przygotowane przez grupę Patterns & Practices http://msdn2.microsoft.com/en-us/library/ms998372.aspx Fragment książki 2.0 security http://www.awprofessional.com/ articles/article.asp?p=351414&rl=1 Książka Developing More-Secure Microsoft 2.0 Applications http: //www.microsoft.com/mspress/books/9989.aspx Podstawy SSL http://pl.wikipedia.org/wiki/transport_layer_security SSL teoria http://muflon.photosite.pl/doc/progzesp/ssl.html www.hakin9.org hakin9 Nr 7/2007 7