Nota

Utilizzare Oracle SQL Firewall con Oracle Data Safe

Introduzione

Oracle SQL Firewall fornisce protezione in tempo reale contro gli attacchi comuni ai database limitando l'accesso al database solo alle istruzioni o alle connessioni SQL autorizzate per un utente designato.

La console unificata Oracle Data Safe è stata estesa per gestire e monitorare i database Oracle SQL Firewall per Oracle Database 23ai. Gli amministratori possono utilizzare Oracle Data Safe per raccogliere le attività SQL degli account di database, monitorare lo stato di avanzamento della raccolta, creare criteri SQL Firewall con regole di lista di consenso (contesti consentiti e istruzioni SQL consentite) dalle attività SQL raccolte e abilitare i criteri SQL Firewall.

Architettura di Oracle Data Safe

Quando un criterio firewall è abilitato, Oracle Data Safe raccoglie automaticamente i log delle violazioni del firewall dal database e li memorizza in Oracle Data Safe. Questi log sono quindi disponibili per l'analisi e il reporting online nella flotta di database.

Destinatari

Amministratori del database e amministratori della sicurezza di Oracle Cloud Infrastructure (OCI).

Obiettivo

Comprendere come utilizzare Oracle SQL Firewall con Oracle Data Safe con un caso d'uso semplice.

Caso d'uso: autorizzare l'istruzione SQL "Select on View" e bloccare qualsiasi altra istruzione SQL per l'utente designato APP_USER.

Prerequisiti

Nota: ignorare il task 1 se si dispone già dell'istanza di Oracle Database 23ai.

Task 1: creare l'istanza di computazione Oracle Database 23ai

  1. Andare a OCI Console, andare a Computazione, Istanze, quindi fare clic su Crea istanza. Immettere i dettagli riportati di seguito per creare un'istanza.

    Database

  2. Crea il database Oracle Database 23ai. Connettersi all'istanza di computazione utilizzando il comando riportato di seguito.

    ssh -i <private-ssh-key> opc@<publicip-computeinstance>
    
  3. Passare all'utente root e aggiornare il sistema con il software più recente quando si lavora su una VM.

    sudo su
    yum update
    
  4. Abilita il repository per sviluppatori Oracle Linux 8.

    yum config-manager --set-enabled ol8_developer
    
  5. Scarica Oracle Database 23ai Free RPM e installalo come root.

    yum -y install oracle-database-preinstall-23c
    
  6. Per eseguire un'installazione basata su RPM, scaricare il file oracle-database-free-23c-1.0-1.el8.x86_64.rpm.

    wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23c-1.0-1.el8.x86_64.rpm
    
  7. Installare Oracle Database eseguendo il comando seguente.

    yum -y install oracle-database-free-23c-1.0-1.el8.x86_64.rpm
    
  8. Configura Oracle Database 23ai. Lo script di configurazione imposta un container database (FREE) che include un pluggable database FREEPDB1 e prepara il listener alla porta predefinita 1521. Eseguire lo script di configurazione del servizio.

    /etc/init.d/oracle-free-23c configure
    
  9. Impostare le variabili di ambiente su bash_profile con le impostazioni riportate di seguito.

    #Oracle Database environment variables
    export ORACLE_SID=FREE
    export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree
    export ORAENV_ASK=NO
    export PATH=$ORACLE_HOME/bin:$PATH
    
  10. Eseguire il comando seguente affinché il database venga avviato automaticamente all'avvio dell'istanza.

    systemctl enable oracle-free-23c
    
  11. Controllare se il firewall Linux è abilitato. Per disabilitarlo, utilizzare i comandi seguenti.

    systemctl status firewalld
    systemctl stop firewalld
    systemctl disable firewalld
    

Task 2: abilitare lo stato del firewall SQL nel database di destinazione tramite Oracle Data Safe

  1. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Database Oracle, Data Safe, Centro sicurezza e Firewall SQL.

    Naviga in Oracle Data Safe

  2. Per impostazione predefinita, SQL Firewall verrà disabilitato in un nuovo database di destinazione 23ai. Fare clic sul database e abilitarlo.

    Abilita Oracle SQL Firewall

Task 3: Creare utenti e oggetti di esempio

  1. Connettersi al database FREEPDB1 con Oracle SQL Developer da parte dell'utente sys come sysdba.

    Connetti il database

  2. Creare gli utenti e gli oggetti di esempio.

    -- APP_OWNER who is the owner of the tables and views of the application
    -- APP_USER who needs to access to the application
    
    Create user app_owner identified by QAZxswedc123##;
    Grant connect, resource, unlimited tablespace to app_owner;
    Create user app_user identified by QAZxswedc123##;
    Grant connect, resource, select any table to app_user;
    
    -- Sample table created in appuser_test schema
    CREATE TABLE "APP_OWNER"."DEMO_EMPLOYEES"
       (    "USERID" NUMBER(4,0),
       "FIRSTNAME" VARCHAR2(25 BYTE),
       "LASTNAME" VARCHAR2(35 BYTE),
       "EMAIL" VARCHAR2(35 BYTE)
       ) ;
    
    Insert into APP_OWNER.DEMO_EMPLOYEES (USERID,FIRSTNAME,LASTNAME,EMAIL) values (73,'Craig','Hunt','Craig.Hunt@oracledemo.com');
    Insert into APP_OWNER.DEMO_EMPLOYEES (USERID,FIRSTNAME,LASTNAME,EMAIL) values (74,'Fred','Stewart','Fred.Stewart@oracledemo.com');
    Insert into APP_OWNER.DEMO_EMPLOYEES (USERID,FIRSTNAME,LASTNAME,EMAIL) values (75,'Julie','Reed','Julie.Reed@oracledemo.com');
    Insert into APP_OWNER.DEMO_EMPLOYEES (USERID,FIRSTNAME,LASTNAME,EMAIL) values (76,'Ruby','James','Ruby.James@oracledemo.com');
    Insert into APP_OWNER.DEMO_EMPLOYEES (USERID,FIRSTNAME,LASTNAME,EMAIL) values (77,'Alice','Harper','Alice.Harper@oracledemo.com');
    Commit;
    
    Create view APP_OWNER.DEMO_EMPLOYEES_VIEW as select * from APP_OWNER.DEMO_EMPLOYEES;
    

    Crea utenti e oggetti

Task 4: creazione e avvio di una collection SQL

  1. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, Dettagli configurazione e fare clic su Crea e avvia raccolta SQL.

    Avvia collection SQL

  2. Immettere l'utente del database come APP_USER e abilitare il livello di raccolta SQL con User issued SQL commands, quindi fare clic su Crea e avvia raccolta SQL.

    Scegliere l'utente del database

    La richiesta di lavoro CREATE SQL COLLECTION inizierà a raccogliere le istruzioni SQL.

    Richiesta di lavoro

Task 5: Esegui istruzione SQL autorizzata

  1. Connettersi a APP_USER@FREEPDB1 con Oracle SQL Developer.

    Connetti al database

  2. Eseguire l'istruzione SQL autorizzata.

    select * from APP_OWNER.DEMO_EMPLOYEES_VIEW;
    

    Esegui istruzioni SQL

  3. È possibile visualizzare gli approfondimenti sulla raccolta SQL dalla console di Oracle Data Safe. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, Dettagli configurazione, Dettagli raccolta SQL e Insight raccolta SQL.

    Visualizza approfondimenti

Task 6: Arrestare la raccolta SQL

  1. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, Dettagli configurazione, Dettagli raccolta SQL e STOP.

    Arresta collection SQL

Task 7: Genera criterio firewall

  1. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, Dettagli configurazione, Dettagli raccolta SQL e Genera criterio firewall.

    Genera criterio firewall

    È possibile visualizzare le istruzioni SQL uniche consentite e il criterio è in stato INACTIVE.

    Criterio inattivo

Task 8: Distribuzione e applicazione del criterio

  1. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, dettagli della configurazione, dettagli della raccolta SQL, dettagli dei criteri firewall e Distribuisci e applica.

    Applica criterio

  2. Selezionare i dettagli riportati di seguito e fare clic su Distribuisci e applica.

    • Ambito di applicazione: All
    • Azione sulle violazioni: Block and log violations
    • Audit per le violazioni: On

    Seleziona applicazione criterio

    Lo stato del criterio è ACTIVE.

    Criterio attivo

Task 9: eseguire il test di Oracle SQL Firewall

  1. Connettersi come APP_USER@FREEPDB1 con Oracle SQL Developer.

    select * from APP_OWNER.DEMO_EMPLOYEES_VIEW;
    select * from APP_OWNER.DEMO_EMPLOYEES;
    

    Connetti DB

  2. È possibile osservare la violazione di Oracle SQL Firewall per la seconda query che non si trova nella raccolta SQL.

    Convalida query

Task 10: verificare il dashboard e i report sulle violazioni di Oracle SQL Firewall

  1. È possibile visualizzare il dashboard Oracle SQL Firewall per la vista flotta delle violazioni e delle raccolte SQL di Oracle SQL Firewall. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, Dettagli configurazione, Dettagli raccolta SQL e Genera criterio firewall.

    Verifica report

  2. Possiamo vedere il riepilogo delle violazioni. Nell'indicatore di percorso nella parte superiore della pagina fare clic su Data Safe, Security Center, SQL Firewall, Report sulle violazioni e Tutte le violazioni.

    Verifica sintetico

Riconoscimenti

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.