09/09/2014
WebSEAL unauthenticated object
Una delle operazioni fondamentali del setup di una nuova istanza WebSEAL consiste nel fare in modo che il prodotto protegga determinati oggetti mediante autenticazione (di vario genere, basic, form authentication o altro) e permetta l’accesso anonimo verso altri.
Apparentemente l’operazione è banale, si creano entità nello spazio oggetti di WebSEAL e si applicano differenti ACL in base alle proprie necessità.
Ad esempio si possono creare due ACL, una (all_view) per l’accesso anonimo e una (all_auth) per l’accesso autenticato (senza distinzioni di gruppi o utenti), ciascuna con i propri parametri di accesso.
Si sfoglia lo spazio oggetti di WebSEAL mediante il comando “object list” e una volta ottenuto il percorso esatto dell’oggetto desiderato (per esempio una transparent junction /wps che espone un portale WebSphere Portal) occorre collegare l’ACL all’oggetto mediante il comando “acl attach <object-name> <acl-name>”.
Con il comando “object show” si può verificare il dettaglio dell’oggetto e le acl ad esso associate (Attached ACL) oppure ereditare da un oggetto padre (Effective ACL).
Durante un nuovo setup però può capitare che l’effetto di questa operazione non sia quello voluto, insomma che le ACL non funzionino a dovere oppure che l’associazione tra l’oggetto e l’ACL non sia efficace.
In realtà questa eventualità è piuttosto remota (almeno io non ho mai osservato un comportamento simile sebbene siano anni che mi trovo a lavorare con questo prodotto IBM), è molto più probabile che vi siate dimenticati di settare un parametro fondamentale nel file di configurazione di WebSEAL.
Nel dettaglio potete osservare che la junction dell’esempio /wps ha valorizzato il parametro “Basic authentication mode” con “supply” (comando “server task <SERVER NAME> show <JUNCTION NAME>”)
Guardacaso nel file di configurazione di WebSEAL (percorso di default su GNU/Linux: /opt/pdweb/etc/webseald-<SERVER NAME>.conf ), sotto stanza “server” è presente il parametro “allow-unauth-ba-supply” che di default è valorizzato in modo tale da non permettere l’accesso anonimo a junction con flag BA attivo.
Una volta modificato il parametro inserendo come valore “yes” e riavviato WebSEAL (pdweb restart) la junction ad accesso anonimo risulterà rispondere correttamente.