Inspekcja zabezpieczeń, zmian artefaktów i zdarzeń LCM

Administratorzy usługi mogą włączyć inspekcję zabezpieczeń w celu śledzenia zmian dokonywanych na serwerze Essbase.

Essbase, na podstawie parametrów określonych w pliku założenia systemowego dot. inspekcji, gromadzi informacje o zmianach zabezpieczeń na poziomie systemu, zmianach artefaktów, zdarzeń LCM i wykonanych instrukcji MaxL (w tym importu). Essbase konsoliduje śledzone informacje w pliku dziennika inspekcji albo przesyła je strumieniowo do zewnętrznej bazy danych. Śledzone informacje dotyczące każdego zdarzenia obejmują godzinę, klienta, użytkownika, artefakty, których dotyczy zdarzenie, czas trwania, ID, nazwę aplikacji i bazy danych, status oraz opis.

Inspekcję tych zdarzeń na poziomie serwera włącza się za pomocą ustawienia konfiguracyjnego Essbase SECURITY AUDITTRAIL.

Proces Workflow służący do włączania inspekcji zabezpieczeń serwera Essbase

Ten proces Workflow wyjaśnia, w jaki sposób włączać inspekcję zabezpieczeń na serwerze Essbase za pomocą ustawienia AUDITTRAIL SECURITY. Po włączeniu inspekcji należy zdefiniować plik polityk "EssbaseSecurityAuditLogPolicy". Można zdecydować, czy Essbase ma zapisywać rekordy inspekcji w pliku CSV czy przesyłać je strumieniowo do zewnętrznej bazy danych.

W tym procesie Workflow jako zewnętrzna baza danych będzie używana baza danych Oracle, ale można też użyć bazy danych SQL Server, MySQL lub DB2.

Aby wykonać ten proces Workflow, trzeba być administratorem systemu oraz mieć dostęp do <ścieżki konfiguracji Essbase> na komputerze będącym serwerem Essbase.

Ta ścieżka zawiera pliki, które trzeba będzie edytować:
  • Plik konfiguracji essbase.cfg
  • Plik domyślnych zasad dot. inspekcji zabezpieczeń
  1. Włączyć inspekcję zdarzeń serwera, dodając poniższą konfigurację do pliku essbase.cfg na komputerze, na którym znajduje się serwer Essbase:

    AUDITTRAIL SECURITY

    Po zaktualizowaniu konfiguracji należy ponownie uruchomić Essbase.

    Zob. Ustawianie właściwości konfiguracji na poziomie serwera i uruchamianie, zatrzymywanie i sprawdzanie serwerów.

  2. Plik domyślnych zasad (XML) jest tworzony na serwerze Essbase. Ten plik (EssbaseSecurityAuditLogPolicy.xml) znajduje się w ścieżce określonej w fazie konfigurowania wdrożenia w celu składowania konfiguracji Essbase (<Ścieżka konfiguracji Essbase>, która określa także lokalizację pliku essbase.cfg).

    Utworzony plik domyślnych zasad ma następującą zawartość:
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>CSV</audit_sink_type>
             <max-file-size>50000000</max-file-size>
             <roll-nos>100</roll-nos>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
    
    CSV to domyślny typ ujścia danych inspekcji. Aby w przypadku użycia domyślnego typu ujścia danych inspekcji (CSV) sprawdzić, czy szczegóły inspekcji są zapisywane w pliku CSV dziennika inspekcji zabezpieczeń, należy:
    1. Wykonać czynność stanowiącą zdarzenie podlegające inspekcji, taką jak utworzenie aplikacji. Można wybrać dowolną czynność wymienioną w sekcji <audit_events_to_capture> używanych zasad.
    2. Połączyć się za pomocą protokołu SSH z serwerem Essbase.
    3. Przejść do katalogu <DOMAIN_HOME>/servers/serverName/logs/essbase/. Informacje na temat lokalizacji katalogu <DOMAIN_HOME> można znaleźć w temacie Environment Locations in the Essbase Platform.
    4. Otworzyć i przejrzeć plik SecurityAuditLog_n.csv.

      Przykład pliku dziennika inspekcji zabezpieczeń w formacie CSV:
      Plik inspekcji zabezpieczeń w formacie CSV.

  3. Aby przesyłać strumieniowo ślad inspekcji zabezpieczeń do zewnętrznej bazy danych, należy:

    1. Utworzyć połączenie ze źródłem zewnętrznym. Zob. Tworzenie globalnego połączenia i źródła danych lub Tworzenie połączenia i źródła danych na poziomie aplikacji.
    2. Edytować plik zasad w celu zmiany ujścia danych inspekcji na DATABASE.
    3. Dodać parametr <db_connection_name> w obrębie parametru <audit_sink>. Wartością parametru <db_connection_name> musi być dokładna nazwa połączenia utworzonego w podpunkcie a powyżej.
    Przykład zasad dotyczących inspekcji, które edytowano w celu strumieniowego przesyłania śladu inspekcji zabezpieczeń do bazy danych Oracle:
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>DATABASE</audit_sink_type>
               <db_connection_name>OraclePDB</db_connection_name>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
  4. Sprawdzić, czy szczegóły inspekcji są przesyłane strumieniowo do bazy danych.

    1. Wykonać czynność stanowiącą zdarzenie podlegające inspekcji, taką jak utworzenie aplikacji. Można wybrać dowolną czynność wymienioną w sekcji <audit_events_to_capture> używanych zasad.

      Oprogramowanie Essbase powinno utworzyć tabelę inspekcji o nazwie ESSBASE_SECURITY_AUDIT_EVENT_LOG w schemacie zewnętrznej bazy danych.

    2. Zalogować się do zewnętrznego systemu RDBMS i uruchomić zapytanie, aby sprawdzić, czy ta tabela istnieje. Na przykład można zalogować się do SQL Developer i uruchomić zapytanie
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Użyć narzędzia do wizualizacji danych, aby wyświetlić i przeanalizować rekordy inspekcji zabezpieczeń. Można użyć narzędzia Smart View lub Oracle Data Desktop (dostępne w ramach licencji Oracle Technology Network) albo narzędzi do wizualizacji typu open source od dostawcy oprogramowania typu open source lub dostawcy bazy danych innej niż Oracle.

Plik założenia systemowego dot. inspekcji — informacje podstawowe

Założenie systemowe dot. inspekcji jest definiowane w pliku XML, który można edytować, aby je dostosować do swoich potrzeb. W tym pliku można określić, które zdarzenia serwera Essbase mają być śledzone, a także to, czy dane mają być zapisywane w dzienniku inspekcji zabezpieczeń czy przesyłane strumieniowo do zewnętrznej bazy danych. Jeśli dane będą zapisywane w dzienniku inspekcji, można określić maksymalny rozmiar pliku oraz liczbę plików dziennika inspekcji zabezpieczeń, które mają być przechowywane.

Essbase tworzy plik EssbaseSecurityAuditLogPolicy.xml, gdy po włączeniu inspekcji zabezpieczeń nastąpi zrestartowanie Essbase. Plik ten można edytować w celu dostosowania założenia systemowego dot. inspekcji. Ten plik znajduje się w ścieżce, która została określona przez użytkownika w fazie konfigurowania wdrożenia w celu składowania konfiguracji Essbase (<Ścieżka konfiguracji Essbase>, w której znajduje się także plik essbase.cfg). Jeśli nie wiadomo, gdzie w używanym środowisku znajduje się ta lokalizacja, należy zapoznać się z wyjaśnieniami w temacie Environment Locations in the Essbase Platform .

Aby edytować plik założenia systemowego dot. inspekcji, należy:
  1. Przejść do pliku EssbaseSecurityAuditLogPolicy.xml. Plik ten znajduje się w katalogu aplikacji określonym w fazie konfiguracji wdrożenia Essbase.

  2. Otworzyć plik w edytorze tekstu.

  3. Dokonać edycji ujścia danych inspekcji, szczegółów rejestrowania w dzienniku, a także zdarzeń, które mają być śledzone.

    1. Opcjonalnie można dodać parametr <audit_sink_type>DATABASE</audit_sink_type>, jeśli dane mają być przesyłane strumieniowo do zewnętrznej bazy danych.

    2. Jeśli w kroku a jako typ ujścia danych inspekcji wybrano DATABASE, należy w następnym wierszu dodać ciąg <db_connection_name>ConnectionName</db_connection_name> zawierający nazwę połączenia z bazą danych zdefiniowanego w części Proces Workflow służący do włączania inspekcji zabezpieczeń serwera Essbase.

    3. Jeśli dane są zapisywane w pliku dziennika inspekcji, opcjonalnie można zmienić maksymalny rozmiar pliku, używając parametru <max-file-size>n</max-file-size>, gdzie n = liczba bajtów. Domyślnie: 50000000 bajtów.

    4. Jeśli dane są zapisywane w pliku dziennika inspekcji, określić liczbę plików dziennika inspekcji zabezpieczeń w formacie CSV, które mają być zapisywane. Służy do tego parametr <roll-nos>n</roll-nos>, gdzie n = liczba plików.

    5. Określić, które zdarzenia inspekcji mają być rejestrowane, używając ustawienia <audit_events_to_capture>lista_zdarzeń</audit_events_to_capture>.

Zdarzenia wskazane w pliku zasad dotyczących inspekcji są śledzone w pliku dziennika inspekcji zabezpieczeń lub przesyłane strumieniowo do zewnętrznej bazy danych.

Można określić, które z następujących zdarzeń mają być rejestrowane w pliku założenia systemowego dot. inspekcji:

Zdarzenie Opis
LOGIN Użytkownik [x] został pomyślnie zalogowany.
LOGIN_AS Użytkownik [x] został zalogowany jako [y].
LOGOUT Użytkownik [x] został wylogowany.
LOGIN_FAIL Nie udało się zalogować użytkownika [x]
SERVICE_ROLE_ASSIGN Przypisano rolę [x] poziomu usługi Essbase do [y]
SERVICE_ROLE_REVOKE Anulowano przypisanie roli [x] poziomu usługi Essbase do [y]
APPLICATION_ROLE_ASSIGN Użytkownika/grupę [x] przypisano do roli [y] w aplikacji [z].
APPLICATION_ROLE_REVOKE Użytkownika/grupę [x] wycofano z roli [y] w aplikacji [z].
ARTIFACT_CREATE Utworzono artefakt [x] typu [y]
ARTIFACT_UPLOADED Wywołano żądanie wysłania artefaktów dla aplikacji [a], bazy danych [b], nazwy obiektu [c] i typu obiektu [d]
ARTIFACT_MODIFIED Zmodyfikowano artefakt [x] typu [y]
ARTIFACT_DELETED Usunięto artefakt [x] typu [y]
ARTIFACT_RENAMED Zmieniono nazwę artefaktu [x] typu [y] na [z]
APPLICATION_DELETED Usunięto aplikację [x]
APPLICATION_CREATE Utworzono aplikację [x]
APPLICATION_RENAMED Zmieniono nazwę artefaktu [x] na [y]
DATABASE_DELETED Usunięto bazę danych [x] z aplikacji [y]
DATABASE_CREATE Utworzono bazę danych [x] w aplikacji [y]
DATABASE_RENAMED Zmieniono nazwę bazy danych [x] na [y] w aplikacji [z]
LCM_EXPORT_START Uruchomiono zlecenie eksportu LCM z użyciem nazwy pliku [x]
LCM_EXPORT_END Ukończono zlecenie eksportu LCM z użyciem nazwy pliku [x]; status zlecenia: [y]
LCM_IMPORT_START Uruchomiono import LCM dla aplikacji [x] z użyciem nazwy pliku [y]
LCM_IMPORT_END Ukończono import LCM dla aplikacji [x] z użyciem nazwy pliku [y]
LCM_IMPORT_FAIL Niepowodzenie importu LCM dla aplikacji [x] z użyciem nazwy pliku [y]
DATA_LOAD_MAXL Instrukcja MaxL importu danych została uruchomiona dla aplikacji [a] i bazy danych [y] przez użytkownika [z]
EXECUTE_MAXL Instrukcja MaxL [x] uruchomiona przez użytkownika [y]
LOAD_DATA_JOB_START Uruchomiono zlecenie ładowania danych przy użyciu pliku danych [x] i pliku reguł [y]
LOAD_DATA_JOB_END Zlecenie ładowania danych pliku danych [x] i pliku reguł [y] ukończono ze statusem [z]
LOAD_DATA_JOB_FAILED Niepowodzenie zlecenia ładowania danych; powód: [x]
DELETE_SESSION Usunięto sesję [x]

Zdarzenia inspekcji zabezpieczeń

Zdarzenia inspekcji zabezpieczeń są - w zależności od wskazania w pliku zasad dot. inspekcji - śledzone w pliku dziennika inspekcji zabezpieczeń albo są przesyłane strumieniowo do zewnętrznej bazy danych.

Instrukcje otwierania dziennika inspekcji zabezpieczeń lub tabeli inspekcji w schemacie zewnętrznej bazy danych można znaleźć w sekcji Proces Workflow służący do włączania inspekcji zabezpieczeń serwera Essbase.

Dziennik inspekcji zabezpieczeń oraz tabela inspekcji zawierają następujące informacje (jeśli dotyczy) o każdym ze zdarzeń:
  • Czas — data i godzina wystąpienia zdarzenia
  • Klient — adres IP lub nazwa hosta klienta
  • Nazwa użytkownika — nazwa użytkownika inicjującego czynność
  • ID sesji — ID sesji Essbase
  • Typ zdarzenia - typ zdarzenia
  • Typ artefaktu - typ artefaktu uczestniczącego w zdarzeniu
    Przykłady typów artefaktów:
    • plik partycji dla typu zdarzenia ARTIFACT_UPLOADED
    • aplikacja dla typu zdarzenia LCM_EXPORT_START
    • użytkownik dla typu zdarzenia APPLICATION_ROLE_ASSIGN
  • Nazwa artefaktu - nazwa artefaktu uczestniczącego w zdarzeniu; na przykład nazwa pliku, nazwa użytkownika lub nazwa aplikacji
  • Dodatkowe informacje - dodatkowe informacje związane ze zdarzeniem
  • Opis - opis zdarzenia

    Zawartość pola "Opis" jest lokalizowana.

  • ID - 128-bitowy uniwersalny unikatowy identyfikator opisujący zdarzenie.

    Przykład: 123e4567-e89b-12d3-a456-426614174000

  • Czas trwania - czas trwania zdarzenia w milisekundach
  • Nazwa aplikacji - nazwa aplikacji
  • Nazwa bazy danych - nazwa bazy danych
  • Status - powodzenie lub niepowodzenie