Udostępnij za pośrednictwem


Ramka zabezpieczeń: inspekcja i rejestrowanie | Czynniki

Produkt/usługa Artykuł
Dynamics CRM
Aplikacja internetowa
Database (Baza danych)
Azure Storage
WCF
Interfejs API sieci Web
Brama pól IoT
Brama chmury IoT

Identyfikowanie poufnych jednostek w rozwiązaniu i implementowanie inspekcji zmian

Tytuł Szczegóły
Składnik Dynamics CRM
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki Identyfikowanie jednostek w rozwiązaniu zawierających poufne dane i implementowanie inspekcji zmian w tych jednostkach i polach

Upewnij się, że inspekcja i rejestrowanie są wymuszane w aplikacji

Tytuł Szczegóły
Składnik Aplikacja internetowa
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki Włącz inspekcję i rejestrowanie wszystkich składników. Dzienniki inspekcji powinny przechwytywać kontekst użytkownika. Zidentyfikuj wszystkie ważne zdarzenia i zarejestruj te zdarzenia. Implementowanie scentralizowanego rejestrowania

Upewnij się, że rotacja i separacja dzienników są w miejscu

Tytuł Szczegóły
Składnik Aplikacja internetowa
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki

Rotacja dzienników to zautomatyzowany proces używany w administracji systemu, w którym zarchiwizowane są pliki dziennika z datą. Serwery, które uruchamiają duże aplikacje często rejestrują każde żądanie: w obliczu dzienników zbiorczych rotacja dzienników jest sposobem ograniczenia całkowitego rozmiaru dzienników, jednocześnie umożliwiając analizę ostatnich zdarzeń.

Separacja dzienników oznacza w zasadzie, że musisz przechowywać pliki dziennika na innej partycji, ponieważ system operacyjny/aplikacja jest uruchomiona w celu odwrócenia ataku typu "odmowa usługi" lub obniżenia wydajności aplikacji

Upewnij się, że aplikacja nie rejestruje poufnych danych użytkownika

Tytuł Szczegóły
Składnik Aplikacja internetowa
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki

Sprawdź, czy nie rejestrujesz żadnych poufnych danych przesyłanych przez użytkownika do witryny. Sprawdź, czy celowe rejestrowanie, jak również skutki uboczne spowodowane problemami projektowymi. Przykłady poufnych danych to:

  • Poświadczenia użytkownika
  • Numer ubezpieczenia społecznego lub inne informacje identyfikujące
  • Numery kart kredytowych lub inne informacje finansowe
  • Informacje o kondycji
  • Klucze prywatne lub inne dane, których można użyć do odszyfrowania zaszyfrowanych informacji
  • Informacje o systemie lub aplikacji, których można użyć do bardziej efektywnego ataku na aplikację

Upewnij się, że pliki inspekcji i dziennika mają ograniczony dostęp

Tytuł Szczegóły
Składnik Aplikacja internetowa
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki

Upewnij się, że prawa dostępu do plików dziennika są odpowiednio ustawione. Konta aplikacji powinny mieć dostęp tylko do zapisu i operatory, a personel pomocy technicznej powinien mieć dostęp tylko do odczytu zgodnie z potrzebami.

Konta administratorów to jedyne konta, które powinny mieć pełny dostęp. Sprawdź listę ACL systemu Windows w plikach dziennika, aby upewnić się, że są one prawidłowo ograniczone:

  • Konta aplikacji powinny mieć dostęp tylko do zapisu
  • Operatorzy i personel pomocy technicznej powinni mieć dostęp tylko do odczytu zgodnie z potrzebami
  • Administratorzy są jedynymi kontami, które powinny mieć pełny dostęp

Upewnij się, że zdarzenia zarządzania użytkownikami są rejestrowane

Tytuł Szczegóły
Składnik Aplikacja internetowa
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki

Upewnij się, że aplikacja monitoruje zdarzenia zarządzania użytkownikami, takie jak pomyślne i nieudane logowania użytkowników, resetowanie haseł, zmiany haseł, blokada konta, rejestracja użytkownika. Dzięki temu można wykrywać i reagować na potencjalnie podejrzane zachowanie. Umożliwia również zbieranie danych operacyjnych; na przykład aby śledzić, kto uzyskuje dostęp do aplikacji

Upewnij się, że system ma wbudowane zabezpieczenia przed nieprawidłowym użyciem

Tytuł Szczegóły
Składnik Aplikacja internetowa
Faza SDL Kompilacja
Odpowiednie technologie Ogólny
Atrybuty Nie dotyczy
Odwołania Nie dotyczy
Kroki

Należy stosować mechanizmy kontroli, które zgłaszają wyjątek zabezpieczeń w przypadku nieprawidłowego użycia aplikacji. Na przykład jeśli weryfikacja danych wejściowych jest w miejscu, a osoba atakująca próbuje wstrzyknąć złośliwy kod niezgodny z wyrażeniem regularnym, może zostać zgłoszony wyjątek zabezpieczeń, który może wskazywać na nieprawidłowe użycie systemu

Na przykład zaleca się zarejestrowanie wyjątków zabezpieczeń i wykonanie akcji w przypadku następujących problemów:

  • Walidacja danych wejściowych
  • Naruszenia CSRF
  • Atak siłowy (górny limit liczby żądań na użytkownika na zasób)
  • Naruszenia przekazywania plików

    Włączanie rejestrowania diagnostycznego dla aplikacji internetowych w usłudze Azure App Service

    Tytuł Szczegóły
    Składnik Aplikacja internetowa
    Faza SDL Kompilacja
    Odpowiednie technologie Ogólny
    Atrybuty EnvironmentType — Azure
    Odwołania Nie dotyczy
    Kroki

    Platforma Azure udostępnia wbudowaną diagnostykę, która ułatwia debugowanie App Service aplikacji internetowej. Dotyczy to również aplikacji interfejsu API i aplikacji mobilnych. App Service aplikacje internetowe zapewniają funkcje diagnostyczne służące do rejestrowania informacji zarówno z serwera internetowego, jak i aplikacji internetowej.

    Są one logicznie oddzielone diagnostyką serwera internetowego i diagnostyką aplikacji

    Upewnij się, że inspekcja logowania jest włączona na SQL Server

    Tytuł Szczegóły
    Składnik baza danych
    Faza SDL Kompilacja
    Odpowiednie technologie Ogólny
    Atrybuty Nie dotyczy
    Odwołania Konfigurowanie inspekcji logowania
    Kroki

    Inspekcja logowania serwera bazy danych musi być włączona w celu wykrywania/potwierdzania ataków polegających na odgadywaniu haseł. Ważne jest, aby przechwycić nieudane próby logowania. Przechwytywanie zarówno pomyślnych, jak i nieudanych prób logowania zapewnia dodatkową korzyść podczas badań kryminalistycznych

    Włączanie wykrywania zagrożeń w Azure SQL

    Tytuł Szczegóły
    Składnik baza danych
    Faza SDL Kompilacja
    Odpowiednie technologie Usługi SQL Azure
    Atrybuty Wersja SQL — wersja 12
    Odwołania Wprowadzenie do wykrywania zagrożeń SQL Database
    Kroki

    Wykrywanie zagrożeń wykrywa nietypowe działania bazy danych wskazujące potencjalne zagrożenia bezpieczeństwa bazy danych. Zapewnia nową warstwę zabezpieczeń, która umożliwia klientom wykrywanie potencjalnych zagrożeń i reagowanie na nie w miarę ich występowania przez dostarczanie alertów zabezpieczeń dotyczących nietypowych działań.

    Użytkownicy mogą eksplorować podejrzane zdarzenia przy użyciu inspekcji bazy danych Azure SQL, aby określić, czy są one wynikiem próby uzyskania dostępu, naruszenia zabezpieczeń lub wykorzystania danych w bazie danych.

    Wykrywanie zagrożeń ułatwia rozwiązywanie potencjalnych zagrożeń dla bazy danych bez konieczności bycia ekspertem ds. zabezpieczeń lub zarządzaniem zaawansowanymi systemami monitorowania zabezpieczeń

    Używanie usługi Azure analityka magazynu do inspekcji dostępu do usługi Azure Storage

    Tytuł Szczegóły
    Składnik Azure Storage
    Faza SDL Wdrożenie
    Odpowiednie technologie Ogólny
    Atrybuty Nie dotyczy
    Odwołania Monitorowanie typu autoryzacji przy użyciu analityka magazynu
    Kroki

    Dla każdego konta magazynu można włączyć usługę Azure analityka magazynu do wykonywania rejestrowania i przechowywania danych metryk. Dzienniki analizy magazynu zawierają ważne informacje, takie jak metoda uwierzytelniania używana przez kogoś, kto uzyskuje dostęp do magazynu.

    Może to być naprawdę przydatne, jeśli ściśle chronisz dostęp do magazynu. Na przykład w usłudze Blob Storage można ustawić wszystkie kontenery na prywatne i zaimplementować korzystanie z usługi SAS w aplikacjach. Następnie możesz regularnie sprawdzać dzienniki, aby sprawdzić, czy do obiektów blob uzyskuje się dostęp przy użyciu kluczy konta magazynu, co może wskazywać na naruszenie zabezpieczeń lub czy obiekty blob są publiczne, ale nie powinny być.

    Implementowanie wystarczającej liczby rejestrowania

    Tytuł Szczegóły
    Składnik WCF
    Faza SDL Kompilacja
    Odpowiednie technologie .NET Framework
    Atrybuty Nie dotyczy
    Odwołania MSDN, Fortify Kingdom
    Kroki

    Brak odpowiedniego dziennika inspekcji po incydencie bezpieczeństwa może utrudnić działania kryminalistyczne. Program Windows Communication Foundation (WCF) umożliwia rejestrowanie pomyślnych i/lub nieudanych prób uwierzytelnienia.

    Próby uwierzytelnienia nieudanych prób rejestrowania mogą ostrzegać administratorów przed potencjalnymi atakami siłowymi. Podobnie rejestrowanie pomyślnych zdarzeń uwierzytelniania może zapewnić przydatny dziennik inspekcji w przypadku naruszenia zabezpieczeń uzasadnionego konta. Włączanie funkcji inspekcji zabezpieczeń usługi WCF

    Przykład

    Poniżej przedstawiono przykładową konfigurację z włączoną inspekcją

    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name=""NewBehavior"">
                    <serviceSecurityAudit auditLogLocation=""Default""
                    suppressAuditFailure=""false"" 
                    serviceAuthorizationAuditLevel=""SuccessAndFailure""
                    messageAuthenticationAuditLevel=""SuccessAndFailure"" />
                    ...
                </behavior>
            </servicebehaviors>
        </behaviors>
    </system.serviceModel>
    

    Implementowanie wystarczającej obsługi błędów inspekcji

    Tytuł Szczegóły
    Składnik WCF
    Faza SDL Kompilacja
    Odpowiednie technologie .NET Framework
    Atrybuty Nie dotyczy
    Odwołania MSDN, Fortify Kingdom
    Kroki

    Opracowane rozwiązanie nie jest skonfigurowane do generowania wyjątku, gdy nie można zapisać w dzienniku inspekcji. Jeśli program WCF nie jest skonfigurowany do zgłaszania wyjątku, gdy nie może zapisać w dzienniku inspekcji, program nie zostanie powiadomiony o awarii i inspekcji krytycznych zdarzeń zabezpieczeń może nie wystąpić.

    Przykład

    Element <behavior/> poniższego pliku konfiguracji programu WCF instruuje program WCF, aby nie powiadamiał aplikacji, gdy program WCF nie może zapisać w dzienniku inspekcji.

    <behaviors>
        <serviceBehaviors>
            <behavior name="NewBehavior">
                <serviceSecurityAudit auditLogLocation="Application"
                suppressAuditFailure="true"
                serviceAuthorizationAuditLevel="Success"
                messageAuthenticationAuditLevel="Success" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    

    Skonfiguruj program WCF, aby powiadamiał program za każdym razem, gdy nie może zapisywać w dzienniku inspekcji. Program powinien mieć alternatywny schemat powiadomień, aby powiadamiać organizację, że dzienniki inspekcji nie są utrzymywane.

    Upewnij się, że inspekcja i rejestrowanie są wymuszane w internetowym interfejsie API

    Tytuł Szczegóły
    Składnik Interfejs API sieci Web
    Faza SDL Kompilacja
    Odpowiednie technologie Ogólny
    Atrybuty Nie dotyczy
    Odwołania Nie dotyczy
    Kroki Włącz inspekcję i rejestrowanie w internetowych interfejsach API. Dzienniki inspekcji powinny przechwytywać kontekst użytkownika. Zidentyfikuj wszystkie ważne zdarzenia i zarejestruj te zdarzenia. Implementowanie scentralizowanego rejestrowania

    Upewnij się, że w usłudze Field Gateway jest wymuszana odpowiednia inspekcja i rejestrowanie

    Tytuł Szczegóły
    Składnik Brama pola IoT
    Faza SDL Kompilacja
    Odpowiednie technologie Ogólny
    Atrybuty Nie dotyczy
    Odwołania Nie dotyczy
    Kroki

    Gdy wiele urządzeń łączy się z usługą Field Gateway, upewnij się, że próby połączenia i stan uwierzytelniania (powodzenie lub niepowodzenie) dla poszczególnych urządzeń są rejestrowane i utrzymywane w usłudze Field Gateway.

    Ponadto w przypadkach, gdy usługa Field Gateway utrzymuje poświadczenia IoT Hub dla poszczególnych urządzeń, upewnij się, że inspekcja jest wykonywana po pobraniu tych poświadczeń. Opracowywanie procesu okresowego przekazywania dzienników do Azure IoT Hub/magazynu na potrzeby długoterminowego przechowywania.

    Upewnij się, że odpowiednie inspekcje i rejestrowanie są wymuszane w usłudze Cloud Gateway

    Tytuł Szczegóły
    Składnik Brama chmury IoT
    Faza SDL Kompilacja
    Odpowiednie technologie Ogólny
    Atrybuty Nie dotyczy
    Odwołania Wprowadzenie do monitorowania operacji IoT Hub
    Kroki

    Projektowanie pod kątem zbierania i przechowywania danych inspekcji zebranych za pomocą programu IoT Hub Operations Monitoring. Włącz następujące kategorie monitorowania:

    • Operacje na tożsamości urządzenia
    • Komunikacja z urządzeniami do chmury
    • Komunikacja z chmurą na urządzenie
    • Połączenia
    • Operacje przekazywania plików