0 / 0
Go back to the English version of the documentation
Monitorování přístupu k datům pomocí prostředku dozoru Db2 v produktu Watson Query
Last updated: 07. 6. 2023
Monitorování přístupu k datům pomocí zásad auditu v produktu Watson Query

Chcete-li spravovat přístup k vašim citlivým datům, můžete použít mechanizmus ověřování a řízení přístupu k zavedení pravidel a ovladačů pro přístup k datům. Chcete-li však chránit před neznámým nebo nepřijatelným chováním a odhalovat je, můžete monitorovat přístup k datům pomocí funkce auditu Db2® .

Úspěšné monitorování nechtěného přístupu k datům a následná analýza může vést ke zlepšení kontroly přístupu k datům a k konečné prevenci škodlivého nebo bezúdržbného neoprávněného přístupu k datům. Monitorování přístupu k aplikacím a jednotlivým uživatelům, včetně akcí administrace systému, může poskytovat historický záznam aktivity na vašich databázových systémech.

Můžete použít prostředek dozoru Db2 ke generování a údržbě záznamu pro audit pro řadu předdefinovaných databázových událostí. Pro každou kategorii událostí, která je k dispozici pro auditování, se k označení typu kategorie za názvem kategorie používá jednoslovné klíčové slovo. Pro auditování jsou k dispozici následující kategorie událostí:
Audit (AUDIT)
Generuje záznamy při změně nastavení auditu nebo při přístupu k protokolu auditu.
Kontrola autorizace (CHECKING)
Generuje záznamy během kontroly autorizace pokusů o přístup k databázovým objektům nebo funkcím Db2 nebo k manipulaci s nimi.
Údržba objektu (OBJMAINT)
Generuje záznamy při vytváření nebo rušení datových objektů a při změně určitých objektů.
Údržba zabezpečení (SECMAINT)
Generuje záznamy pro následující podmínky:
  • Udělení nebo odebrání oprávnění k objektům nebo databázovým orgánům.
  • Udělení nebo odebrání návěští zabezpečení nebo vynětí.
  • Pozměnění autorizace skupin, autorizace rolí nebo přepsání nebo omezení atributů zásady zabezpečení LBAC.
  • Udělení nebo odebrání oprávnění SETSESSIONUSER.
  • Úpravy libovolných konfiguračních parametrů SYSADM_GROUP, SYSCTRL_GROUP, SYSMAINT_GROUP nebo SYSMON_GROUP.
Administrace systému (SYSADMIN)
Generuje záznamy, jsou-li provedeny operace, které vyžadují oprávnění SYSADM, SYSMAINT nebo SYSCTRL.
Ověření uživatele (VALIDATE)
Generuje záznamy při ověřování uživatelů nebo získávání informací o zabezpečení systému.
Kontext operace (CONTEXT)
Generuje záznamy pro zobrazení kontextu operace při provádění databázové operace. Tato kategorie umožňuje lepší interpretaci souboru protokolu auditu. Při použití v poli korelátoru událostí protokolu může být skupina událostí přidružena zpět k jedné operaci databáze. Například dotazovací příkaz pro dynamické dotazy, identifikátor balíku pro statické dotazy nebo indikátor typu prováděné operace, jako např. CONNECT, může poskytnout potřebný kontext při analýze výsledků auditu.
Provést (EXECUTE)
Generuje záznamy během provádění příkazů SQL.

U kterékoli z uvedených kategorií můžete monitorovat selhání, úspěch nebo obojí.

Všechny operace na databázovém serveru mohou generovat několik záznamů. Skutečný počet záznamů generovaných v protokolu auditu závisí na počtu kategorií událostí, které mají být zaznamenávány, jak je uvedeno v konfiguraci prostředku auditu. Závisí to také na tom, zda jsou auditovány úspěchy, poruchy nebo obojí. Je důležité, aby byly tyto události k auditu selektivní.

Záznamy generované z tohoto zařízení lze zobrazit ze sady tabulek AUDIT, kde každá tabulka odpovídá každé kategorii. Analýza těchto záznamů může odhalit vzory použití, které mohou identifikovat zneužití systému. Je-li zjištěno nesprávné použití, lze podniknout kroky ke snížení nebo eliminaci zneužití systému.

Funkce auditu poskytuje schopnost monitorovat na úrovni databáze. Každý člen skupiny administrátorů může konfigurovat zásadu auditu, aby kontroloval, kdy jsou takové informace o auditu shromažďovány, jako např. monitorování autorizačních ID, oprávnění k databázi, důvěryhodné kontexty nebo konkrétní tabulky.

Rychlé spuštění

  • AUDIT_ALL je předdefinovaná zásada, která se konfiguruje během implementace. Tato zásada audituje všechny úspěchy a selhání pro každou kategorii záznamů auditu. Doporučuje se, abyste vytvořili vlastní zásadu, která vyhovuje vašim potřebám.
  • AUDIT_UPDATE je předdefinovaná procedura, která extrahuje a načítá záznamy auditu do AUDIT.* tabulky.
  • Příkazy AUDIT vyžadují, aby uživatelé disponovaly oprávněním SECADM. Chcete-li zobrazit data v AUDIT.* tabulky, uživatelé, kterým je uděleno oprávnění SELECT pro tyto tabulky, jsou schopni přistupovat k nim.
Důležité: Je-li povolena zásada auditu a je naplánována úloha auditu, AUDIT.* tabulky hromadí prostor ve vašem systému. Musíte spravovat úložiště použité AUDIT.* tabulky. Chcete-li data auditu ukládat do stavu offline a vyčistit data v AUDIT.*, musíte pravidelně exportovat data auditu. tabulky.
Chcete-li povolit AUDIT k zachycení všech událostí ve službě pro každou roli,
AUDIT ROLE DV_ADMIN USING POLICY AUDIT_ALL;
AUDIT ROLE DV_ENGINEER USING POLICY AUDIT_ALL;
AUDIT ROLE DV_STEWARD USING POLICY AUDIT_ALL;
AUDIT ROLE DV_WORKER USING POLICY AUDIT_ALL;
Chcete-li vytvořit naplánovanou úlohu aktualizace auditu za účelem získání nejnovějších záznamů auditu do tabulek auditu každých 15 minut (minimální interval mezi aktualizacemi),
CALL SYSPROC.ADMIN_TASK_ADD( 'AUDIT_UPDATE', NULL, NULL, NULL, '*/15 * * * *', 'AUDIT', 'UPDATE', NULL, NULL, 'Periodically update to audit tables' );
Chcete-li zobrazit záznamy auditu z 8 kategorií událostí auditu
select * from AUDIT.AUDIT;
select * from AUDIT.CHECKING;
select * from AUDIT.CONTEXT;
select * from AUDIT.EXCUTE;
select * from AUDIT.OBJMAINT;
select * from AUDIT.SECMAINT;
select * from AUDIT.SYSADMIN;
select * from AUDIT.VALIDATE;

Další informace viz téma Zásady auditu.

  • CREATE AUDIT POLICY policy_name CATEGORIES category or ALL STATUS status ERROR TYPE NORMAL;

    Další informace viz Příkaz CREATE AUDIT POLICY.

    Názvy zásad auditu
    Ujistěte se, že název je jedinečný a jeho účel je snadno identifikovatelný, například AUDIT_SOC2_COMPLIANCE nebo AUDIT_LOGIN_ONLY. Nezačínáte s názvem SYS , protože je rezervováno pro interní názvy systémů v databázi.
    Kategorie určené k auditu
    Zásada určuje, které kategorie mají být auditovány. Tato zásada může být použita na jiné databázové objekty, aby bylo možné určit, jak se mají tyto objekty používat. Pro audit je k dispozici osm dostupných kategorií. Čím více kategorií je nakonfigurováno, tím více informací je auditováno a kumuluje se do vyrovnávací paměti auditu s výpočetním prostorem. Pochopení toho, co je zapotřebí pro váš účel je důležité, aby se zabránilo přetížení výpočetního prostoru systému. Souhrn popisuje každou dostupnou kategorii. Je-li jako volba kategorie zadána hodnota ALL , nelze zadat žádnou další kategorii.
    Chcete-li splnit nejvyšší standardy zabezpečení, doporučené kategorie v následujícím seznamu budou mít přístup k monitorování řízení přístupu, ověřování a privilegovaného přístupu. Konfigurace zásad s těmito kategoriemi zajistí, že při údržbě zabezpečení bude minimální režie.
    • EXECUTE WITHOUT DATA -Řízení přístupu
    • VALIDATE -Ověřování
    • SECMAINT -Monitorování privilegovaného přístupu
    Kromě toho by u každé kategorie měly být auditovány jak úspěchy, tak i scénáře selhání, a typ chyby by měl protokolovat pouze chyby kódu SQL.
    • STATUS BOTH
    • ERROR TYPE NORMAL
  • AUDIT database_entity USING POLICY policy_name;

    Další informace viz Příkaz AUDIT.

  • Upravenou zásadu auditu můžete nakonfigurovat tak, aby zachytával požadavky na ověření a úspěšně provedly příkazy SQL a povolili jej.

    CREATE AUDIT POLICY AUDIT_VALIDATE_EXECUTE CATEGORIES VALIDATE STATUS BOTH, EXECUTE STATUS SUCCESS ERROR TYPE NORMAL;
    Auditovat databázové objekty
    Auditování celé databáze bude mít za následek výpočet přetížení prostoru. Doporučení slouží k identifikaci tabulky a přidružené tabulky materializovaného dotazu (MQT) pro použití zásady.
    Pozn.: Zásada auditu, která platí pro tabulku, se nevztahuje na tabulku materializovaného dotazu (MQT) založenou na této tabulce. Doporučuje se, abyste přidružili zásadu auditu k tabulce, ale také tuto zásadu přidružíte ke kterékoli tabulce MQT založené na této tabulce. Kompilátor může automaticky použít tabulku MQT, i když příkaz SQL odkazuje na základní tabulku; avšak zásada auditu použitá pro základní tabulku bude stále v platnosti.

    Další doporučenou konfigurací je použití zásady pro skupinu nebo roli. Tuto konfiguraci můžete použít k monitorování toho, kteří uživatelé ve které skupině a roli provádějí jakékoli neočekávané akce. Zvolíte-li použití zásady na celou databázi, ujistěte se, že zásada neuchovává záznam všech kategorií.

    Povolit zásadu auditu pro tabulku
    AUDIT TABLE CUSTOMTABLE USING POLICY AUDIT_VALIDATE_EXECUTE;

    Můžete také nakonfigurovat přizpůsobenou zásadu auditu tak, aby zachytával pouze požadavky na ověření (úspěch i selhání) a povolili jej.

    CREATE AUDIT POLICY AUDIT_VALIDATE_ONLY CATEGORIES VALIDATE STATUS BOTH ERROR TYPE NORMAL;
  • select * from SYSCAT.AUDITPOLICIES;
    Následující příklad výstupu je výsledkem spuštění předchozího příkazu SELECT:
    
    AUDITPOLICYNAME              AUDITPOLICYID CREATE_TIME                ALTER_TIME                 AUDITSTATUS CONTEXTSTATUS VALIDATESTATUS CHECKINGSTATUS SECMAINTSTATUS OBJMAINTSTATUS SYSADMINSTATUS EXECUTESTATUS EXECUTEWITHDATA ERRORTYPE REMARKS
    
    ---------------------------- ------------- -------------------------- -------------------------- ----------- ------------- -------------- -------------- -------------- -------------- -------------- ------------- --------------- --------- -------
    
    AUDIT_VALIDATE_ONLY                    108 2018-07-23-21.00.57.024758 2018-07-23-21.00.57.024758 N           N             B              N              N              N              N              N             N               N         -
    
    AUDIT_ALL                              106 2018-07-23-20.51.18.017062 2018-07-23-20.51.18.017062 B           B             B              B              B              B              B              B             N               N         -
    
      2 record(s) selected.
    
  • select * from SYSCAT.AUDITUSE;
    Následující příklad výstupu je výsledkem spuštění předchozího příkazu SELECT:
    
    AUDITPOLICYNAME           AUDITPOLICYID OBJECTTYPE SUBOBJECTTYPE OBJECTSCHEMA  OBJECTNAME        AUDITEXCEPTIONENABLED
    
    ------------------------- ------------- ---------- ------------- ------------- ----------------- ---------------------
    
    AUDIT_VALIDATE_ONLY                 108                          -             CURRENT SERVER    N
    
      1 record(s) selected.
    
  • Chcete-li zastavit audit u entity databáze, zásada musí být odebrána.

    AUDIT database_entity REMOVE POLICY;

    Další informace viz Příkaz AUDIT.

  • AUDIT GROUP BLUUSERS REMOVE POLICY;
  • Další informace naleznete v tématu Procedura ADMIN_TASK_ADD-naplánování nové úlohy.

    Chcete-li vytvořit naplánovanou úlohu aktualizace auditu za účelem získání nejnovějších záznamů auditu do tabulek auditu každých 20 minut:
    CALL SYSPROC.ADMIN_TASK_ADD( 'AUDIT_UPDATE', NULL, NULL, NULL, '*/20 * * * *', 'AUDIT', 'UPDATE', NULL, NULL, 'Periodically update to audit tables' );
    Další informace viz Formát cron systému UNIX pro formát plánu.
    Frekvence plánu
    Frekvence spuštění předdefinované úlohy, která archivuje protokoly auditu, byla mimo rozsah tohoto testu, ale stojí za zmínku doporučení, která jsou shromážděna ze situací zákazníků s reálným životním situací. Při použití větších databází je doporučení spouštět úlohu archivace každý den po dobu 15 minut. To umožní zotavení databáze, pokud dojde k neočekávaným problémům s výkonem. Pokud jsou zásady konfigurovány podle doporučení, měly by být vyrovnávací paměti auditu schopny v daném časovém rámci obsahovat pracovní zátěž. Jak se ukázalo v testech výkonu, pokud jsou složité dotazy spuštěny souběžně s archivací záznamů auditu, očekávají se očekávané problémy s výkonem.
  • select * from SYSTOOLS.ADMIN_TASK_STATUS;
    Následující příklad výstupu je výsledkem spuštění předchozího příkazu SELECT:
    
      NAME          TASKID  STATUS     AGENT_ID     INVOCATION  BEGIN_TIME                 END_TIME                   SQLCODE  SQLSTATE SQLERRMC RC
      ------------- ------- ---------- ------------ ----------- -------------------------- -------------------------- -------- -------- -------- -----
      AUDIT_UPDATE        1 COMPLETE          16433           1 2018-07-23-21.50.00.135211 2018-07-23-21.50.10.584127        0          x''          0
      AUDIT_UPDATE        1 RUNNING           16448           2 2018-07-23-21.55.00.608060 -                                 - -        -            -
    
        2 record(s) selected.
      
  • CALL AUDIT.UPDATE();
    Poznámka: Poté, co spustíte toto volání procedury, můžete se setkat s touto zprávou:
    SQL1307N Při vyvolání funkce auditu zabezpečení došlo k chybě.  Kód příčiny: "9".

    Tato zpráva označuje, že od poslední doby, kdy byly tabulky auditu načteny s daty, nebyla žádná aktivita. Neoznačuje systémovou chybu.

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more