Přeskočit na hlavní obsah

Chybné nastavení zabezpečení

  • Aplikace může být zranitelná, pokud
    • chybí vhodné zabezpečení v jakékoli části aplikace,
    • nejsou správně nakonfigurované cloudové služby,
    • jsou povoleny nebo nainstalovány nepotřebné funkce (např. nepotřebné porty, služby, stránky, účty),
    • jsou výchozí účty a jejich hesla stále aktivní a nezměněná,
    • error zprávy zobrazují stack trace nebo obsahují jiné příliš konkrétní zprávy,
    • mají aktualizované systémy zakázané funkce zabezpečení nebo jsou špatně nakonfigurovány,
    • nastavení zabezpečení v aplikačních serverech, frameworcích, knihovnách, databázích atd. není nastavené na bezpečné hodnoty,
    • server neodesílá bezpečnostní hlavičky nebo nenastavuje direktivy na bezpečné hodnoty,
    • je systém zastaralý nebo zranitelný.
  • Bez sladěného a opakovatelného procesu konfigurace zabezpečení jsou systémy vystaveny vyššímu riziku vzniku této zranitelnosti.

Nejčastější zranitelnosti

  • Nesprávná konfigurace.
  • Nesprávné omezení XXE (XML External Entity).

Jak zranitelnosti předcházet

🔴 Použijte proces bezpečné instalace.

🔴 Opakujte proces pro kalení (hardening), který umožňuje rychlé a snadné nasazení jiného prostředí, které je vhodně chráněno.

🔴 Nakonfigurujte QA, vývojové a produkční prostředí stejně, přičemž v každém použijte jiné credentials.

  • Automatizujte tento proces, čímž minimalizujete úsilí potřebné k nastavení nového zabezpečeného prostředí.

🔴 Minimalizujte použití zbytečných funkcí, komponent, dokumentace, ukázek a dalších.

🔴 Odstraňte, nebo neinstalujte nepoužívané knihovny, funkce a frameworky.

🔴 Zkontrolujte a aktualizujte konfigurace odpovídající bezpečnostním doporučením, aktualizacím a záplatám v rámci procesu správy záplat.

🔴 Ověřte oprávnění cloudových úložišť.

🔴 Segmentujte architekturu aplikací a zajistěte bezpečné a účinné oddělení komponent pomocí segmentace, kontejnerizace skupin cloudového zabezpečení (ACL).

🔴 Odesílejte security directives na klienty (security hlavičky).

🔴 Automatizujte proces ověřování konfigurace a nastavení ve všech prostředích.

Příklad zneužití zranitelnosti

  1. Aplikační server obsahuje ukázkové aplikace, které nebyly odstraněny z produkčního serveru. Tyto aplikace mají známé bezpečnostní chyby, kterých útočníci využívají. Předpokládejme, že jednou z aplikací je konzole pro správce systému a její výchozí účty nebyly změněny. V takovém případě se útočník přihlásí pomocí výchozích hesel a převezme kontrolu nad systémem.
  2. Výpis adresářů není na serveru zakázán. Útočník zjistí, že může jednoduše vypsat seznam adresářů a souborů. Vzápětí najde a stáhne zkompilovaný Java kód, který dekompiluje, a pomocí reverzního inženýrství si zobrazí kód. Pak útočník v aplikaci najde závažnou chybu v řízení přístupu, které následně využije.
  3. Konfigurace aplikačního serveru umožňuje uživatelům vracet podrobná chybová hlášení se stack traces. To potenciálně odhaluje citlivé informace nebo základní chyby, jako je verze komponent, o nichž je známo, že jsou zranitelné.
  4. Poskytovatel cloudových služeb (PCS) má výchozí oprávnění ke sdílení (otevřeného do internetu) ostatním uživatelům PCS. To umožňuje přístup k citlivým datům uložených v cloudu.

Kam dál

Cheat sheety

Checklisty

Další