Introduzione
Benvenuti! In questo articolo, vi forniremo una guida dettagliata su come abilitare e utilizzare il registro di controllo di gestione in Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7. Il registro di controllo di gestione viene utilizzato per registrare le funzioni di amministrazione e viene creato nella directory $JBOSS_HOME/standalone/data/ $JBOSS_HOME/domain/data/
. Registra tutte le operazioni eseguite utilizzando la console di gestione, l'interfaccia della riga di comando (CLI) o un'applicazione personalizzata che utilizza l'API di gestione, come descritto nella guida alla configurazione di JBoss EAP 7.4. Consultate la documentazione sulla configurazione della sicurezza di JBoss EAP per conoscere i registri di controllo della sicurezza che registrano l'autenticazione con successo e i tentativi falliti.
Differenza tra registro di controllo di gestione e registro di controllo della sicurezza
È importante distinguere tra il registro di controllo di gestione e il registro di controllo della sicurezza. Il registro di controllo della sicurezza (o il registro di controllo di Elytron in WildFly) viene utilizzato per le operazioni di sicurezza. Il registro di controllo di Elytron viene creato in $JBOSS_HOME/standalone/logs
. D'altra parte, il registro di controllo di gestione viene utilizzato per registrare le funzioni di amministrazione ed è creato nella directory $JBOSS_HOME/standalone/data/
.
Come impostare il registro di controllo di gestione
Per abilitare il registro di controllo di gestione, è possibile utilizzare i seguenti comandi JBoss CLI:
/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
/core-service=management/access=audit/logger=audit-log:write-attribute(name=log-boot,value=true)
/core-service=management/access=audit/logger=audit-log:write-attribute(name=log-read-only,value=true)
Per la configurazione del file XML, è possibile utilizzare il seguente formato:
<audit-log>
<formatters>
<json-formatter name="json-formatter"/>
</formatters>
<handlers>
<file-handler name="file" formatter="json-formatter" relative-to="jboss.server.data.dir" path="audit-log.log"/>
</handlers>
<logger log-boot="true" log-read-only="false" enabled="true">
<handlers>
<handler name="file"/>
</handlers>
</logger>
</audit-log>
I registri di controllo sono all'interno del contesto di gestione, essenzialmente all'interno del sottosistema core-management:
<management>
<!--- contesto più ampio -->
<security-realms>
<security-realm name="ManagementRealm">
....
</security-realm>
<security-realm name="ApplicationRealm">
...
</security-realm>
</security-realms>
<audit-log>
<!--- registro di controllo -->
...
</audit-log>
</management>
La configurazione sopra riportata ha le seguenti proprietà: enabled
, log-boot
e log-read-only
. Queste operazioni di registro di controllo vengono definite come segue:
enabled
: se impostato sutrue
, le operazioni di gestione verranno registrate nel registro.log-boot
: utilizzaretrue
per registrare le operazioni di gestione durante l'avvio del server,false
altrimenti.log-read-only
: se abilitato, tutte le operazioni verranno aggiunte al registro di controllo.
Casi d'uso e utilizzo
Il registro di controllo di gestione consente agli utenti di ottenere i registri di controllo, visualizzare l'operazione e il timestamp corrispondente e rispondere di conseguenza. Ecco alcuni esempi di casi d'uso reali:
- Qual è l'utente che ha distribuito e rimosso un'applicazione specifica, qual era il timestamp e su quale host?
- Qualcuno ha disabilitato HTTP/2 (aggiornamento HTTP) in JBoss EAP per errore e ora la comunicazione remota di Enterprise Java Beans (EJB) non funziona: chi è stato e a che ora è successo?
- Quali sono i realm e gli endpoint configurati nel server?
- A che ora è stata modificata una determinata proprietà/sottosistema?
Tuttavia, il registro di controllo di gestione di solito non viene utilizzato per l'ordine esatto di distribuzione (avvio) dei sottosistemi, dato che l'ordine di avvio del sottosistema EAP 7 non è definito, tranne per le dipendenze specifiche; pertanto, non sarebbe utile in quel caso.
Come potete vedere, il registro di controllo di gestione può essere molto utile per diversi scenari, ma può diventare complesso a causa delle operazioni di inizializzazione che avvengono durante l'avvio. È possibile utilizzare strumenti di parsing JSON per catturare gli eventi di sicurezza rilevanti mostrando data/ora, utente e tipo di modifica. È possibile cercare termini rilevanti direttamente nel registro di controllo di gestione o creare script e utilizzare aggregatori di log per semplificare la ricerca di termini necessari.
Conclusioni
In questo articolo, abbiamo fornito una guida dettagliata su come abilitare e utilizzare il registro di controllo di gestione in Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7. Speriamo che queste informazioni vi siano state utili e vi invitiamo a consultare le risorse aggiuntive fornite da Red Hat per ulteriori informazioni. Se avete domande specifiche o avete bisogno di assistenza, vi consigliamo di aprire un caso con il supporto di Red Hat.