IIS 7.0 - Bezpieczne udostępnianie usług www. BłaŜej Miga blazej.miga@man.poznan.pl. Zespół Bezpieczeństwa PCSS Centrum Innowacji Microsoft



Podobne dokumenty
Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

IIS hacking. BłaŜej Miga Gerard Frankowski. Zespół Bezpieczeństwa PCSS Centrum Innowacji Microsoft. Konferencja SecureCON Wrocław,

Bezpieczeństwo serwera Microsoft IIS v. 7.0

IIS Bezpieczny hosting

Zabezpieczanie platformy Windows Server 2003

SECURE /10/2006. Błażej Miga, PCSS Jaroslaw Sajko, PCSS

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

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

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

Tomasz Greszata - Koszalin

Załącznik nr 2. Przewodnik instalacyjny systemu e-broker Technologiczny v.1.0. Część 4 - Narzędzia informatyczne przeznaczone dla ośrodków innowacji

Bezpieczeństwo aplikacji PHP hostowanych w środowisku. Windows. Gerard Frankowski, PCSS

Zabawy z PHP em. Błażej Miga, Jaroslaw Sajko, PCSS blazej.miga@man.poznan.pl jaroslaw.sajko@man.poznan.pl

Tomasz Nowocień, Zespół. Bezpieczeństwa PCSS

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Spis treści. Część I Podstawy. 1 Wprowadzenie do IIS Architektura IIS

Procedury techniczne modułu Forte Kontroling. Ustawienia IIS

Zabezpieczanie platformy Windows Server 2003

E-SODA Instrukcja instalacji dla wersji beta. Wersja instrukcji

Błażej Miga, PCSS

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

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

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

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Usługi ze wsparciem Centrum Innowacji Microsoft. Jerzy Mikołajczak, Marek Zawadzki

Platforma webowa IIS

Instalacja programu Ozon.

1 Powłoka programu Windows PowerShell Skrypty programu Windows PowerShell Zarządzanie dziennikami... 65

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

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

Podstawy programowania. Wprowadzenie

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Procedury techniczne modułu Forte Kontroling. Środowisko pracy programu i elementy konfiguracji

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

Win Admin Monitor Instrukcja Obsługi

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Windows Serwer 2008 R2. Moduł x. IIS

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

INFRA. System Connector. Opis wdrożenia systemu

CENNIK PODSTAWOWY USŁUGI etlink FIRMA

Pracownia internetowa w szkole ZASTOSOWANIA

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Komunikator internetowy w C#

Bezpieczeństwo systemów informatycznych

Budowa architektury podstawowych funkcji usług IIS Działanie witryny sieci Web Korzystanie z aplikacji sieci Web i katalogów

OpenLaszlo. OpenLaszlo

Wdrażanie aplikacji Delphi 2005

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Program Windykator I Moduły do programu. Wymagania systemowe oraz środowiskowe dla programów

Tworzenie i wykorzystanie usług sieciowych

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

System zarządzający grami programistycznymi Meridius

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

CENNIK PODSTAWOWY USŁUGI etlink FIRMA

Instalacja programu. Po naciśnięciu przycisku Dalej pojawi się okno, w którym naleŝy dokonać wyboru docelowej lokalizacji.

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Zaawansowane aplikacje internetowe - laboratorium

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

ActiveXperts SMS Messaging Server

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

Zasady współpracy programu Doradca Handlowy z Symfonią

Kim jesteśmy? PCSS i MIC. Paweł Berus, Zespół Bezpieczeństwa PCSS

Dokumentacja fillup - MS SQL

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

DLA DREAMBOX & FLASHWIZARD

WorkingDoc CostControl: Precyzyjna kontrola kosztów wydruku na urządzeniach Grupy Ricoh

WEBCON BPS Instalacja Standalone

Instalacja i konfiguracja serwera IIS z FTP

Kancelaria Prawna.WEB - POMOC

Instrukcja instalacji wersji stacjonarnej. Wersja 6.5

CONFidence 13/05/2006. Jarosław Sajko, PCSS

Instrukcja instalacji systemu elektronicznego obiegu dokumentów - esoda.

Bezpieczeństwo aplikacji webowych

Zabezpieczanie platformy Windows Server 2003

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

Szkolenie autoryzowane. MS 6419 Konfiguracja, zarządzanie i utrzymanie systemów Windows Server 2008

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

Programowanie Komponentowe WebAPI

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

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

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

Piotr Bubacz Cloud Computing

Advanced Internet Information Services Management (IIS 8)

Bezpieczeństwo aplikacji internetowych. Rozwój napędzany potrzebą WALLF Web Gateway. Leszek Miś, RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o.

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Referat pracy dyplomowej

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

Biuletyn techniczny. System CDN OPT!MA i współpraca z SQL Server 2005 Express Edition CDN OPT!MA Copyright 2007 COMARCH SA

Transkrypt:

IIS 7.0 - Bezpieczne udostępnianie usług www BłaŜej Miga blazej.miga@man.poznan.pl Zespół Bezpieczeństwa PCSS Centrum Innowacji Microsoft 1

Wstęp Bezpieczny hosting Komponenty serwera IIS + ASP.NET - dobrana para ZagroŜenia przykładowe ataki Zabezpieczamy serwer 2

Zespół PCSS Bezpieczeństwa Praca operacyjna w ramach ogólnopolskiej szerokopasmowej sieci PIONIER oraz zasobów Centrum Praca badawczo naukowa w ramach projektów krajowych oraz europejskich (CLUSTERIX, EGEE, itvp, MIC) Usługi komercyjne (audyty, testy penetracyjne, analizy kodów źródłowych i binarnych, szkolenia, etc...) Praca po godzinach (bezpieczeństwo systemów hostingowych, PKI) http://security.psnc.pl/ 3

Bezpieczny hosting Poufność zapewnienie poufności kodom źródłowych skryptów klienta ograniczenie dostępu do danych konfiguracyjnych serwera, serwisów, aplikacji Dostępność dostępność aplikacji 24x7x365 minimalizacja czasu odtworzenia środowiska Integralność danych zabezpieczenie aplikacji i danych przed modyfikacjami osób trzecich. 4

Komponenty serwera IIS IIS 5.0 IIS 7.0 DLLHost ISAPI Extensions INETINFO.EXE ASPNETWP ASP.NET Apps W3SVC WAS Worker Process w3wp.exe ASP.NET Web App Metabase WinSock 2.0 user AFD.SYS TCP/IP kernel HTTP.SYS TCP/IP 5

http.sys Driver kernel-mode komponent http protocol stack Obsługuje połączenia https Klasa HttpListener komunikacja z http.sys Konfiguracja netsh http httpcfg 6

http.sys MoŜliwości konfiguracyjne netsh http add iplisten... netsh http add sslcert... netsh http add timeout... netsh http add urlacl... netsh http show cachestate HKLM\SYSTEM\CurrentControlSet\Servi ces\http\parameters Strony z informacją o pojawiających się błędach wkompilowane w http.sys 7

Tips & Tricks Wyszukiwanie hostingów IIS 7.0 Asdas method Server: Microsoft-HTTAP!/2.0 HKLM\SYSTEM\CurrentControlSet\Servi ces\http\parameters\urlaclinfo http://+:80/temporary_listen_addresses/ http://+:80/wsman/ 8

Tips & Tricks http://.../wsman/ (np. www.iis.net/wsman/) 9

Internet Information Services IIS ver 1.0 Windows NT 3.51 (maj 1995r.) 13 lipiec 2001 Code Red worm 2005 Bill Staples We've learned from Apache 30 styczeń 2007 Windows Vista IIS 7.0 Budowa modułowa Konfiguracja pliki xml Nowy panel administracyjny 10

KONKURS www.secunia.com IIS ver. 6.0 2003-2006 3 advisories (2 Moderately, 1 less) Apache 2.0.x 2003-2006 33 advisories (większość less critical) Sun ONE/iPlanet 6.x 19 advisories 11

IIS 7.0 - Moduły Przeszło 40 modułów Biblioteka dll Pogrupowane Http modules Security modules Content modules Compression modules Caching modules Logging and Diagnostics modules 12

IIS 7.0 http pipeline 13

Http services W3svc konfiguracja serwisów tworzenie HTTPListener'ów WAS Zarządca procesów Działa z uprawnieniami konta LocalSystem Tworzy worker procesy (w3wp.exe) 14

IIS Konfiguracja Konfiguracja serwera i serwisów umieszczona jest w plikach xml Narzędzia konfiguracyjne: IIS Manager Tworzenie własnych modułów WMI klasa System.Web... vi webconfig.xml 15

ASP.NET Połączenie ASP i.net W skład platformy wchodzą: Kompilatory C#, Visual Basic.NET, J# Kompilator kodu zarządzającego Metody umieszczania serwisów: Wersja skompilowana Wersja w postaci kodu źródłowego kod ten jest kompilowany przy pierwszym Ŝądaniu strony. 16

Application Domain Element łączący ASP.NET i IIS Główne zadanie zapewnieni izolacji między aplikacjami MoŜliwości konfiguracyjne: Wybór środowiska.net Limity przydziału procesora Limity przydziału pamięci Wybór procesora na którym będzie działać proces Wybór uŝytkownika z uprawnieniami którego aplikacje będą uruchamiane Konfiguracja.NET Trust Levels (Code Access Security) 17

AppDomain SpecificUser Przy konfiguracji uŝytkownika naleŝy podać jego nazwę i hasło! Problem synchronizacji haseł Problem zmiany nazwy konta uŝytkownika Problem szyfrowania haseł 18

AppDomain SpecificUser %systemroot%\system32\inetsrv\confi g\applicationhost.config <applicationpools> <add name= test autostart= true > <processmodel identitytype= SpecificUser username= bla password= [enc:iiswasonlyrsaprovid er:...:enc] maxprocesses= 10 /> </add></applicationpools> 19

Kompilacja aspx. worker proces (w3wp.exe) Sprawdzenie czy istnieje skompilowana wersja Kompilacja kodu csc.exe... cvtres.exe... Plik wynikowe umieszczane są w katalogu %SYSTEM%\Microsoft.NET\Framework\ver \Temporary ASP.NET Files\ 20

ZAGROśENIA 21

ZagroŜenia załoŝenia wstępne Serwer hostuje n klientów Klienci mają moŝliwość umieszczania własnych aplikacji, skryptów ASP.NET ZagroŜenia dotyczą błędów konfiguracyjnych środowiska hostującego Nie analizujemy ataków na serwisy XSS, Sql injection etc. Cel: Co złego moŝe zrobić skrypt/program umieszczony na naszym serwerze? 22

ZagroŜenia 1 DoS Maksymalne wykorzystanie zasobów dyskowych Do kompilowania plików aspx kompilator musi mieć uprawnienia tworzenia plików w katalogu %SYSTEMROOT%\Microsoft.NET\Framewo rk\ver\temporary ASP.NET Files\... Katalog ten wykorzystywany jest do zapisywania skompilowanych skryptów Program uŝytkownika zapisuje nieskończenie wiele danych do losowych plików w tym katalogu 23

Przykład protected void Page_Load(object sender, EventArgs e) { Random x=new Random(); int j; while(true) { System.IO.FileStream plik = System.IO.File.Create(@"c:\temp\" + x.next().tostring()); plik.setlength(1024*1024); plik.close(); } } 24

Ochrona 1 - Maksymalne wykorzystanie zasobów dyskowych NTFS przydziały (quota) Problemy z wyznaczeniem wartości limitu przy jednym Application Domain Ograniczenie ilości katalogów w których skrypty uŝytkownika mają moŝliwość zapisywania danych 25

ZagroŜenia 2 DoS wykorzystanie zasobów pamięci Uruchomienie nieskończonej ilości procesów dzieci Tworzenie nieskończenie wielkich tablic w wykonywanych skryptach ASP.NET 26

Ochrona 2 DoS wykorzystanie zasobów pamięci Utworzenie osobnych Application Domain dla kaŝdego hostowanego serwisu Ustawienie limitów przydziału procesora i pamięci dla kaŝdego Application Domain Ograniczenie moŝliwości uruchamiania własnych programów przez klienta 27

ZagroŜenia 3 Umieszczenie serwera na listach spamerów Wysyłanie nieautoryzowanego mailingu z serwera.net System.Net.Mail System.Net.Sockets Własne programy wykorzystujące połączenia TCP do wysyłania danych 28

Ochrona 3 Umieszczenie serwera na listach spamerów Ograniczenie moŝliwości uruchamiania własnych programów przez klienta Zastosowanie firewall'a 29

ZagroŜenia 4 Utrata poufności danych umieszczonych na serwerze WMI System.Management Informacje o środowisku, uruchomionych procesach System.Diagnostics.Process System.Environment Własne programy Odczyt rejestru Przeszukiwanie filesystemu serwera 30

Przykład using System.Diagnostics; protected void Page_Load(object sender, EventArgs e) { int i; String a="<br><b>moduły</b><br>"; i =Process.GetCurrentProcess().Modules.Count; for (int j = 0; j < i; j++) a += Process.GetCurrentProcess().Modules[j].FileName+"<br>"; Label1.Text=a; } 31

Ochrona 4 Utrata poufności danych umieszczonych na serwerze Ograniczenie moŝliwości uruchamiania własnych programów przez klienta Ustawienie odpowiednich uprawnień do plików i katalogów dla uŝytkownika uruchamiającego kod strony Szyfrowanie haseł wykorzystywanych do łączenia się z bazą danych Umieszczanie na serwerze skompilowanych wersji skryptów 32

Podsumowanie: IIS + ASP.NET ogromne moŝliwości tworzenia aplikacji webowych DuŜe moŝliwości konfiguracyjne (xml, mmc, WMI) Bogata dokumentacja (www.asp.net, MSDN) Darmowe środowisko developerskie Visual Studio Express Zagwarantowany rozwój i support środowiska 33

Dane kontaktowe Zespół Bezpieczeństwa PCSS Centrum Innowacji Microsoft blazej.miga@man.poznan.pl http://mic.psnc.pl http://www.man.poznan.pl http://security.psnc.pl 34

Dziękuje za uwagę. Pytania? Sugestie? Wątpliwości? 35