Bezpieczeństwo heterogenicznej



Podobne dokumenty

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

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

Zabezpieczanie platformy Windows Server 2003

platforma zapewniająca usługi wirtualizacji

Poznańskie Centrum Superkomputerowo - Sieciowe

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

Zabezpieczanie platformy Windows Server 2003

Bezpieczeństwo. hostingowej GERARD FRANKOWSKI, MARCIN JERZAK

Kancelaria Prawna.WEB - POMOC

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

Dokumentacja fillup - MS SQL

Aktualny stan i plany rozwojowe

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

Zespół Bezpieczeństwa PCSS. 36. Spotkanie Poznańskiej Grupy.NET

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Platforma webowa IIS

OCHRONA PRZED RANSOMWARE. Konfiguracja ustawień

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

Rozwiązanie Trend Micro Worry-Free Business Security 8.0 Porady i wskazówki dotyczące konfiguracji początkowej

Pracownia internetowa w szkole ZASTOSOWANIA

OCHRONA PRZED RANSOMWARE

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

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Instrukcja instalacji

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

Serwer Sieci Web (IIS)

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

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

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

KONFIGURACJA SERWERA USŁUG INTERNETOWYCH

Serwer Sieci Web (IIS)

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

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

enova Instalacja wersji demo

Tomasz Grześ. Systemy zarządzania treścią

Produkty. ESET Produkty

Instalacja i konfiguracja serwera IIS z FTP

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

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

Tomasz Greszata - Koszalin

Zabezpieczanie platformy Windows Server 2003

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

Data modyfikacji:

WEBCON BPS Instalacja Standalone

Instalacja i konfiguracja SAS PC Files Server

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

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

Usługi sieciowe systemu Linux

Temat: Windows 7 Centrum akcji program antywirusowy

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Biuletyn techniczny Instalacja i uruchamianie CDN OPT!MA dodatkowe moŝliwości. Data powstania: Copyright 2007 COMARCH SA

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

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

Serwer Sieci Web (IIS)

INSTALACJA SYSTEMU CMS JOOMLA!

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

Załącznik 1 instrukcje instalacji

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Instalacja sieciowa Autodesk AutoCAD oraz wertykali

Referat pracy dyplomowej

Wykaz zmian w programie SysLoger

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

1. Podręcznik instalacji aplikacji EXR Creator Wstęp Instalacja Instalacja aplikacji EXR Creator z płyty CD

Instrukcja instalacji programu e STOMis wraz z pakietem Microsoft SQL Server 2005 Express Edition. e STOMis

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

ActiveXperts SMS Messaging Server

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

A. Instalacja serwera www

Win Admin Replikator Instrukcja Obsługi

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Joomla! Instalacja. Pobierz pakiet instalacyjny. instalacji XAMPP

Sieciowa instalacja Sekafi 3 SQL

11. Autoryzacja użytkowników

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Instrukcja obsługi Modułu Payu dla Moodle 2.x

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Windows Serwer 2008 R2. Moduł x. IIS

Wykaz zmian w programie WinAdmin Replikator

Instrukcja instalacji oprogramowania dla środowiska Windows

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

INFORMATOR TECHNICZNY WONDERWARE

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

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

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

Instalacja programu na systemie vista/win7/win8/win10. Instrukcja dotyczy instalacji wszystkich programów ( na przykładzie Helios ).

Silent setup SAS Enterprise Guide (v 3.x)

INFORMATOR TECHNICZNY WONDERWARE

Oprogramowanie OpenVPN jest oprogramowaniem darmowym, które można pobrać ze strony:

Win Admin Replikator Instrukcja Obsługi

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

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

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

oprogramowania F-Secure

Instalacja aplikacji

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Transkrypt:

Bezpieczeństwo heterogenicznej platformy hostingowej Gerard Frankowski, Zespół Bezpieczeństwa PCSS Szkolenie Centrum Innowacji Microsoft Poznań, 23.06.2009

Agenda 11:00 Wprowadzenie, informacje organizacyjne 11:05 Poznajmy się: czym jest PCSS imic? Program szkoleń MIC 11:15 Bezpieczeństwo heterogenicznej platformy hostingowej(1) wprowadzenie + serwer IIS 11:50 Przerwa 12:00 Bezpieczeństwo heterogenicznej platformy hostingowej(2) interpreter PHP 12:45 Podsumowanie, pytania, dyskusja 13:00 Zakończenie 2

Informacje organizacyjne Ankieta Krótka i anonimowa Pomoc na przyszłość Lista obecności Konkursy 2 pytania = 2 nagrody Osoba znająca odpowiedź podnosi rękę Pierwsza poprawna odpowiedź wygrywa Prezentacja dostępna na stronach WWW http://mic.psnc.pl http://security.psnc.pl http://szkolenia.man.poznan.pl Webcast dziś brak 3

Kim jesteśmy i co robimy? 4

PCSS Poznańskie Centrum Superkomputerowo- Sieciowe (1993) Operator sieci PIONIER oraz POZMAN Uczestnik projektów naukowo-badawczych Główne obszary zainteresowań: Gridy, sieci nowej generacji, portale Bezpieczeństwo sieci i systemów http://www.pcss.pl

Zespół Bezpieczeństwa PCSS Zespół BezpieczeństwaPCSS istnieje od 1996r. Zabezpieczanie infrastruktury PCSS Zadania bezpieczeństwa w projektachr&d Szkolenia, transfer wiedzy Badania własne Usługizewnętrzne Najciekawsze badania z ostatnichlat Badania sieci bezprzewodowych na tereniepoznania Raportnt. bezpieczeństwa bankowości elektronicznej Bezpieczeństwo serwerów WWW (Apache, MS IIS) Bezpieczeństwo sklepów internetowych http://security.psnc.pl 6

Centrum Innowacji Microsoft Centrum bezpieczeństwa i usług outsourcingowych http://mic.psnc.pl Działa od 1.06.2006r. Partnerzy projektu Microsoft Polska PCSS Politechnika Poznańska

Wybrane zadania MIC w 2009 Nowe obszary badań (od I 2009) Interoperacyjność systemów i technologii Wirtualizacja systemów Wysokowydajne przetwarzanie komputerowe (HPC) m.in. udział w programie HPC TAP Program szkoleniowy Interoperacyjność systemów i technologii Szkolenia w Warszawie (IX-X X 2009) Szkolenia w zakresie bezpieczeństwa IT Doroczna Konferencja MIC 16 kwietnia 2009, 3. edycja 8

Bezpieczeństwow w MIC Ochrona infrastruktury MIC Audyty bezpieczeństwa, konsultacje Program szkoleń bezpieczeństwa Więcej informacji w programie szkoleń http://mic.psnc.pl/szkolenia Badania poziomu bezpieczeństwa technologii Microsoft (2007-08) Audyty bezpieczeństwa dla administracji i MŚP (2007) Konferencje, MS Speakers Biuro 9

Wprowadzeniedo do programu szkoleniowegomic 10

Szkolenia MIC I półrocze 2009 Interoperacyjność 27.05: Zastosowanie technologii Silverlight... 10.06: Windows Server 2008 jako uniwersalna platforma zapewniająca usługi wirtualizacji i klastrowania 23.06: Bezpieczeństwo heterogenicznej platformy hostingowej Bezpieczeństwo 18.06: Omijanie firewalli w systemach Windows warsztaty BYOL dla specjalistów bezpieczeństwa 11

Szkolenia MIC II półrocze 2009 Interoperacyjność Windows HPC Server Exchange Labs jako uniwersalna platforma e-mail Bezpieczeństwo Bezpieczeństwo aplikacji ASP.NET MVC Bezpieczeństwo kontrolera domeny Szkolenia w Warszawie: IX/X 2009 (powtórzenie cyklu Interoperacyjność ) MTS 2009? (29-30.09.2009) Zachęcamy do zgłaszania w ankietach propozycji dalszych tematów! 12

Bezpieczeństwo heterogenicznej platformy hostingowej 13

Cel prezentacji Przedstawienie możliwości budowy mieszanegośrodowiska hostingowegow w kontekście bezpieczeństwa IT Szkolenie jest przeznaczone głównie dla administratorów serwerów WWW oraz twórców aplikacji webowych Częściowo skorzystają specjaliści bezpieczeństwa IT

Czego nie znajdziemy w prezentacji? Nie będzie wojny technologii Przegląd nie będzie kompletny, to raczej wskazanie na kierunek poszukiwań 15

Czy i dlaczego środowisko heterogeniczne? Kryteria wyboru Kwestie finansowe (MŚP, użytkownicy indywidualni) Doświadczenie Szybkość nauki Możliwości języka Dostępność specjalistów na rynku Docelowe wymagania stawiane przed aplikacją Preferencje i przekonania osobiste 16

PHP dobry pomysł Właściciel nowo działającego na rynku mikroprzedsiębiorstwa potrzebuje szybko uruchomić formularz zamówień oferowanego produktu Firma posiada tylko licencję na serwer Prezes firmy sam zaprojektował aplikację, a do jej wykonania zamierza zatrudnić studenta/praktykanta W celu zmniejszenia kosztów firma skorzysta z otwartego środowiska bazodanowego Docelowa aplikacja jest prosta i niewielka (Pamiętajmy o bezpieczeństwie!) 17

PHP zły pomysł Duża korporacja przygotowuje zestaw aplikacji intranetowychdo pracy grupowej oraz monitorowania działania sieci Firma posiada szereg licencji na różne rodzaje oprogramowania firmy Microsoft Koszt zatrudnienia nowych lub wyszkolenia własnych specjalistów ASP.NET jest pomijalny w stosunku do oczekiwanych zysków i możliwości firmy Aplikacje będą intensywnie korzystać z już zainstalowanego oprogramowania MS SQL Server 18

Bezpieczeństwowieloelementowegowieloelementowego środowiskahostingowego Bezpieczeństwo komponentów System operacyjny serwera Serwer WWW Serwer baz danych Interpreter języka stron Inne (np. aplikacje CMS, usługa FTP) Wzajemna współpraca heterogenicznych składników środowiska Możliwe problemy z bezpieczeństwem interfejsów 19

Najczęstsze komponenty środowiska interoperacyjnegohostingu Windows vs. Linux/Unix IIS vs. Apache MS SQL/Oracle vs. MySQL/Postgres ASP.NET vs. PHP Przedmiotem dzisiejszego szkolenia będzie środowisko hostingoweoparte oparte na MS Windows + IIS 7.0 oraz PHP 20

Bezpieczeństwosystemu systemu operacyjnego Przypomnienie Legalny i aktualny system Minimalizacja liczby oraz separacjauruchomionych programów i usług Dodatkowa ochrona na poziomie hosta, np.: Host-based IDS Firewall lokalny Antywirus, Antirootkit Moduł badania integralności systemu plików Backup danych Ścisła polityka kontroli dostępu 21

Bezpieczeństwo serwera WWW Poprzednie prace MIC: badania poziomu bezpieczeństwa serwera IIS v. 7.0 Prezentacje MIC m.in. na konferencjach SecureCON, Confidence Szkolenie MIC 30.10.2007 http://mic.psnc.pl/pl/ev_301007.html Slajdy i webcastydostępne na WWW MIC http://mic.psnc.pl/pl/download/slides.html http://mic.psnc.pl/pl/download/webcasts.html 22

BezpiecznyserwerIIS (1) Wybór odpowiedniego serwera Unikanie kontrolera domeny Maksymalnie okrojona instalacja Minimum privileges principle Decyzja o wyborze niezbędnych usług (www, w, smtp, nntp, ftp, ) Dobrze dobrany katalog domowy serwisów (wydzielona partycja nie systemowa) Usunięcie domyślnie zainstalowanych katalogów (icon, iishelp) 23

Bezpieczny serwer IIS (2) Definicja odpowiednich uprawnieńdla katalogu domowego serwera(read, Log) Ustawienie uprawnień do katalogu ze skryptami (Execute) Wyłączenie niepotrzebnych filtrów ISAPI (np. Digest, Frontpage, Compression) i skasowanie plików DLL Wyłączenie mapowania dla typów plików:.asa,.asp,.bat,.cdx,.cer,.htr,.htw htw,.ida,.idc idc,.idq,,.inc, printer,.shtml shtml,.shtm shtm,.stm stmi innych 24

Bezpieczny serwer IIS (3) Logowanie żądań HTTP Uprawnienia odczytu pliku logu jedynie dla administratora systemu Uprawnienia zapisu do HKLM/Software tylko dla administratora systemu Weryfikacja uprawnień grupy Everyonew stosunku do katalogów: Web root %systemroot% %systemroot%\system32system32 %systemroot%\system32\temptemp 25

IIS instalacja testowa na MS Vista Panel Sterowania -> Programy i Funkcje -> Włącz lub wyłącz funkcje systemu Windows 26

IIS centrum zarządzania (1) Uruchamianie menedżera IIS 7.0 Uruchamianie jako Administrator! Sposób 1: Konsola mmc -> Dodaj/Usuń przystawkę -> Menedżer internetowych usług informacyjnych -> Dodaj Sposób 2 (linia poleceń) inetmgr.exe 27

IIS centrum zarządzania (2) 28

Dodajemy witrynę Nazwa serwera -> Witryny -> Dodaj witrynę sieci Web 29

Dodatkowe mechanizmy zabezpieczeń IIS Lockdown Wizard Ostatnia wersja: 2.1, styczeń 2007 Obsługuje IIS 4.0, 5.0, 5.1 W dalszych wersjach konfiguracja domyślna została poprawiona i narzędzie określono jako zbędne Warto uruchomić przy migracji IIS 5.0/1 -> IIS 6.0 Microsoft BaselineSecurity Analyser Zawiera sekcję Checkfor IIS administrative vulnerabilities UrlScan Omówimy go za chwilę dokładniej 30

MBSA http://www.microsoft.com/poland/ technet/security/tools/mbsa.mspx 31

URLScan informacje ogólne URLScanjest filtrem ISAPI monitorującym i blokującym żądania HTTP Ostatnia wersja: 3.1 Działa dla IIS 5.1, 6.0, 7.0 Systemy: Windows Vista, 2008 Server http://www.iis.net/extensions/urlscan Zaawansowane możliwości filtrowania oraz logowania informacji Instalacja z pakietu MSI 32

URLScanczy czy funkcjonalność IIS? Spora część funkcjonalności narzędzia może być osiągnięta w samym IIS Czy URLScan jest zatem potrzebny? URLScan jest bardziej elastyczny Działa na wcześniejszym etapie przetwarzania żądania, szybciej (wydajniej) odrzucając groźne pakiety Pozwala zdywersyfikować ryzyko popełnienia błędu Jego zastosowanie lepiej realizuje strategię Defense in depth 33

URLScan-instalacja Pakiet instalacyjny urlscan_v31_x86.msi Instalacja z konta administratora Może być konieczne korzystanie z linii komend msiexec/a urlscan_v31_x86.msi msiexec/a urlscan_v31_x86.msi /l*v urlscan_install.log msiexec/a urlscan_v31_x86.msi TARGETDIR=c:\windows Domyślne lokalizacje: Binaria: %SystemRoot%\System32\inetsrv\urlscan\urlscan.dllurlscan.dll Plik konfiguracyjny: %SystemRoot%\System32\inetsrv\urlscan\urlscan.iniurlscan.ini Pliki logu: %SystemRoot%\System32\inetsrv\urlscan\logslogs 34

URLScan konfiguracja narzędzia Przykładowy plik konfiguracyjny: http://www.iis.net/downloads/files/urlscan/urlscan- ini_v3.zipdownloads/files/urlscan/urlscan-ini_v31.zipini_v31.zip Zawiera dość dokładne wyjaśnienie używanych opcji Wybrane opcje UseAllowVerbs Biała lub czarna lista dozwolnonych/zabronionych metod HTTP Wartość domyślna = 1 (dopuszczanie żądań wymienionych w sekcji [AllowVerbs], 0 powoduje odrzucanie żądań z sekcji [Deny Verbs]) UseAllowExtensions Działa na identycznej zasadzie, jak powyżej, ale odnosi się do rozszerzeń żądanych plików 35

URLScan konfiguracja narzędzia (2) Wybrane opcje c.d. NormalizeUrlBeforeScan Wartość domyślna = 1 powoduje, że przekazany adres URL jest poddawany odkodowaniu Wartość 0 powoduje, że łatwo ominąć testy rozszerzeń lub URL! VerifyNormalization Wartość domyślna = 1 przekazany adres URL jest odkodowany po raz drugi, jeśli wystąpią różnice, żądanie jest odrzucane Wykrywa podwójne kodowanie złośliwych znaków, np. &-> %26-> %2526 Limity nakładane na żądanie Sekcja [RequestLimits] Długość żądania, długość URL, długość querystring,, 36

Konkurs 1 Nagroda: MS Office Standard Możliwość dowolnego (także komercyjnego) wykorzystania Pytanie Jak nazywa się jedna z opcji URLScan, która bezpośrednio wpływa na możliwość zabezpieczenia się przed atakiem typu Directory Traversal? Podpowiedź przykłady ataku Directory Traversal http://vulnerable.com/main.php?file=../../../../etc/passwd http://insecure.org/images/../../../../../../../boot.ini 37

Konkurs 1 -odpowiedź Odpowiedź Nazwa opcji to AllowDotInPath Możliwe wartości: 0/1 0 = żądania plików o ścieżce zawierającej wielokrotne wystąpienie znaku.. zostaną odrzucone 1 = test nie jest przeprowadzany 38

URLScan tworzenie własnych reguł Zadanie: odrzucić żądania, w których nazwa pliku bądź parametr zapytania zawierają dwa myślniki RuleList=testowatestowa [testowa] AppliesTo=.html DenyDataSection=denied_strings ScanUrl=1 ScanQueryString=1 [denied_strings] -- -- 39

URLScan konfiguracja IIS Po instalacji URLScannależy należy dać znać IIS-owi o jego obecności Dodajemy filtr ISAPI dla serwera lub witryny Menedżer IIS -> Widok funkcji -> IIS -> Filtry ISAPI -> Akcje -> Dodaj Restartujemy serwer IIS 40

Restart serwera IIS IIS Manager -> Akcje -> Zarządzaj serwerem -> Uruchom ponownie Linia komend net stop w3svc net start w3svc 41

Działanie URLScanna na przykładzie http://127.0.0.1:8080/test-1.html1.html i test--2.html 42

Dodatkowa konfiguracja witryny (1) Co jeszcze warto zrobić na początek? Nałożenie limitów Własne strony z komunikatami o błędach Zapewnienie, że nie są przeglądane katalogi Dostarczenie domyślnych podstron serwisu Dostrojenie funkcjonalności logowania Wygodny w użyciu Menedżer IIS Modyfikacji możemy dokonać globalnie dla serwera lub dla poszczególnych witryn Po dokonaniu zmian restartujemy serwer 43

Dodatkowa konfiguracja witryny (2) 44

Słowoo o hostingu współdzielonym Maksymalne ograniczenia przywilejów Minimalizacja liczby usług Maksymalne ograniczenie możliwości ładowania plików do katalogu WWW Usługi FTP i WWW w tym samym katalogu to prosta droga do problemów! Separacja katalogów użytkowników od danych systemowych i wzajemnie od siebie 45

Przerwa 46

JakpostawićPHP naiis? Interpreter php-cgi cgi.exe Wyjątkowo prosty Bardzo niewydajny Wtyczka ISAPI (php5isapi.dll) Szybsza niż interpreter Problemy z wielowątkowością Mechanizm FastCGI Nieco szybszy niż interpreter Znacznie stabilniejszy niż wtyczka ISAPI Implementacje Zend i Microsoft 47

Instalacja PHP jako ISAPI (1) Pobranie archiwum PHP (nie instalatora) Opcjonalnie pobranie rozszerzeń PECL http://www.php.net/get/php-5.2.10- Win32.zip/from/a/mirror Rozpakowanie np. do D:\PHP (w nazwie katalogu nie powinno być spacji!) Należy pobrać PECL dla PHP 5.2.6: http://www.php.net/get/pecl-5.2.6- Win32.zip/from/a/mirror Załadowanie zawartości archiwum do podkatalogu D:\PHP\ext Skopiowanie php5activescript.dll i php5servlet.dll z podkatalogu extdo głównego katalogu instalacji 48

Instalacja PHP jako ISAPI (2) Plik konfiguracyjny php.ini D:\PHP\php.ini-recommended -> D:\PHP PHP\php.ini Plik tekstowy możliwy do edycji np. w Notatniku Istotna zmiana (instalujemy jako ISAPI): ;cgi.force_redirect= 1 -> cgi.force_redirect = 0 Uaktywnienie zarządzania sesjami: session.save_path = "d:\php\sessions" Lokalizacja może znajdować się na maszynie sieciowej, ale musi być podmapowana jako napęd Uaktywnienie pożądanych rozszerzeń: ;extension=php_mysql.dll-> extension=php_mysql.dll

Instalacja PHP jako ISAPI (3) Dodanie ścieżki instalacyjnej PHP do zmiennej systemowej PATH Panel sterowania -> System -> Zaawansowane ustawienia Systemu -> Zmienne środowiskowe Warto dodać ścieżkę na początek zmiennej Niezbędny restart serwera IIS 50

Instalacja PHP jako ISAPI (4) Konfiguracjaścieżki php.ini Uniknięcie problemów katalog systemowy czy instalacyjny? Uruchomienie regedit.exe HKLM -> Software -> [Nowy klucz: PHP] -> PHP -> [Nowa wartość ciągu: IniFilePath = D:\PHP] 51

Instalacja PHP jako ISAPI (5) Końcowa konfiguracja IIS Menedżer IIS -> Widok funkcji -> Mapowania obsługi -> Dodaj mapę skryptu Warto skonfigurować ograniczenie metod (żądań) 52

Instalacja PHP jako ISAPI (6) Końcowa konfiguracja IIS c.d. Dodanie filtru ISAPI Menedżer IIS -> Widok funkcji -> Filtry ISAPI -> Akcje -> Dodaj Restart serwera 53

Prosty test działania Testowy skrypt PHP: info.php <?php phpinfo();?> 54

Konkurs 2 Nagroda: Create the next generation Web - Developer Resource Kit Pytanie Dlaczego skrypt z poprzedniego slajdu, w nieco zmienionej postaci: <? phpinfo();?> nie zadziałał? Podpowiedź co oznacza parametr short_open_tag? 55

Konkurs 2 -odpowiedź Odpowiedź W domyślnym pliku konfiguracyjnym znajduje się klauzula short_open_tag = Off która blokuje użycie znaczników <??> z przyczyn kompatybilnościowych W celu umożliwienia użycia skróconych znaczników należy: Zmienić odpowiednią linię pliku php.ini na: short_open_tag = On Zrestartować serwer WWW 56

Wybrane aspekty konfiguracji PHP (1) Polityka ujawniania informacji error_reporting = E_ALL & ~E_NOTICE expose_php = off display_errors = off log_errors = on error_log = c:\mylogs 57

Wybrane aspekty konfiguracji PHP (2) Limity memory_limit = 8M max_input_time = 60 max_execution_time= 120 Ograniczenie inwencji użytkownika file_uploads = off register_globals = off magic_quotes_gpc = on (?) allow_url_fopen = off disable_functions = passthru, exec,... 58

Lista niebezpiecznych funkcji (dla IIS) chmod exec get_cfg_var getenv ini_get ini_get_all ini_set mail passthru pcntl_exec phpuname popen proc_open send_mail shell_exec syslog system Dodatkowe funkcje dla serwera Apache, platform uniksowych, POSIX Jeśli powyższe funkcje nie są niezbędne, powinny być dopisane do php.iniw klauzuli disable_functions 59

Modyfikacja pliku php.ini Edytor tekstowy Narzędzie graficzne pod Windows AnalogX PHPConfig http://www.analogx.com/contents/download/ Network/phpconf/Freeware.htm Freeware Wersja 1.01 (2009) Instalacja przebiega bezproblemowo Plus: wygodny interfejs i grupowanie opcji o podobnym znaczeniu Minus: usuwanie komentarzy 60

AnalogXPHP Config 61

Czy PHP jest bezpieczny? To say PHP has a security problem suggests that it's impossible to develop a secure PHP application, but to say PHP doesn't have a security problem suggests that everything is perfect neither is true(chris Shifflet) PHP is neither inherintly securenor insecure. Itis theresponsibilityof of the programmerof of a web application, the databaseadministrator administrator and the system administrator to ensurethatsecurity isnot compromised at severallevels(james D. Keeline) 62

Zagrożenia związane z PHP Błędy w konfiguracji: Ujawnianie informacji Zła polityka logowania Zbyt szerokie uprawnienia użytkownika Błędy w tworzonych aplikacjach: Błędyprojektu Błędykodu Błędyśrodowiska PHP Współpracującekomponenty 63

Testy bezpieczeństwa konfiguracji Narzędzie PHPSecInfo Najnowsza wersja: 0.2.1, kwiecień 2007 http://phpsec.org/projects/phpsecinfo Projekt PHP Security Consortium Narzędzie napisanew PHP ;) Prosta analiza konfiguracji środowiska PHP Wgrywamynp. pod http://127.0.0.1/phpsecinfo Przyjaznyinterfejs Obszerneobjaśnienia Niewszystkietesty testy działają w środowisku Windows 64

65

66

Testy bezpieczeństwa kodu Bezpieczeństwo kodu kwestia programisty, administratora, czy specjalisty ds. bezpieczeństwa? Programista powinien znać i stosować dobre praktyki bezpiecznego programowania Przeszkolony administrator może (powinien?) stosować proste metody testowania kodu, aby wiedzieć, co dzieje się na jego serwerze Specjalista ds. bezpieczeństwa będzie optymalnie wykorzystany, gdy skoncentruje się na trudniejszych do wykrycia podatnościach Dlatego chcemy zachęcić do przetestowania prostego skanera kodu PHP działającego w środowisku Windows 67

Pixy podstawowe informacje Skaner kodu źródłowego PHP 4.x oraz nieobiektowy PHP 5.x Ostatnia wersja: 3.0.3, lipiec 2007 Autorzy: Secure System Labs (Politechnika Wiedeńska) http://pixybox.seclab.tuwien.ac.at/pixy Narzędzie uruchamiane z linii komend WymagaSun JRE oraz narzędziadotty dotty z pakietu Graphvizdo analizy wyników Graphviz: http://www.graphviz.org Całość działa w środowisku Windows WykrywapodatnościXSS oraz SQL Injection 68 Obrazuje przepływ potencjalnie złośliwych danych

Wykorzystanie Pixy Należy uruchomić plik run-all.bat all.batz katalogu instalacyjnego Pixydziała na pojedynczych plikach: skanowanie katalogów wymaga oskryptowania run-all.bat all.bat[opcje] [plik_php plik_php] Program wypisuje część wyników na standardowe wyjście Po zakończeniu parsowaniaplików plików w podkatalogu graphs znajdują się dodatkowe rezultaty calledby_[ _[filename].txt includes_[ _[filename].txt xss_[ _[filename]_[n]_[dep min].dot sql_[ _[filename]_[n]_[dep min].dot 69

Wyniki Pixy standardowe wyjście Oprócz podatności narzędzie potrafi znaleźć np. partie nieosiągalnego kodu 70

Wyniki Pixy katalog graphs Pliki należy zachować samodzielnie Pixy nadpisze je przy następnym uruchomieniu Pliki.dotnależy analizować narzędziem dotty 71

Analiza grafów -dotty Tutorial: http://pixybox.seclab.tuwien.ac.at/pixy/basics.php 72

Pixy-kilka podpowiedzi Wykryte podatności dpowiadajągrafom zawierającym sufiks _min W przypadku tworzenia skryptów można zachować jedynie wspomniane grafy Grafy przechowywane są w formie tekstowej Można łatwo napisać własne narzędzie do kompleksowej analizy wyników 73

Inne narzędzia pod Windows RATS http://www.fortify.com/security-resources/rats.jspresources/rats.jsp Służy do badania kodu C i PHP Bada głównie użycie niebezpiecznych funkcji YASCA http://www.yasca.org Kombajn do badania m.in. kodu PHP (wykorzystuje m.in. Pixy) PHPLint http://www.icosaedro.it/phplint Walidator i generator dokumentacji do PHP 4.x/5.x 74

Pamiętajmy, że Narzędzia testujące kod wykrywają tylko niektóre podatności Skanery kodu zgłaszają dużo false positives Wyniki analizy kodu muszą być przeanalizowane przez specjalistę do spraw bezpieczeństwa Wyniki działania skanerów powinny być dla administratora jedynie uzupełnieniem, przesłanką do zawiadomienia dedykowanego audytora kodu 75

Jak dowiedzieć się o błędach środowiska Portale i listy publikujące informacje o podatnościach http://secunia.com http://cve.mitre.org Bugtraq Full Disclosure Ostatni błąd w PHP: ogłoszony 19.06.09! http://secunia.com/advisories/35441 Błędy PHP specyficzne dla środowiska Windows 14.04.09: PHP for Windows OpenSSLMultiple Vulnerabilities http://secunia.com/advisories/34666 76

Zbliżamy się do końca 77

Gdyby ta prezentacja była dłuższa Kolejne tematy do poruszenia: Bezpieczeństwo serwera baz danych Porównanie poziomu bezpieczeństwa MS SQL Serveraoraz MySQL Bezpieczna konfiguracja środowisk bazodanowych Hardening serwerowego systemu operacyjnego Bezpieczeństwo aplikacji CMS w systemach Windows Porównanie dostępnych rozwiązań Narzędzia skanujące Wykorzystanie kryptografii w zabezpieczaniu środowiska hostingowego Ochrona przed atakami DoS/DDoSDDoS 78

Podsumowanie Są sytuacje, w których warto pomieszać pomieszać technologie, ale nie zawszeinie wszystkie Nie ma problemu z hostowaniem aplikacjiphp pod Windows za pośrednictwem serweraiis Trzeba zwrócić uwagę na kwestiebezpieczeństwaw kontekście wszystkich wykorzystanychrozwiązań, a także interfejsów międzynimi Dla systemu Windows istnieje szereg narzędzi, które wspomagają bezpieczną konfigurację i wykorzystanie elementów środowiska hostingowego Dziś poruszyliśmy jedynie wierzchołek góry lodowej 79

Więcejinformacji(wybraneźródła) Instalacja i uruchomienie aplikacjiphp na IIS: http://shabbir.hassanally.net/blog/2007/10/11 http://learn.iis.net/page.aspx/24/running-php-applications- on-iis http://www.webcheatsheet.com/php/install_and_configur e.php http://www.techit.pl/demonstracje/view.aspx?3582.instala cja+php+w+modelu+isapi+na+serwerze+iis+7(screencastscreencast dla konfiguracji PHP na IIS 7.0 dla Windows Server 2008) PHP Security Consortium http://phpsec.org http://phpsec.org/projects/guide 80

Informacje kontaktowe Autorprezentacji gerard.frankowski@man.poznan.pl Centrum Innowacji Microsoft: http://mic.psnc.pl mic@man.poznan.pl.pl PCSS http://www.pcss.pl Zespół Bezpieczeństwa PCSS http://security.psnc.pl security@man.poznan.pl 81

Pytania i dyskusja Dziękuję za uwagę! 82