Internet w systemie Windows Server 2008 - czy jest bezpieczny?

Naprawdę nic nie wiem o zabezpieczeniu lub skonfigurowaniu "na żywo" serwera internetowego i to jest dokładnie to, co zostało mi przypisane do zrobienia przez kierownictwo. Oprócz zainstalowanego systemu operacyjnego (i windows update), nic nie zrobiłem. Czytałem kilka poradników od Microsoftu i w Internecie, ale żaden z nich nie wydaje się być bardzo wyczerpujący/ aktualny. Google mnie zawiodło.

Będziemy wdrażać MVC ASP.NET miejscu.

Jaki jest Twój osobisty czek, gdy jesteś przygotowujesz się do wdrożenia aplikacji na nowym serwerze windows?

Author: Jeff Atwood, 2009-03-17

6 answers

To wszystko co robimy:

  • Upewnij się, że Zapora systemu Windows jest włączona . Ma zasadę "domyślnie wyłączoną", więc konfiguracja reguły out of box jest dość bezpieczna. Ale nigdy nie zaszkodzi wyłączyć dodatkowe zasady, jeśli wiesz, że nigdy nie będziesz ich potrzebować. Wyłączamy prawie wszystko oprócz HTTP na publicznym interfejsie internetowym, ale lubimy Ping (kto nie lubi Ping?) więc włączamy go ręcznie, jak tak:

    netsh firewall set icmpsetting 8

  • Wyłącz Konto administratora . Po skonfigurowaniu i uruchomieniu nadaj własne prawa administratora konta nazwanego. Wyłączenie domyślnego konta administratora pomaga zmniejszyć ryzyko (choć niewielkie) włamania do niego. (Inne wspólne domyślne konto, Gość, jest już domyślnie wyłączone.)

  • Unikaj uruchamiania usług w ramach kont z uprawnieniami administratora. Większość renomowanych programów jest w tej chwili całkiem dobra, ale nigdy nie zaszkodzi sprawdzić. Na przykład w naszym oryginalnym konfiguracja serwera serwis Cruise Control miał uprawnienia administratora. Kiedy przebudowywaliśmy nowe serwery, użyliśmy zwykłego konta. Jest to trochę więcej pracy (trzeba przyznać tylko prawa niezbędne do wykonania pracy, zamiast wszystkiego na raz), ale[22]}dużo {23]} bardziej bezpieczne.

 14
Author: Jeff Atwood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-17 01:19:56

Musiałem zamknąć jeden kilka lat temu...

Jako sysadmin, zaangażuj się z deweloperami na początku projektu.. testowanie, wdrażanie oraz obsługa i konserwacja aplikacji internetowych są częścią SDLC.

Te wytyczne mają zastosowanie ogólnie do każdego hosta DMZ, niezależnie od systemu operacyjnego linux lub windows.

Jest kilka książek dedykowanych IIS7 adminowi i utwardzaniu, ale sprowadza się to do

  1. zdecyduj się na architekturę i konfigurację zapory i przejrzyj ją pod kątem stosowności. pamiętaj, aby chronić swój serwer przed wewnętrznym skanowaniem z zainfekowanych hostów. w zależności od poziomu ryzyka rozważ przejrzystą bramę warstwy aplikacji, aby oczyścić ruch i ułatwić monitorowanie serwera www.

1, traktujesz system jako gospodarza Bastionu. blokowanie systemu operacyjnego, zmniejszanie powierzchni ataku (Usługi, porty zainstalowane aplikacje tj. brak interaktywnych użytkowników lub mieszanych obciążeń, konfigurowanie zapór RPC, aby reagować tylko na określone DMZ zarządzania lub wewnętrzne gospodarze). rozważ Weryfikatory dostępu ssh, OOB i / lub zarządzania siecią LAN oraz identyfikatorów hostów, takich jak aide tripwire lub osiris. jeśli serwer WWW jest wrażliwy, rozważ użycie argus do monitorowania i rejestrowania wzorców ruchu oprócz dzienników IIS / FW.

  1. Bazowej konfiguracji systemu, a następnie regularnie audyt w stosunku do linii podstawowej, minimalizując lub kontrolując zmiany, aby utrzymać to dokładne. zautomatyzuj to. powershell to twój przyjaciel.

  2. Amerykańska NIST utrzymuje krajową listę kontrolną repozytorium programów. NIST, NSA i CIS mają listy kontrolne systemu operacyjnego i serwera www warte zbadania, mimo że są dla wcześniejszych wersji. spójrz na listy kontrolne apache, jak również sugestie konfiguracji. przejrzyj książki Addison wesley i OReilly Apache security, aby zrozumieć problemy.

Http://checklists.nist.gov/ncp.cfm?prod_category://checklists.nist.gov/ncp.cfm?prod_category http://www.nsa.gov/ia/guidance/security_configuration_guides/web_server_and_browser_guides.shtml www.cisecurity.org oferuj listy kontrolne i narzędzia benchmarkingowe dla subskrybentów. celuj w minimum 7 lub 8.

    Ucz się na błędach innych (i dziel się swoimi, jeśli je popełnisz): Inwentaryzować swoje publiczne produkty aplikacyjne i monitorować je w NIST ' s NVD (vulerability database..) (agregują CERT i owal, jak również) subskrybuj i czytaj microsoft.publiczne.iinetserver.iis.alerty bezpieczeństwa i microsoft security. (NIST NVD już ogląda CERT) Michael Howard jest guru bezpieczeństwa kodu MS, przeczytaj jego blog (i upewnij się, że Twój dev też go przeczytał)jest pod adresem: {32]} http://blogs.msdn.com/michael_howard/default.aspx

Http://blogs.iis.net / jest blogiem zespołów IIS. na marginesie, jeśli jesteś facetem z Windowsem, zawsze przeczytaj blog zespołu dla grup produktów MS, z którymi pracujesz.

David Litchfield napisał kilka książek na temat DB i utwardzania aplikacji internetowych. trzeba go słuchać. przeczytaj jego bloga.

Jeśli twój dev potrzebuje łagodnego wprowadzenia (lub przypomnienia o) bezpieczeństwie w sieci i administratorach! Polecam "Innocent code" Sverre Huseby.. nie cieszyłem się taką książką od czasu jajka cookoo. Określa on użyteczne zasady i zasady oraz wyjaśnia sprawy od podstaw. Its a great strong accessible read

  1. Czy znowu się poddałeś i przeprowadziłeś audyt? (dokonujesz zmiany tworzysz nową linię bazową).

  2. Pamiętaj, IIS to usługa meta (FTP.SMTP i inne usługi prowadzone pod nim). ułatw sobie życie i uruchom usługę na raz na jednym pudełku. Utwórz kopię zapasową swojej metabazy IIS. Jeśli zainstalujesz serwery aplikacji, takie jak tomcat lub jboss, upewnij się, że są one zabezpieczone i zablokowane.. bezpieczne Konsole zarządzania siecią do tych aplikacji, w tym IIS. Jeśli musisz też mieć DB na pudełku. ten post można wykorzystać w podobny sposób

  3. Logging.an niepotwierdzony publiczny serwer (czy to http, imap smtp) to profesjonalna porażka. Sprawdź swoje dzienniki pompuj je do RDMS i Szukaj Szybkie powolne i brzydkie. Prawie zawsze twoje zagrożenia będą zautomatyzowane i pozbawione głowy. zatrzymaj je na poziomie zapory, gdzie możesz.

  4. Za zgodą, Skanuj i odcisk palca swoje pudełko za pomocą P0f i nikto. Test the aplikacja z selenem. upewnij się, że błędy serwera www są obsługiwane dyskretnie i w kontrolowany sposób przez IIS i dowolne aplikacje. , dokumenty błędów konfiguracji dla kodów odpowiedzi 3xx, 4xx i 5xx.

  5. Teraz zrobiłeś to wszystko, zakryłeś swój tyłek i możesz spojrzeć na luki w aplikacjach/witrynach. bądź delikatny dla programistów, większość martwi się o to dopiero po wyłomie i uszkodzeniu reputacji/zaufania. koń skręcił i już dawno go nie ma. Proszę się tym zająć. its taniej. Porozmawiaj z dev ' s o drzewach zagrożenia.

  6. Zastanów się nad odpowiedzią na ataki Dos i DDoS. na plus rozważ dobry ruch / slashdotting i problemy z przepustowością. Liase z Dev ' s i marketingu do obsługi problemów z pojemnością i serwerem / przepustowością w odpowiedzi na kampanie/sprzedaż nowych usług. Zapytaj ich, jaki rodzaj reakcji kampanii są expec (lub przypomnienia. Planuj z wyprzedzeniem z wystarczającym czasem realizacji, aby umożliwić rezerwację. zaprzyjaźnij się z chłopakami z sieci, aby omów zapewnienie przepustowości w krótkim czasie. Problemem jest również niedostępność z powodu nieprawidłowej konfiguracji słaba wydajność lub brak obsługi administracyjnej.. monitoruj system pod kątem wydajności, żądań dysku, pamięci RAM http i db. poznaj metryki normalnej i oczekiwanej wydajności.. (Proszę Boże, czy jest apachetop dla IIS? ;)) plan na odpowiednią pojemność.

  7. Podczas tego wszystkiego możecie zadać sobie pytanie: "czy jestem zbyt paranoiczny?". Złe pytanie.. "czy jestem wystarczająco paranoiczny?"Pamiętaj i zaakceptuj to zawsze będziesz za krzywą bezpieczeństwa i że ta lista może wydawać się wyczerpująca, to tylko początek. wszystko to jest rozważne i sumienne i w żaden sposób nie powinno być uważane za nadmierne.

Webservers getting hacked są trochę jak pożary (lub buszu tutaj) można przygotować i zajmie się prawie wszystkim, z wyjątkiem wydarzenia blue moon. zaplanuj, jak będziesz monitorować i reagować na defacement itp.

Unikaj bycia ochroniarzem lub ochroniarzem dalek / Kurczak Mały. pracuj cicho i pracuj Z swoimi interesariuszami i kolegami z projektu. bezpieczeństwo jest procesem, a nie wydarzeniem, a utrzymywanie ich w pętli i delikatne edukowanie ludzi jest najlepszym sposobem na uzyskanie przyrostowych wypłat w kontekście poprawy bezpieczeństwa i akceptacji tego, co musisz zrobić. Unikaj protekcjonalności, ale pamiętaj, że jeśli musisz narysować linię na piasku, wybierz swoje bitwy, możesz to zrobić tylko kilka razy.

    Zysk!
 8
Author: Bob Blanchett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-29 08:13:18

Twoim największym problemem będzie prawdopodobnie bezpieczeństwo aplikacji. Nie wierz deweloperowi, gdy powie Ci, że tożsamość puli aplikacji musi być członkiem grupy lokalnego administratora. Jest to subtelny zwrot w powyższej poradzie "nie uruchamiaj usług jako administrator".

Dwie inne godne uwagi pozycje: 1) Upewnij się, że masz sposób na kopię zapasową tego systemu (i okresowo testuj wspomniane kopie zapasowe). 2) Upewnij się, że masz sposób na łatanie tego systemu i najlepiej przetestuj te łatki przed zwinięciem ich w produkcja. Staraj się nie polegać na własnej dobrej pamięci. Wolałbym, żebyś ustawił pudełko, aby używało windowsupdate, niż je wyłączył.

Powodzenia. Wskazówka zapory jest nieoceniona; pozostaw ją włączoną i Zezwalaj tylko na wejścia tcp/80 i tcp / 3389.

 4
Author: JohnW,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-17 03:13:40

Używaj odpowiednio ról, im mniej uprawnień używasz dla swoich kont usług, tym lepiej, staraj się nie uruchamiać wszystkich jako administrator,

 2
Author: Oscar Cabrero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-17 01:04:37

Jeśli próbujesz zabezpieczyć aplikację internetową, powinieneś na bieżąco informować o OWASP . Tu jest blurb;

Bezpieczeństwo Otwartych Aplikacji Internetowych Projekt (OWASP) to 501c3 non-profit worldwide charitable organizacja skupiona na doskonaleniu bezpieczeństwo aplikacji. Nasze misją jest wykonanie aplikacji bezpieczeństwo widoczne, tak aby ludzie i organizacje mogą informować decyzje o prawdziwym zastosowaniu zagrożenia bezpieczeństwa. Każdy jest wolny uczestniczyć w OWASP i wszystkich naszych materiały dostępne są w bezpłatnej i open Software license. Będziesz wszystko o OWASP znajdziesz tutaj na nasza wiki i aktualne informacje na temat nasz blog OWASP. Zapraszam do wprowadzać zmiany i ulepszać naszą stronę. Wokół są setki ludzi Globus, który przegląda zmiany w miejscu, aby pomóc w zapewnieniu jakości. Jeśli jesteś nowy, może chcesz sprawdzić nasza strona Wprowadzenie. Pytania lub komentarze powinny być wysłane do jednego z naszych wiele list dyskusyjnych. Jeśli lubisz co widzisz tutaj i chcesz wesprzeć naszą wysiłki, proszę rozważyć staje się członek.

Dla Twojego wdrożenia (konfiguracja serwera, role itp...), ich było wiele dobrych sugestii, zwłaszcza od Boba i Jeffa. Od pewnego czasu atakujący używają backdoorów i trojanów, które są całkowicie oparte na pamięci. Niedawno opracowaliśmy nowy rodzaj produktu zabezpieczającego, który weryfikuje pamięć serwera (za pomocą podobne techniki do tego, jak Tripwire(zobacz odpowiedź Boba) sprawdza pliki).

Nazywa się BlockWatch , zaprojektowany głównie do użytku we wdrożeniach typu cloud / hypervisor/VM, ale może również walidować pamięć fizyczną, jeśli można je wyodrębnić.

Na przykład, możesz użyć BlockWatch, aby zweryfikować swoje jądro i przetwarzać przestrzeń adresową sekcje kodu są tym, czego oczekujesz (legalne pliki zainstalowane na dysku).

 1
Author: RandomNickName42,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-21 06:44:44

Zablokuj porty przychodzące 135, 137, 138, 139, 445 za pomocą Firewalla. Ten zbudowany wystarczy. Windows server 2008 jest pierwszym, dla którego korzystanie z RDP bezpośrednio jest tak bezpieczne, jak ssh.

 0
Author: Joshua,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-17 01:38:59