Plug-in di sicurezza
L'autenticazione per il sistema di database Db2® viene effettuata utilizzando plug-in di sicurezza. Un plug-in di sicurezza è una libreria dinamicamente loadable che fornisce servizi di sicurezza di autenticazione.
- Plug-in di richiamo del gruppo
- Richiama le informazioni di appartenenza del gruppo per un determinato utente.
- Plug-in di autenticazione ID/password utente
- I seguenti tipi di autenticazione sono implementati utilizzando un plugin di autenticazione con ID utente e password:
- CLIENT
- SERVER
- SERVER_ENCRYPT
- DATA_ENCRYPT
- DATA_ENCRYPT_CMP
Questi tipi di autenticazione determinano come e dove si verifica l'autenticazione di un utente. Il tipo di autenticazione utilizzato è determinato dal seguente metodo:
- Per le operazioni di connessione o di collegamento, se si specifica un valore per il parametro di configurazione srvcon_auth , tale valore ha la precedenza sul valore del parametro di configurazione authentication .
- In tutti gli altri casi, viene utilizzato il valore del parametro di configurazione authentication .
- Plug-in di autenticazione GSS-API
- GSS-API è formalmente conosciuta come Generic Security Service Application Program Interface, Versione 2 (IETF RFC2743) e Generic Security Service API Versione 2: C-Bind (IETF RFC2744). Il protocollo Kerberos è il mezzo predominante per implementare il meccanismo di autenticazione GSS-API. I seguenti tipi di autenticazione sono implementati utilizzando plug-in di autenticazione GSS-API:
- KERBEROS
- GSSPLUGIN
- KRB_SERVER_ENCRYPT
- GSS_SERVER_ENCRYPT
KRB_SERVER_ENCRYPT e GSS_SERVER_ENCRYPT supportano sia l'autenticazione GSS-API che l'autenticazione ID/password dell'utente. Tuttavia, l'autenticazione GSS - API è il tipo di autenticazione preferito. Il supporto Kerberos lato client è disponibile sui sistemi operativi AIX®, Windows e Linux® . Per i sistemi operativi Windows, il supporto Kerberos è abilitato per impostazione predefinita.
È possibile utilizzare ciascuno dei plugin in modo indipendente o con gli altri plug - in. Ad esempio, si potrebbe utilizzare un plug-in di autenticazione lato - side specifico, ma accettare i valori predefiniti Db2 per l'autenticazione client e di gruppo. In alternativa, potresti avere solo un richiamo di gruppo, o un plug-in di autenticazione client, ma senza un plugin lato server.
Se si desidera utilizzare l'autenticazione GSS - API, i plugin sono richiesti sia sul client che sul server.
Il comportamento predefinito per l'autenticazione è quello di utilizzare un plugin ID/password utente che implementa un meccanismo di livello operativo per autenticarsi.
Il prodotto database Db2 include plug-in per il richiamo del gruppo, l'autenticazione ID/password dell'utente e l'autenticazione GSS - API. È possibile personalizzare il comportamento di autenticazione Db2 e il funzionamento dell'autenticazione server ulteriormente sviluppando i propri plugin o acquistando plug-in da un terzo.
Distribuzione dei plug-in di sicurezza sui client Db2
I client Db2 possono supportare un plug-in di richiamo del gruppo e un plugin di autenticazione ID/password utente.

Distribuzione dei plug-in di sicurezza sui server Db2
I server Db2 possono supportare un plugin di richiamo del gruppo, un plug-in di autenticazione ID/password dell'utente e più plug-in GSS-API. È possibile specificare i plugin GSS - API disponibili come un elenco di valori per il parametro di configurazione del gestore database srvcon_gssplugin_list . Tuttavia, solo un plug-in GSS-API in questo elenco può essere un plug-in Kerberos .
Oltre a distribuire i plug-in di sicurezza lato server sul proprio server di database, potrebbe essere necessario distribuire i plug-in di autenticazione client sul proprio server di database. Quando si eseguono operazioni a livello dell'istanza, come i comandi db2start e db2trc , il gestore database Db2 esegue il controllo dell'autorizzazione per queste operazioni utilizzando i plugin di autenticazione client. Pertanto, potrebbe essere necessario installare il plug-in di autenticazione client che corrisponde al plug-in di autenticazione sul server. Questo nome plug-in viene specificato dal parametro di configurazione del gestore database authentication sul server.
È possibile impostare i parametri di configurazione authentication e srvcon_auth su valori differenti. Questo scenario provoca un meccanismo da utilizzare per autenticare le connessioni del database e l'altro meccanismo da utilizzare per l'autorizzazione locale.
- Impostare il parametro di configurazione srvcon_auth su GSSPLUGIN; e
- Impostare il parametro di configurazione authentication su SERVER.
Se non si utilizzano i plugin di autenticazione client sul server di database, le operazioni a livello di istanza, come il comando db2start , hanno esito negativo.

Abilitazione dei plugin di sicurezza
| Descrizione | Nome parametro |
|---|---|
| Client Userid - Plugin password | CLNT_PW_PLUGIN |
| Plugin Client Kerberos | CLNT_KRB_PLUGIN |
| Plugin Gruppo | GRUPPO_PLUGIN |
| GSS Plugin per Autorizzazione locale | PLUGIN_GSS_LOCALE |
| Modalità Plugin Server | SRV_PLUGIN_MODE |
| Elenco server dei Plugins GSS | SRVCON_GSSPLUGIN_LIST |
| Userid server - Plugin password | SRVCON_PW_PLUGIN |
| Autenticazione connessione server | SRVCON_AUTH |
| Autenticazione del Database manager | AUTENTICAZIONE |
Se non si impostano i valori per questi parametri, i plug-in predefiniti forniti dal prodotto Db2 vengono utilizzati per il richiamo del gruppo, la gestione di ID utente / password, e Kerberos (se il parametro authenticationè impostato su KERBEROS sul server). Tuttavia, non viene fornito un plug-in GSS-API predefinito. Pertanto, se specifichi un tipo di autenticazione GSSPLUGIN per il parametro authentication , devi specificare anche un plug-in di autenticazione GSS - API per il parametro di configurazione srvcon_gssplugin_list .
Caricamento dei plugin di sicurezza
Tutti i plugin supportati che vengono identificati dai parametri di configurazione del Database manager vengono caricati quando inizia il Database manager.
Durante le operazioni di collegamento o di collegamento, il client Db2 carica un plugin appropriato per il meccanismo di sicurezza che il client ha negoziato con il server. Un'applicazione client può causare il caricamento e l'utilizzo di più plug-in di sicurezza. Questa situazione può verificarsi, ad esempio, in un programma filettato che ha connessioni simultane a diverse banche dati provenienti da diverse istanze. In questo scenario, il programma client effettua una connessione iniziale al server A che utilizza un plug-in GSS-API (G1). Server A invia un elenco di plugin supportati al client e il plug-in G1 corrispondente viene caricato sul client. Il programma client ha quindi un altro thread, che si connette al server B che utilizza un plug-in GSS-API (G2). Il client viene informato su G2, che viene poi caricato e ora entrambi i plugin G1 e G2 sono contemporaneamente in uso sul client.
- Se si imposta il parametro di configurazione authentication su GSSPLUGIN, il gestore database Db2 utilizza il plug-in specificato dal parametro di configurazione local_gssplugin .
- Se si imposta il parametro di configurazione authentication su KERBEROS, il gestore database Db2 utilizza il plugin specificato dal parametro di configurazione clnt_krb_plugin .
- In alternativa, il gestore database Db2 utilizza il plugin specificato dal parametro di configurazione clnt_pw_plugin .
I plug-in di sicurezza sono supportati per le connessioni effettuate al server di database su entrambi i protocolli di indirizzo IPv4 e IPv6 .
Sviluppo plug-in di sicurezza
Se si sta sviluppando un plug-in di autenticazione di sicurezza, è necessario implementare le funzioni di autenticazione standard utilizzate dal Database manager Db2 . La funzionalità che devi implementare per i tre tipi di plug - in:
- Plug-in di richiamo del gruppo
- Trova e restituisce l'elenco dei gruppi a cui appartiene un utente
- Plug-in di autenticazione ID/password utente
- Identificare il contesto di sicurezza predefinito (solo per un plugin client)
- Convalidare e, opzionalmente, modificare una password
- Stabilire se una determinata stringa rappresenta un utente valido (solo per un plugin server)
- Modificare l'ID utente o la password che viene fornito sul client prima che venga inviato al server (solo per un plugin client)
- Restituire l'ID di autorizzazione Db2 che è associato a un determinato utente
- Plug-in di autenticazione GSS-API
- Identificare il contesto di sicurezza predefinito (solo per un plugin client)
- Implementare le funzioni GSS-API richieste
- Generare credenziali iniziali in base a un ID utente e password e, facoltativamente, modificare una password (solo per un plugin client)
- Crea e accetta i biglietti di sicurezza
- Restituire l'ID di autorizzazione Db2 che è associato ad un particolare contesto di sicurezza GSS - API