Uscita di sicurezza lato client per inserire ID utente e password ( mqccred )

Se si dispone di applicazioni client richieste per inviare un ID utente o una password ma non è ancora possibile modificare l'origine, esiste un'uscita di sicurezza fornita con IBM® MQ 8.0 denominata mqccred che è possibile utilizzare. mqccred fornisce un ID utente e una password per conto dell'applicazione client, da un file .ini . Questi ID utente e password vengono inviati al gestore code che, se configurato per eseguire tale operazione, li autenticherà.

Panoramica

mqccred è un'uscita di sicurezza che viene eseguita sulla stessa macchina dell'applicazione client. Consente di fornire informazioni su ID utente e password per conto dell'applicazione client, laddove tali informazioni non vengono fornite dall'applicazione stessa. Le informazioni sull'ID utente e sulla password vengono fornite in una struttura nota come Parametri di sicurezza della connessione (MQCSP) e verranno autenticate dal gestore code se è configurata l' autenticazione della connessione .

Le informazioni su ID utente e password vengono richiamate da un file .ini sulla macchina client. Le password nel file sono protette da offuscamento utilizzando il comando runmqccred e anche assicurando che le autorizzazioni file sul file .ini siano impostate in modo tale che solo l'ID utente che esegue l'applicazione client (e quindi l'exit) sia in grado di leggerlo.

Ubicazione

mqccred è installato:
Windows piattaforme
Nella directory installation_directory\Tools\c\Samples\mqccred\
AIX® and Linux® piattaforme
Nella directory installation_directory/samp/mqccred
Note: l'exit:
  1. Agisce esclusivamente come un'uscita del canale di sicurezza e deve essere l'unica uscita di questo genere definita su un canale.
  2. Generalmente viene denominato mediante la CCDT (Client Channel Definition Table), ma un client Java può avere l'uscita menzionata direttamente negli oggetti JNDI oppure l'uscita potrebbe essere configurata per le applicazioni che creano manualmente la struttura MQCD .
  3. È necessario copiare i programmi mqccred e mqccred_r nella directory var/mqm/exits .
    Ad esempio, su un sistema a 64 bit AIX o Linux , immettere il comando:
    cp installation_directory/samp/mqccred/lib64/* /var/mqm/exits

    Per ulteriori informazioni, consultare Un esempio passo per passo di come verificare mqccred .

  4. È in grado di eseguire versioni precedenti di IBM MQ, fino a IBM WebSphere® MQ 7.0.1.

Impostazione di ID utente e password

Il file .ini contiene le stanze per ogni gestore code, con un'impostazione globale per i gestori code non specificati. Ogni stanza contiene il nome del gestore code, un ID utente e una password in testo semplice o offuscata.

È necessario modificare il file .ini manualmente, utilizzando l'editor desiderato e aggiungere l'attributo password in testo semplice alle stanze. Eseguire il programma runmqccred fornito, che acquisisce il file .ini e sostituisce l'attributo Password con l'attributo OPW , un formato offuscato della password.

Consultare runmqccred per una descrizione del comando e dei relativi parametri.

Il file mqccred.ini contiene le informazioni relative all'ID utente e alla password.

Un file modello .ini viene fornito nella stessa directory dell'uscita per fornire un punto iniziale per la propria azienda.

Per impostazione predefinita, questo file verrà ricercato in $HOME/.mqs/mqccred.ini. Se si desidera individuarlo altrove, è possibile utilizzare la variabile di ambiente MQCCRED per puntare ad esso:
MQCCRED=C:\mydir\mqccred.ini

Se si utilizza MQCCRED, la variabile deve includere il nome completo del file di configurazione, incluso qualsiasi tipo di file .ini . Poiché questo file contiene password (anche se offuscate), si prevede di proteggere il file utilizzando i privilegi del sistema operativo per garantire che le persone non autorizzate non possano leggerlo. Se non si dispone dell'autorizzazione file corretta, l'uscita non verrà eseguita correttamente.

Se l'applicazione ha già fornito una struttura MQCSP , l'uscita normalmente lo rispetta e non inserirà alcuna informazione dal file .ini . Tuttavia, è possibile sovrascriverlo utilizzando l'attributo Force nella sezione.

L'impostazione di Force sul valore TRUE elimina l'ID utente e password forniti dall'applicazione e sostituisce quelli con la versione del file ini.

È inoltre possibile impostare l'attributo Force nella sezione globale del file per impostare il valore predefinito di tale file.

Il valore predefinito per Force è FALSE.

È possibile fornire un ID utente e una password per tutti i gestori code o per ogni singolo gestore code. Questo è un esempio di file mqccred.ini :

# comments are permitted
AllQueueManagers:
User=abc
OPW=%^&aervrgtsr

QueueManager:
Name=QMA
User=user1
OPW=H&^dbgfh

Force=TRUE

QueueManager:
Name=QMB
User=user2
password=passw0rd
Note:
  1. Le singole definizioni del gestore code hanno la precedenza sull'impostazione globale.
  2. Gli attributi non sono sensibili al maiuscolo / minuscolo.

Vincoli

Quando questa uscita è in uso, l'ID utente locale della persona che esegue l'applicazione non passa dal client al server. Le uniche informazioni di identità disponibili provengono dal contenuto del file ini.

Pertanto, è necessario configurare il gestore code in modo da utilizzare ADOPTCTX(YES)o associare la richiesta di connessione in entrata a un ID utente appropriato tramite uno dei meccanismi disponibili, ad esempio, Record di autenticazione di canale.

Importante: se si aggiungono nuove password o si aggiornano quelle vecchie, il comando runmqccred elabora solo le password di testo semplice, lasciando inalterate quelle offuscate.

Debug

L'uscita scrive nella traccia IBM MQ standard quando questa è abilitata.

Per facilitare il debug dei problemi di configurazione, l'uscita può anche scrivere direttamente in stdout.

Nessun dato di uscita di sicurezza del canale ( SCYDATA ) La configurazione è normalmente richiesta per il canale. Tuttavia, è possibile specificare:
ERRORE
Stampare solo le informazioni sulle condizioni di errore, come ad esempio non essere in grado di individuare il file di configurazione.
DEBUG
Visualizza queste condizioni di errore e alcune ulteriori istruzioni di traccia.
NOCHECK
Ignora i vincoli sulle autorizzazioni file e l'ulteriore vincolo in base al quale il file .ini non deve contenere password non protette.

È possibile inserire uno o più di questi elementi nel campo SCYDATA , separati da virgole, in qualsiasi ordine. Ad esempio, SCYDATA=(NOCHECKS,DEBUG).

Notare che gli elementi sono sensibili al maiuscolo / maiuscolo e devono essere immessi in maiuscolo.

Utilizzo di mqccred

Una volta impostato il file, è possibile richiamare l'exit del canale aggiornando la definizione del canale di connessione client per includere l'attributo SCYEXIT('mqccred(ChlExit)') :
DEFINE CHANNEL(channelname) CHLTYPE(clntconn) +
CONNAME(remote machine) +
QMNAME(remote qmgr) +
SCYEXIT('mqccred(ChlExit)') +
REPLACE