IBM Sterling: Configurando o Single Sign-on entre o SSP, SEAS, B2BI e SFG
Neste artigo descrevo com configurar o Single Sign-on (SSO) entre o Sterling Secure Proxy (SSP) , Sterling External Authentication Server (SEAS), Sterling B2BI e Sterling File Gateway (SFG), tornando a vida dos usuários e administradores mais fácil e segura.
O SSP é usado como um Proxy Reverso para o Sterling B2Bi/SFG e outros aplicativos IBM Sterling, permitindo que esses serviços localizados na Intranet possam ser acessados na Internet.
O Sterling External Authentication Server (SEAS) é usado para cria e gerencia tokens SSO, através do protocolo Open SAML. O SSO SAML funciona transferindo a identidade do usuário de um lugar (o provedor de identidade) para outro (o provedor de serviços).
Importante: O SSO é somente suportado para os seguintes protocolos HTTP, Connect:Direct®, FTP, and SFTP.
A seguir estão as passos que ocorrem durante o SSO entre um Trading Partner, SSP e SFG quando o SEAS é usado para gerar e gerenciar tokens:
- O Trading Partner conecta ao SSP e informa as credenciais (usuário e senha).
- O SSP passa as credenciais para o SEAS
- O SEAS autentica o usuário no LDAP
- O LDAP informa ao SEAS se autenticação do usuário foi verdadeira (true) ou não (false).
- Se a autenticação não for bem-sucedida, o SEAS enviará uma resposta negativa ao SSP e o SSP encerrará a sessão. Se a autenticação for bem-sucedida, SEAS gera e envia o token para SSP em resposta
- O SSP passa o nome de usuário e o token para B2Bi. O B2Bi valida SSO Token SEAS e concede/nega acesso ao SFG/Dashboard e demais funcionalidades.
Procedimento
Configurando o SEAS para o SSO
Os artigos descrevem a instalação e configuração do SEAS que vamos necessitar para o SSO.
- IBM Sterling External Authentication Server (SEAS): Instalação
- IBM Sterling External Authentication Server (SEAS): Configuração para LDAP
Configurando o B2Bi/SFG para o SSO
Copiar os arquivos do SEAS para B2Bi
estou fazendo um scp do diretório <seas_dir>/lib/sterling/sfg-sso-plugin do SEAS Server para o B2Bi server
[siuser@sinode01 ˜] cd /tmp [siuser@sinode01 tmp]$ scp -r [email protected]:/home/seasuser/IBM/SEAS/lib/sterling/sfg-sso-plugin .
Verificando com o comando tree sfg-sso-plugin/
sfg-sso-plugin/ |-- private | |-- hadrian-client.jar | |-- seas-client.jar | `-- seas-sso-impl.jar |-- properties | |-- authentication_policy.properties_seas-auth_ext.in | |-- seas-auth.properties | |-- seas-sso.properties | |-- security.properties_seas-sso_ext.in | |-- servers.properties_seas-auth_ext | `-- servers.properties_seas-sso_ext `-- seas-sso.jar
Configurar B2Bi/SFG para o SEAS
1) Copiar os arquivos de propriedades para o diretório properties do B2Bi/SFG
[siuser@sinode01 ˜] cd cp /tmp/sfg-sso-plugin/properties/security.properties_seas-sso_ext.in /home/siuser/IBM/SI/properties/. cp /tmp/sfg-sso-plugin/properties/authentication_policy.properties_seas-auth_ext.in /home/siuser/IBM/SI/properties/. cp /tmp/sfg-sso-plugin/properties/servers.properties_seas-sso_ext /home/siuser/IBM/SI/properties/. cp /tmp/sfg-sso-plugin/properties/servers.properties_seas-auth_ext /home/siuser/IBM/SI/properties/.
2) Criar o sub-diretório "<B2Bi_install_dir>/jar/seas-sso/1.0/private" e copiar os .jar
mkdir -p /home/siuser/IBM/SI/jar/seas-sso/1.0/private cp -v /tmp/sfg-sso-plugin/private/*.jar /home/siuser/IBM/SI/jar/seas-sso/1.0/private
3) Parar o B2Bi/SFG
cd /home/siuser/IBM/SI/bin ./hardstop.sh
4) No arquivo /home/siuser/IBM/SI/properties/server.properties_seas-sso_ext, descomentar e alterar a variável seas-sso:
seas-sso=<SI_install>/properties/seas-sso/1.0/seas-sso.properties
5) No arquivo /home/siuser/IBM/SI/properties/server.properties_seas-auth_ext, descomentar e alterar a variável seas-auth:
seas-auth=<SI_install>/properties/seas-auth/1.0/seas-auth.properties
6) Executar os comandos install3rdParty.sh para adicionar os .jar ao B2Bi:
cd /home/siuser/IBM/SI/bin ./install3rdParty.sh seas-sso 1.0 -j /tmp/sfg-sso-plugin/seas-sso.jar ./install3rdParty.sh seas-sso 1.0 -p /tmp/sfg-sso-plugin/properties/seas-sso.properties ./install3rdParty.sh seas-auth 1.0 -p /tmp/sfg-sso-plugin/properties/seas-auth.properties
Configurar a conexão ao SEAS no arquivo customer_overrides.properties
Editar o arquivo customer_overrides.properties e adicionar as propriedades abaixo:
################################### # Conexao do B2B para o SEAS ################################### seas-sso.EA_HOST=seas.test.net seas-sso.EA_PORT=61365 seas-sso.EA_SECURE_CONNECTION=false
Onde
Header text | Header text |
---|---|
seas-sso.EA_HOST | Hostname or IP address of SEAS server |
seas-sso.EA_PORT | Port used by SEAS server |
seas-sso.EA_SECURE_CONNECTION=true or false | true sets connections to Sterling External Authentication Server as secure and false sets the connection as clear. |
seas-sso.EA_PS_NAME | perimeter server used to connect to Sterling External Authentication Server |
seas-sso.EA_SYSTEM_CERT | name of the system certificate in the system certificate store. Necessário se seas-sso.EA_SECURE_CONNECTION=true |
seas-sso.EA_TRUSTED_CERT[1] | name of the trusted certificate used for secure connections to SEAS, repeat seas-sso.EA_TRUSTED_CERT[N] for adicional certificates. Necessário se seas-sso.EA_SECURE_CONNECTION=true |
seas-sso.SSO_TOKEN_COOKIE=SSOTOKEN | HTTP cookie containing the SSO token |
seas-sso.SSO_TIMEOUT=30 seas-sso.SSO_TIMEOUT_UNITS=seconds |
Maximum time to wait for making EA connections and receiving responses |
seas-sso.PERSISTENT_EA_CONNECTIONS=true | Whether to keep persistent connections to EA |
seas-sso.MAX_EA_CONNECTIONS=1 | Maximum number of EA connections |
6) Reinicie o B2Bi para que suas mudanças no arquivo customer_overrides.properties tenham efeito sobre o arquivo
cd <si_install_dir>/bin ./run.sh
Configurar o SSO para o MyFilegateway
Editar o arquivo customer_overrides.properties e adicionar as propriedades abaixo:
################################### # SSO with MyFilegateway ################################### security.SSO_FORWARD_URL.MYFILEGATEWAY.LOGOUT=/Signon/logout security.SSO_FORWARD_URL.MYFILEGATEWAY.TIMEOUT=/Signon/timeout security.SSO_FORWARD_URL.MYFILEGATEWAY.VALIDATION_FAILED=/Signon/validationerror security.SSO_FORWARD_URL.FILEGATEWAY.LOGOUT=/Signon/logout security.SSO_FORWARD_URL.FILEGATEWAY.TIMEOUT=/Signon/timeout security.SSO_FORWARD_URL.FILEGATEWAY.VALIDATION_FAILED=/Signon/validationerror security.SSO_FORWARD_URL.AFT.LOGOUT=/Signon/logout security.SSO_FORWARD_URL.AFT.TIMEOUT=/Signon/timeout security.SSO_FORWARD_URL.AFT.VALIDATION_FAILED=/Signon/validationerror
Salve e feche o arquivo
Reinicie o B2Bi para que suas mudanças no arquivo customer_overrides.properties tenham efeito sobre o arquivo
cd <si_install_dir>/bin ./hardstop.sh ./run.sh
(Opcional) Configurar o SSO para o B2Bi Dashboard
Editar o arquivo customer_overrides.properties e adicionar as propriedades abaixo:
################################### # SSO with B2Bi Dashboard ################################### security.SSO_FORWARD_URL.WS.LOGOUT=/Signon/logout security.SSO_FORWARD_URL.DASHBOARD.LOGOUT=/Signon/logout security.SSO_FORWARD_URL.WS.TIMEOUT=/Signon/timeout security.SSO_FORWARD_URL.DASHBOARD.TIMEOUT=/Signon/timeout security.SSO_FORWARD_URL.WS.TIMEOUT=/Signon/timeout security.SSO_FORWARD_URL.DASHBOARD.TIMEOUT=/Signon/timeout
Salve e feche o arquivo
Reinicie o B2Bi para que suas mudanças no arquivo customer_overrides.properties tenham efeito sobre o arquivo
cd <si_install_dir>/bin ./hardstop.sh ./run.sh
(Opcional) Configurar o SSO para o Mailbox (MBI)
Editar o arquivo customer_overrides.properties e adicionar as propriedades abaixo:
################################### # SSO with Mailbox (MBI) ################################### security.SSO_FORWARD_URL.MAILBOX.LOGOUT=\Signon\logout security.SSO_FORWARD_URL.MAILBOX.TIMEOUT=\Signon\timeout security.SSO_FORWARD_URL.MAILBOX.VALIDATION_FAILED=\Signon\validationerror
Salve e feche o arquivo
Reinicie o B2Bi para que suas mudanças no arquivo customer_overrides.properties tenham efeito sobre o arquivo
cd <si_install_dir>/bin ./hardstop.sh ./run.sh
(Opcional) Configurar o SSO para o AFT or MyAFT
Editar o arquivo customer_overrides.properties e adicionar as propriedades abaixo:
################################### # SSO with AFT or MyAFT ################################### security.SSO_FORWARD_URL.AFT.LOGOUT=\Signon\logout security.SSO_FORWARD_URL.AFT.TIMEOUT=\Signon\timeout security.SSO_FORWARD_URL.AFT.VALIDATION_FAILED=\Signon\validationerror security.SSO_FORWARD_URL.MYAFT.LOGOUT=\Signon\logout security.SSO_FORWARD_URL.MYAFT.TIMEOUT=\Signon\timeout security.SSO_FORWARD_URL.MYAFT.VALIDATION_FAILED=\Signon\validationerror
Salve e feche o arquivo
Reinicie o B2Bi para que suas mudanças no arquivo customer_overrides.properties tenham efeito sobre o arquivo
cd <si_install_dir>/bin ./hardstop.sh ./run.sh
(Opcional) Outras URL de destino
Editar o arquivo customer_overrides.properties e adicionar as propriedades abaixo:
################################### # SSO with Unknown source ################################### security.SSO_FORWARD_URL.LOGOUT=\Signon\logout security.SSO_FORWARD_URL.TIMEOUT=\Signon\timeout security.SSO_FORWARD_URL.VALIDATION_FAILED=\Signon\validationerror
Salve e feche o arquivo
Reinicie o B2Bi para que suas mudanças no arquivo customer_overrides.properties tenham efeito sobre o arquivo
cd <si_install_dir>/bin ./hardstop.sh ./run.sh
Configurando o SSP para o SSO
Acessar o Configuration Manager do SSP, no meu caso:
https://spnode01.teste.net:8443/SSPDashboard
Criando uma SSO Configuration
1) Clique no menu Advanced, depois clique no menu Actions > New SSO Configuration
2) Na aba Basic, informe:
Campo | Valor | Descrição |
---|---|---|
Name | sso_myfilegateway | nome da configuração |
Fully Qualified Host Name | spnode01.test.net | hostname do SSP |
3) Na aba Advanced, informe:
Campo | Valor | Descrição |
---|---|---|
Default Landing Page | /myfilegateway | nome da configuração |
SSO Cookie Secure Flag | não selecionar | desmarcar pois não estou utilizando HTTPS |
4) clique em Save.
Criando uma External Authentication Server
1) Clique no menu Advanced, depois clique no menu Actions > New SSO Configuration
2) Na aba Basic, informe:
Campo | Valor | Descrição |
---|---|---|
EAS Name | eas_seas_intranet | nome da configuração |
EAS Address | seas.test.net | hostname do SEAS |
EAS Port | 61365 | porta usada pelo SEAS |
3) clique em Save.
Criando uma HTTP Policy
1) Clique no menu Configuration, depois clique no menu Actions > New Policy > HTTP Policy
2) Na aba Basic, informe:
- Policy Name: httppolicy_myfilegateway
3) Na aba Advanced, informe:
Campo | Valor | Descrição |
---|---|---|
User Authentication Type | Application Authentication | |
Through External Authentication | selecionar | |
External Authentication Profile | seas_ldap | Executado neste passo: IBM Sterling External Authentication Server (SEAS): Configuração para LDAP |
Internal UserId | selecione SSO token from External Authentication |
4) clique em Save
Criando uma HTTP Netmap
1) Clique no menu Configuration, depois clique no menu Actions > New Netmap > HTTP Netmap
2) Na aba Basic, informe:
- Netmap Name: httpnetmap_myfilegateway
3) Começar pela aba Outbound Nodes, clique em New, clicar na aba Basic e informar:
- Outbound Node Name: outbound_myfilegateway
- Primary Destination Address: sinode01.test.net
- Primary Destination Port: 23000
Neste caso informamos o hostname e porta do B2Bi/SFG
clique em Save
3) Na aba Inbound Nodes, clique em New
na aba Basic e informar:
- Inbound Node Name: inbound_myfilegateway
- Peer Address pattern: *
- Policy: httppolicy_myfilegateway
na aba Routing Node e informar:
- Routing Node: outbound_myfilegateway
clique em Save
4) Na aba HTTP Rewrite,
- Support HTML Rewrite: marcar este campo
depois clique em New, informar:
- Server URL: http://sinode01.test.net:23000/myfilegateway
- Proxy URL: http://spnode01.test.net:23000/myfilegateway
onde
Campo | Valor |
---|---|
Server URL | ipaddress/hostname of B2BI http://SBIserver:port/myfilegateway |
Proxy URL | Ipaddress/hostname of SSP server http://SSPserver:port/myfilegateway |
clique em Save
5) clique em Save.