Rámec zabezpečení: Auditování a protokolování | Zmírnění rizik

Produkt/služba Článek
Dynamics CRM
Webová aplikace
Databáze
Azure Storage
WCF
Webové rozhraní API
IoT Field Gateway
Brána IoT Cloud

Identifikace citlivých entit v řešení a implementace auditování změn

Nadpis Podrobnosti
Komponenta Dynamics CRM
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky Identifikace entit v řešení obsahujících citlivá data a implementace auditování změn u těchto entit a polí

Ujistěte se, že se v aplikaci vynucuje auditování a protokolování.

Nadpis Podrobnosti
Komponenta Webová aplikace
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky Povolte auditování a protokolování u všech komponent. Protokoly auditu by měly zaznamenávat kontext uživatele. Identifikujte všechny důležité události a zaznamte je do protokolu. Implementace centralizovaného protokolování

Ujistěte se, že jsou na místě rotace a oddělení protokolů.

Nadpis Podrobnosti
Komponenta Webová aplikace
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky

Obměna protokolů je automatizovaný proces používaný při správě systému, ve kterém se archivují soubory protokolu s daty. Servery, které spouští velké aplikace, často protokolují každý požadavek: v případě objemných protokolů je obměně protokolů způsob, jak omezit celkovou velikost protokolů a zároveň umožnit analýzu nedávných událostí.

Oddělení protokolů v podstatě znamená, že soubory protokolu musíte uložit do jiného oddílu, ve kterém běží váš operační systém nebo aplikace, abyste zabránili útoku na odepření služby nebo downgradu výkonu aplikace.

Ujistěte se, že aplikace nehlásí citlivá uživatelská data.

Nadpis Podrobnosti
Komponenta Webová aplikace
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky

Zkontrolujte, že nezapíšete žádná citlivá data, která uživatel odesílá na váš web. Zkontrolujte záměrné protokolování a vedlejší účinky způsobené problémy s návrhem. Mezi příklady citlivých dat patří:

  • Přihlašovací údaje uživatele
  • Číslo sociálního pojištění nebo jiné identifikační údaje
  • Čísla platebních karet nebo jiné finanční informace
  • Informace o stavu
  • Privátní klíče nebo jiná data, která by se dala použít k dešifrování šifrovaných informací
  • Systémové informace nebo informace o aplikaci, které lze použít k efektivnějšímu útoku na aplikaci

Ujistěte se, že auditování a soubory protokolů mají omezený přístup.

Nadpis Podrobnosti
Komponenta Webová aplikace
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky

Zkontrolujte, jestli jsou správně nastavená přístupová práva k souborům protokolu. Účty aplikací by měly mít přístup jen pro zápis a operátoři a pracovníci podpory by podle potřeby měli mít přístup jen pro čtení.

Účty správců jsou jedinými účty, které by měly mít úplný přístup. Zkontrolujte seznam ACL systému Windows v souborech protokolu a ujistěte se, že jsou správně omezené:

  • Účty aplikací by měly mít přístup jen pro zápis.
  • Operátoři a pracovníci podpory by měli mít podle potřeby přístup jen pro čtení.
  • Správci jsou jedinými účty, které by měly mít úplný přístup.

Ujistěte se, že se protokolují události správy uživatelů.

Nadpis Podrobnosti
Komponenta Webová aplikace
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky

Ujistěte se, že aplikace monitoruje události správy uživatelů, jako jsou úspěšná a neúspěšná přihlášení uživatelů, resetování hesla, změny hesel, uzamčení účtu nebo registrace uživatele. To pomáhá detekovat potenciálně podezřelé chování a reagovat na něj. Umožňuje také shromažďovat provozní data; například ke sledování uživatelů, kteří k aplikaci přistupují

Ujistěte se, že systém má vestavěnou ochranu proti zneužití.

Nadpis Podrobnosti
Komponenta Webová aplikace
Fáze SDL Sestavení
Použitelné technologie Obecné
Atributy
Reference
Kroky

Měly by být zavedeny ovládací prvky, které v případě zneužití aplikace vyvolají výjimku zabezpečení. Například pokud probíhá ověřování vstupu a útočník se pokusí vložit škodlivý kód, který neodpovídá regulárnímu výrazu, může dojít k výjimce zabezpečení, která může značit zneužití systému.

Doporučuje se například protokolovat výjimky zabezpečení a provádět akce pro následující problémy:

  • Ověřování vstupu
  • Porušení CSRF
  • Hrubá síla (horní limit počtu požadavků na uživatele a prostředek)
  • Porušení nahrávání souborů

    Povolení protokolování diagnostiky pro webové aplikace v Azure App Service

    Nadpis Podrobnosti
    Komponenta Webová aplikace
    Fáze SDL Sestavení
    Použitelné technologie Obecné
    Atributy EnvironmentType – Azure
    Reference
    Kroky

    Azure poskytuje integrovanou diagnostiku, která vám pomůže s laděním App Service webové aplikace. Platí také pro aplikace API a mobilní aplikace. App Service webové aplikace poskytují diagnostické funkce pro protokolování informací z webového serveru i webové aplikace.

    Ty jsou logicky rozdělené do diagnostiky webových serverů a diagnostiky aplikací.

    Ujistěte se, že je na SQL Server povolené auditování přihlášení.

    Nadpis Podrobnosti
    Komponenta Databáze
    Fáze SDL Sestavení
    Použitelné technologie Obecné
    Atributy
    Reference Konfigurace auditování přihlašování
    Kroky

    Aby bylo možné detekovat nebo potvrdit útoky na hádání hesla, musí být povolené auditování přihlášení k databázovému serveru. Je důležité zaznamenávat neúspěšné pokusy o přihlášení. Zachytávání úspěšných i neúspěšných pokusů o přihlášení poskytuje další výhody při forenzním šetření.

    Povolení detekce hrozeb na Azure SQL

    Nadpis Podrobnosti
    Komponenta Databáze
    Fáze SDL Sestavení
    Použitelné technologie SQL Azure
    Atributy Verze SQL – V12
    Reference Začínáme s detekcí hrozeb SQL Database
    Kroky

    Detekce hrozeb detekuje neobvyklé databázové aktivity, které značí potenciální bezpečnostní hrozby pro databázi. Poskytuje novou vrstvu zabezpečení, která zákazníkům umožňuje detekovat potenciální hrozby a reagovat na ně tím, že poskytuje výstrahy zabezpečení na neobvyklé aktivity.

    Uživatelé můžou prozkoumat podezřelé události pomocí auditování Azure SQL databáze a zjistit, jestli jsou výsledkem pokusu o přístup k datům v databázi, jejich narušení nebo zneužití.

    Detekce hrozeb usnadňuje řešení potenciálních hrozeb pro databázi bez nutnosti být odborníkem na zabezpečení nebo spravovat pokročilé systémy monitorování zabezpečení.

    Audit přístupu ke službě Azure Storage pomocí Azure Analýza úložiště

    Nadpis Podrobnosti
    Komponenta Azure Storage
    Fáze SDL Nasazení
    Použitelné technologie Obecné
    Atributy
    Reference Monitorování typu autorizace pomocí Analýza úložiště
    Kroky

    Pro každý účet úložiště můžete povolit azure Analýza úložiště k protokolování a ukládání dat metrik. Protokoly analýzy úložiště poskytují důležité informace, jako je metoda ověřování, kterou někdo používá při přístupu k úložišti.

    To může být opravdu užitečné, pokud přísně chráníte přístup k úložišti. Ve službě Blob Storage můžete například nastavit všechny kontejnery na privátní a implementovat použití služby SAS v rámci vašich aplikací. Pak můžete protokoly pravidelně kontrolovat a zjišťovat, jestli se k objektům blob přistupuje pomocí klíčů účtu úložiště, což může znamenat porušení zabezpečení nebo jestli jsou objekty blob veřejné, ale neměly by být.

    Implementace dostatečného protokolování

    Nadpis Podrobnosti
    Komponenta WCF
    Fáze SDL Sestavení
    Použitelné technologie .NET Framework
    Atributy
    Reference MSDN, Fortify Kingdom
    Kroky

    Chybějící správný záznam auditu po bezpečnostním incidentu může bránit forenznímu úsilí. Windows Communication Foundation (WCF) nabízí možnost protokolovat úspěšné nebo neúspěšné pokusy o ověření.

    Protokolování neúspěšných pokusů o ověření může správce upozornit na potenciální útoky hrubou silou. Podobně protokolování úspěšných událostí ověřování může poskytnout užitečný záznam auditu při ohrožení legitimního účtu. Povolení funkce auditování zabezpečení služby WCF

    Příklad

    Následuje příklad konfigurace s povoleným auditováním.

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

    Implementace dostatečného zpracování chyb auditu

    Nadpis Podrobnosti
    Komponenta WCF
    Fáze SDL Sestavení
    Použitelné technologie .NET Framework
    Atributy
    Reference MSDN, Fortify Kingdom
    Kroky

    Vyvinuté řešení je nakonfigurované tak, aby nevygenerovalo výjimku, když se mu nepodaří zapsat do protokolu auditu. Pokud je služba WCF nakonfigurovaná tak, aby nevyvolá výjimku, když nemůže zapisovat do protokolu auditu, program nebude upozorněn na selhání a auditování kritických událostí zabezpečení nemusí dojít.

    Příklad

    Níže <behavior/> uvedený prvek konfiguračního souboru WCF dává wcf pokyn, aby neoznamovat aplikaci, když wcf selže při zápisu do protokolu auditu.

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

    Nakonfigurujte WCF tak, aby program upozorňovat, kdykoli nemůže zapisovat do protokolu auditu. Program by měl mít k dispozici alternativní schéma oznámení, které organizaci upozorní, že se neudržují záznamy auditu.

    Ujistěte se, že se ve webovém rozhraní API vynucuje auditování a protokolování.

    Nadpis Podrobnosti
    Komponenta Webové rozhraní API
    Fáze SDL Sestavení
    Použitelné technologie Obecné
    Atributy
    Reference
    Kroky Povolte auditování a protokolování ve webových rozhraních API. Protokoly auditu by měly zaznamenávat kontext uživatele. Identifikujte všechny důležité události a zaznamte je do protokolu. Implementace centralizovaného protokolování

    Ujistěte se, že se ve službě Field Gateway vynucuje odpovídající auditování a protokolování.

    Nadpis Podrobnosti
    Komponenta IoT Field Gateway
    Fáze SDL Sestavení
    Použitelné technologie Obecné
    Atributy
    Reference
    Kroky

    Když se k bráně Field Gateway připojuje více zařízení, ujistěte se, že se ve službě Field Gateway protokolují a uchovávají pokusy o připojení a stav ověřování (úspěch nebo selhání) jednotlivých zařízení.

    V případech, kdy field gateway udržuje přihlašovací údaje IoT Hub pro jednotlivá zařízení, se také ujistěte, že se při načítání těchto přihlašovacích údajů provádí auditování. Vytvořte proces pro pravidelné nahrávání protokolů do Azure IoT Hub nebo úložiště pro dlouhodobé uchovávání.

    Ujistěte se, že se u cloudové brány vynucuje odpovídající auditování a protokolování.

    Nadpis Podrobnosti
    Komponenta Brána IoT Cloud
    Fáze SDL Sestavení
    Použitelné technologie Obecné
    Atributy
    Reference Úvod do monitorování operací IoT Hub
    Kroky

    Návrh pro shromažďování a ukládání dat auditu shromážděných prostřednictvím IoT Hub Operations Monitoring. Povolte následující kategorie monitorování:

    • Operace s identitou zařízení
    • Komunikace mezi zařízeními a cloudy
    • Komunikace mezi cloudem a zařízením
    • Připojení
    • Nahrání souborů