producent programów komputerowych

       
Home  Strona główna
Programy  Programy
Instrukcje Usługi
O firmie  O firmie
O firmie  Kontakt
 
 

Bezpieczeństwo aplikacji internetowych

  Bezpieczeństwo można by opisać w skrócie za pomocą słów: uwierzytelnienie , autoryzacja i bezpieczna komunikacja.
Uwierzytelnienie (authentication) jest procesem, którego celem jest stwierdzenie czy osoba za którą podaje się dany użytkownik, jest rzeczywiście tą osobą.  W tym celu podaje on swój identyfikator (w skrócie login ) no i hasło. Autoryzacja (Authorization) jest kolejnym krokiem w którym następuje sprawdzenie do jakich zasobów ma dostęp uwierzytelniony użytkownik. Bezpieczna komunikacja, czyli w tym przypadku, bezpieczny przesył danych przez sieć, to nic innego jak po prostu szyfrowanie przesyłanej  zawartości. W środowisku internetowym zazwyczaj odbywa się to za pomocą technologii SSL (Secure Sockets Layer).
 

Autoryzacja

  Autoryzacja z poziomu ASP .NET  konfigurowana jest w  pliku Web.config. Są to ustawienia domyślne, które stosowane są do wszystkich stron katalogu wirtualnego. Element „allow” definiuje użytkowników , bądź grupy, które mają prawo do zasobów. Element „deny” definiuje użytkowników , bądź też grupy, które nie mają prawa do zasobów. W szczególności ma to znaczenie w uwierzytelnieniu typu „Windows”, gdyż można tu określić zachowanie się aplikacji w odniesieniu do grup systemowych ( blok „roles”), bądź konkretnych kont. W tym wypadku elementy w bloku „roles” przyjmują postać: NazwaDomeny\NazwaGrupySystemowej, a „users”: NazwaDomeny\NazwaKonta W celu określenia użytkowników, często stosowane są również wartości specjalne, oznaczające odpowiednio:
„*”, wszystkich użytkowników
„?”, użytkowników którzy nie zostali uwierzytelnieni.
Możliwe jest również definiowanie autoryzacji w odniesieniu do konkretnego zasobu.  W tym celu w głównym bloku pliku Web.config, należy użyć definicji „location”.
Element “path” służy do definiowania strony, do której odnoszą się ustawienia. W tym wypadku oznacza to iż do podanej strony, będą mieli dostęp wszyscy użytkownicy, bez względu na domyślne ustawienia. W uwierzytelnieniu typu „Forms”, możliwe jest również  definiowanie ról i użytkowników w oparciu o zewnętrzne źródło danych. Mechanizm ten dokładniej omówiony zostanie, w opisie załączonego do artykułu przykładu. Kontrola dostępu do zasobów z poziomu systemu może odbywać się również za pomocą  uprawnień NTFS, bądź list ACL (Access Control Lists).
 

Uwierzytelnianie

  W aplikacjach ASP .NET tego co kryje się pod hasłem uwierzytelnienia, strzegą dwie „wierze”. Pierwszą z nich jest serwer WWW ( w tym wypadku jest to IIS), oraz sama aplikacja ASP .NET. Pierwszą „wierzą” strzegącą dostępu do zasobów jest IIS.  Zapewnia on zasadniczo cztery typy uwierzytelnienia: Anonymous, Basic, Digest oraz Integrated Windows. W skrócie uwierzytelnienie Anonymous oznacza taką konfigurację serwera, aby otworzył swe bramy i przepuszczała każdego, kto tylko zażyczy sobie przez nie przejść. Do uwierzytelnienia typu Basic, wykorzystywane są dane ( login + hasło), istniejących kąt  w systemie Windows. Wymagane jest tu więc już, podania danych uwierzytelniających. Problem w tym iż dane te są przesyłane przez sieć w postaci czystego tekstu. Zalecane jest więc stosowanie szyfrowania transmisji . Z kolei uwierzytelnienie Digest likwiduję tą niedogodność, ale za to nie jest obsługiwane przez większość przeglądarek, nie związanych z firmą Microsoft. Integrated Windows  oznacza iż uwierzytelnienie jest ściśle związane z kontem, które jest aktualnie w użyciu. Serwer sprawdza tożsamość użytkownika i sam dokonuje weryfikacji czy ma on prawo do użycia danej aplikacji, bez konieczności podawania danych uwierzytelniających. Możliwe jest również stosowanie mieszanych zabezpieczeń., przez zaznaczenie kilku typów zabezpieczeń np. Anonymous i Basic. W tym wypadku zasoby określone w pliku konfiguracyjnym ASP .NET jako zabezpieczone, będą obsługiwane w serwerze IIS przez tryb „Basic”, a pozostałe przez „Anonymous”.
Rodzaj ustawienia można zmienić wybierając „Zarządzaj” z menu kontekstowego znajdującego się pod ikoną „Mój komputer” na pulpicie. Ustawienia aplikacji znajdują się w: Usługi i aplikacje-> Internetowe usługi informacyjne-> Witryny sieci Web-> Domyślna witryna sieci Web-> KatalogWirtualnyAplikacji-> Właściwości. W oknie Właściwości należy wybrać zakładkę „Zabezpieczenia katalogów” a następnie przycisk „Edytuj” z sekcji „Dostęp anonimowy i kontrola uwierzytelnienia”.

Druga z wież, jak już wspomniałem to ASP .NET. Umożliwia ona  cztery typy uwierzytelnienia:
- Windows, oznacza iż za uwierzytelnienie odpowiedzialny jest IIS. W tym wypadku wybrany musi być typ Basic, Digest bądź Windows Integrated. To rozwiązanie jest dobre dla aplikacji intranetowych, gdzie wszyscy użytkownicy posiadają konta systemowe. Nie nadaje się jednak do aplikacji internetowych, ze względu na bardzo utrudniony mechanizm tworzenia nowych kont, dla każdego użytkownika chcącego korzystać z zabezpieczanej aplikacji www.
- Forms, oznacza iż uwierzytelnienie odbywa się po stronie ASP .NET. Użytkownik zanim dopuszczony zostanie do żądanego zasobu, kierowany  jest na specjalnie utworzoną w tym celu stronę, gdzie podane swoje dane uwierzytelniające. Są one weryfikowane zazwyczaj w oparciu o zewnętrzne źródło danych. Uwierzytelnienie odbywa się tylko raz. Podczas dalszej współpracy użytkownika z aplikacją jego dane przesyłane są za pomocą cookie. IIS powinien mieć ustawiony tryb „Anonymous”.
- Passport, jest technologią umożliwiającą przeprowadzenie uwierzytelnienia, w oparciu o zewnętrznego dostawcę, który sprawdza tożsamość użytkownika. Wymaga to mniej pracy, no ale cóż, nic za darmo. To oczywiście kosztuje. Niewątpliwą zaletą tego rozwiązania jest możliwość zastosowania tych samych danych uwierzytelniających do wielu aplikacji. W wypadku Forms, każda aplikacja wymaga osobnej implementacji mechanizmu uwierzytelnienia. Również tu dane użytkownika wprowadzane są jednokrotnie, a dalej przesyłane są za pomocą cookie.
- None. Ten typ uwierzytelniania stosowany  jest gdy, aplikacja posiada swój własny mechanizm zabezpieczeń. Jednym słowem wieża ASP .NET wyłączona jest z użycia, a IIS ma ustawiony tryb „Anonymous”.

 

Uwierzytelnianie Windows

  Oznaczają one, iż domyślnie każdy z nie uwierzytelnionych użytkowników, nie będzie dopuszczony do zasobów aplikacji.  Wyjątek stanowi zasób „default.aspx”, do którego dostęp mają wszyscy użytkownicy. W szczególności do strony „AddForm.aspx” nie ma  dostępu użytkownik „JARTEK\someone”. W serwerze IIS powinny zostać zaznaczone dwa typy zabezpieczeń: Basic i Anonymous. Drugi z wymienionych trybów będzie używany do dostępu do zasobu „default.aspx”. Jeżeli jakoś zasób wymaga podania danych uwierzytelniających, to system operacyjny wyświetla okno logowania, w celu wprowadzenia tych danych.
System sam troszcz się o sprawdzanie czy użytkownik ma prawo dostępu do danego zasobu. Sam przechowuje także wprowadzone dane uwierzytelniające, tak iż nie trzeba ich podawać za każdym razem, gdy przedstawione zostanie żądanie dostępu do chronionego zasobu.
 
 

Uwierzytelnianie Forms

  Użycie tego typu uwierzytelnienia wymaga ustawienia serwera IIS na typ zabezpieczeń „Anonymous”. W tym wypadku dostęp do zasobów również wymaga autoryzacji. Jednak tym razem nie jest ona automatycznie przeprowadzana przez system operacyjny. Programista musi sam utworzyć stronę, na którą kierowany jest użytkownik w celu wprowadzenia danych uwierzytelniających i zaimplementować mechanizm ich kontroli. Służy do tego dodatkowy blok  „forms”, pokazany powyżej. Zasadniczo on dwa podstawowe elementy: „loginUrl” będący nazwą strony na której wprowadzane są uwierzytelniające, oraz „name” określające nazwę ciasteczka przechowującego te dane. Dodatkowo można również inne parametry, takie jak obsługę szyfrowanej transmisji. W bloku „forms”, można również opcjonalnie umieścić dane uwierzytelniające użytkowników, którzy mają dostęp do aplikacji. Służy do tego blok „credentials”.
Każdy z wierszy zawiera nazwę użytkownika („name”) oraz jego hasło(„password”). Dodatkowo określany jest również element „passwoerFormat”, określający sposób przechowywania hasła. W tym wypadku ma on postać czystego tekstu, co zdecydowanie nie jest zalecanym rozwiązaniem. Można jednak zmienić to ustawienie, tak aby hasło było szyfrowane. Służą do tego wartości „SHA1” lub „MD5”. W ogóle nie jest to jednak zbyt dobre rozwiązanie. Jest dość nie uniwersalne, ze względu na uciążliwe zarządzanie danymi użytkowników, używających aplikacji, jak i ze względów bezpieczeństwa. Dużo lepszym rozwiązaniem, jest użycie zewnętrznej bazy danych do przechowywania danych uwierzytelniających.
Po pozytywnym zweryfikowaniu danych wprowadzonych przez użytkownika (metoda log), następuje przekierowanie użytkownika na stronę do której pierwotnie się odwołał. Następuje to przy pomocy metody MobileFormsAuthentication.RedirectFromLoginPage. Jej argumentami jest ciąg znaków identyfikujący użytkownika (w naszym wypadku jest to identyfikator z bazy danych), oraz wartość logiczna, określająca czy ciasteczko przechowujące dane uwierzytelniające ma zostać zapisane na stałe na dysku twardym użytkownika (wartość true), czy też usunięte po wygaśnięciu jego ważności ( wartość false).  Osoby, które miały już okazję użyć uwierzytelnienia typu forms, w klasycznm ASP .NET, chciałbym przestrzec przed użyciem metody FormsAuthentication.RedirectFromLoginPage.

 

 

Uruchamianie aplikacji

  Aby aplikacje IIS mógła zostać uruchomiona potrzebne jest oprogramowanie:
- Serwer IIS
- Serwer MS SQL Server 2008
W pierwszym kroku konieczne jest odpowiednie skonfigurowanie bazy danych. Służy do tego skrypt SQL-owy dołączony do artykułu. Tworzy on odpowiednią strukturę bazy, procedury składowane, oraz użytkownika, w imieniu którego wywoływane są wspomniane procedury. W tym celu skrypt nadaje mu odpowiednie uprawnienia. W drugim kroku należy utworzyć katalog wirtualny związany z uruchamianą aplikacją. Myślę iż najprostszym  sposobem będzie po prostu utworzenie projektu „ASP .NET Mobile Web Application”, o nazwie  identycznej z instalowaną aplikacją(„Mobile FormsAuth”) i zastąpienie jego katalogu wirtualnego, zawartości katalogu wirtualnego  dołączonego do artykułu.  Należy w końcu odpowiednio skonfigurować serwer IIS, wybierając tryb uwierzytelnienia na „Anonymous”. Przy odrobinie szczęścia wszystko powinno zadziałać. W razie problemów z uruchomieniem aplikacji na urządzeniu mobilnym, mogę zaproponować lekturę mojego poprzedniego artykułu, poruszającego tematykę konfiguracji i wykorzystania symulatora PocketPC.

 

 
   
 
Programowanie Windows Mobile
usługa programowania windows mobile terminal
Architektura aplikacji
architektura aplikacji bazodanowej, architektura dwuwarstwowa, architektura trójwarstwowa
Analiza przedwdrożeniowa
analiza przedwdrożeniowa dokumentacja wdrożenia poznań
Oprogramowanie jako usługa
Cloud Computing oprogramowanie usługa
SQL 2008 Server
system bazodanowy Microsoft SQL 2008 Server (MS SQL)
Instalacja
instalacja programów IIS SQL Asp.net C# software studio
Strony internetowe
Projektowanie stron www internetowych tworzenie portali poznań warszawa wrocław
Small Business Edition: Sophos Computer Security
Sophos Computer Security
Small Business Edition: Sophos Anti-virus
sophos antywirus program poznań wielkopolska
Programowanie
Usługi programowania poznań warszawa wrocław
Outsourcing informatyczny
Outsourcing informatyczny
Software Maintenance
Świadczenie usługi Software Maintenance dla oprogramowania Konserwacja oprogramowania utryzmanie w ruchu
Systemy ERP
integracja systemów ERP Corax Hermes SQL Humansoft Poznań wielkopolska dolnośląskie lubuskie
Wdrożenie systemu ERP
Wdrożenie systemu Corax ERP Humansoft Poznań Wrocław Gorzów Zielona Góra
Microsoft Windows Mobile
program windows mobile system operacyjny programowanie usługi
Raportowanie
Raportowanie report builder
Projekty informatyczne
projekt informatyczny wdrożenie analiza przedwdrożeniowa MAINTENANCE
Microsoft Windows CE
programy Windows CE system operacyjny usługi programowania
Aplikacja internetowa
Aplikacja internetowa, sklep internetowy - jak to działa?
Programy na zamówienie
tworzenie programów na zamówienie usługi programowania aplikacje windows internetowe
 
 
CRM .net
Zarządzanie kontaktami z klientami, ewidencja pracy handlowców i ich rozliczanie, premiowanie. Za pomoca aplikacji CRM.net handlowcy z dowolnego miejsca przez inetrnet rejestrują swoje wizyty u klientów, wprowadzają zamówienia, sprawdzają stan rozrachunków. Na podstawie wprowadzonych informacji tworzone są raporty rozlicvzające handlowców ...

Pozycjoner .net
Pozycjonowanie stron internetowych jest zajęciem żmudnym, w celu zwiększenia łatwości dostępu do wybranej witryny www stosuje się zabiegi zwane pozycjonowaniem , w celu ułatwienia pracy i zwiększenia efektywaności tych działań stworzyliśmy oprogramowanie, które pozwala uzyskiwać lepsze wyniki wyszukiwania. ...

Magazyn Framework
Program magazynowy Studio Magazyn WMS.net wersja Framework do pracy w środowisku Windows z interfejsem pakietu Microsoft Office 2007. Trudno sobie wyobrazić zarządzanie nowoczesnym magazynem wysokiego składowania bez wdrożonego programu do jego obsługi. Program magazynowy Studio Magazyn WMS .net przeznaczony jest do ewidencji ilościowo w ...

Narzędziownia .net
Narzędziownia jest to program przeznaczony do komputerowego wspomagania zarządzania gospodarką narzędziami z przeznaczeniem dla przedsiębiorstw zajmujących się wytwarzaniem konstrukcji, maszyn, urządzeń itp. W programie prowadzona jest ewidencja ilościowo-wartościowa różnego rodzaju narzędzi w układzie wielonarzędziowym. ...

Reklamacje .net
Trudno sobie wyobrazić nowoczesną firmę handlowo produkcyjną, która nie ma dobrze zorganizowanego procesu zarządzania reklamacjami i serwisem gwarancyjny. Wprowadzając produkty na rynek producent lub firma handlowa musi zapewnić sprawną obsługę w zakresie reklamacji i serwisu pamiętając jedncoześnie o kosztach. Wdrożenie systemu informaty ...

Dokumenty .net
Klasyczne metody przechowywania dokumentów w postaci papierowej stawiają wiele ograniczeń wynikających z natury papierowej dokumentu. Podstawowym problemem jest długi czas dotarcia do żądanego dokumentu, oraz przeszukiwanie zbioru dokumentów. Dodatkowo, w przypadku dużej ilości dokumentów, ich składowanie staje się problematyczne i wymaga ...

HermesSQL .net
Sprawne zarządzanie firmą humansoft HermesSQL wspomaga i koordynuje pracę osób zatrudnionych na różnych stanowiskach w firmie. Operacje wykonywane przez poszczególnych użytkowników rejestrowane są w jednej wspólnej bazie danych, co jest bezpośrednio związane z pełną integracją wszystkich modułów wchodzących w skład programu. Oferta firm ...

Corax ERP
Oferowany przez spółkę SoftwareStudio program CORAX to nowoczesny program kompleksowo wspomagający zarządzanie małym i średnim przedsiębiorstwem partnerskiej firmy Humansoft. Program ERP Corax składa się z modułów: Pakiet Podstawowy; Zarządzanie Kontaktami; System Lojalnościowy; Księga Handlowa lub książka przychodów i rozchodów; K ...

Spedycja .net
Moduł spedycja, jest zewnętrznym programem służącym do wspomagania pracy magazynu, w zakresie spedycji towarów za pomocą paczek i przesyłek kurierskich. Program przyspiesza i ułatwia pracę w magazynie w zakresie ewidencji wydań i rejestrację listów przewozowych - współpracuje z programami firm kurierskich. ...

Dokumenty Framework
Klasyczne metody przechowywania dokumentów w postaci papierowej stawiają wiele ograniczeń wynikających z natury papierowej dokumentu. Podstawowym problemem jest długi czas dotarcia do żądanego dokumentu, oraz przeszukiwanie zbioru dokumentów. Dodatkowo, w przypadku dużej ilości dokumentów, ich składowanie staje się problematyczne i wymaga ...

 

Skip Navigation Links.
Aktualności Technologia Producent
Studio Reklamacje .net dostosowane zostało do potrzeb obsługi reklamacji producenta artykułów spożywczych
Studio Magazyn WMS.net integracja z aplikacją firmy kurierskiej GLS
Pozycjonowanie Poznań  nowa wersja programu Pozycjoner.net współpracuje ze statystykami STAT24
Nowoczesne rozwiązanie zapewnia technologia Microsoft VisualStudio 2008 język C# ASP.net + AJAX oraz baza danych MS SQL 2008 server. SoftwareStudio Sp. z o.o.
60-349 Poznań, ul.Ostroroga 5
tel. 061 66 90 641
061 66 90 642
061 66 90 643
061 66 90 644
  022 25 78 528
fax 061 86 71 151
mail poznan@softwarestudio.com.pl
  Napisz do nas
 
  aplikacje microsoft windows  
aplikacje asp.net asp java ajax aplikacje asp.net asp java ajax windows 2008 server sql 2008 server aplikacja visual studio c#