IBM Sterling: Configurando o Single Sign-on entre o SSP, SEAS, B2BI e SFG

From Wiki

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:

  1. O Trading Partner conecta ao SSP e informa as credenciais (usuário e senha).
  2. O SSP passa as credenciais para o SEAS
  3. O SEAS autentica o usuário no LDAP
  4. O LDAP informa ao SEAS se autenticação do usuário foi verdadeira (true) ou não (false).
  5. 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
  6. 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.

Configurando o SSP

Os artigos descrevem a instalação e configuração do SSP, SSPcm.

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

mais detalhes em customer_overrides.properties:seas-sso.VARIABLES

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

Veja mais opções em customer_overrides.properties:security.VARIABLES. Exemplos:

  • Configurar o SSO para o B2Bi Dashboard
  • Configurar o SSO para o B2Bi Dashboard
  • Configurar o SSO para o Mailbox (MBI)
  • Configurar o SSO para o AFT or MyAFT
  • Outras URL de destino

Configurando o SSP para o SSO

O quadro abaixo dá uma visão hierárquica da configuração necessária para configurar o SSO no SSP.

Configuração
|-- External Authentication Server: seas_intranet
|-- SSO Configuration: myfilegateway_sso
|-- Engine: spnode01_engine
|   |-- HTTP Adapter: myfilegateway_httpadapter
|   |   |-- HTTP Netmap: myfilegateway_httpnetmap
|   |   |   |-- Inbound Nodes: from_internet
|   |   |   |   |-- HTTP Policy: myfilegateway_httppolicy
|   |   |   |-- Outbound Nodes: to_myfilegateway
|   |   |   |-- HTML Rewrite: 


Essa visão facilita o entendimento da configuração, então a seguir descrevo a configuração de modo a reduzir a os passos tentando deixar mais simples a configuração


Acessar o Configuration Manager do SSP, no meu caso:

https://spnode01.teste.net:8443/SSPDashboard

Criando uma External Authentication Server

1) Clique no menu Advanced, depois clique no menu Actions > New SSO Configuration

2) Na aba Basic, informe:

  • EAS Name: seas_intranet
  • EAS Address: seas.test.net
  • EAS Port: 61365

3) clique em Save.

Criando uma SSO Configuration

1) Clique no menu Advanced, depois clique no menu Actions > New SSO Configuration

2) Na aba Basic, informe:

  • Name: myfilegateway_sso
  • Fully Qualified Host Name: spnode01.test.net --> hostname do SSP

3) Na aba Advanced, informe:

  • Default Landing Page: Selecionar [Enter in Textbox]
  • Text Box: /myfilegateway
  • SSO Cookie Secure Flag: não selecionar --> desmarcar pois não estou utilizando HTTPS

4) 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: myfilegateway_httppolicy

3) Na aba Advanced, informe:

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: myfilegateway_httpnetmap

3) Começar pela aba Outbound Nodes, clique em New, clicar na aba Basic e informar:

  • Outbound Node Name: to_myfilegateway
  • Primary Destination Address: sinode01.test.net
  • Primary Destination Port: 23080

clique em OK

4) Na aba Inbound Nodes, clique em New

na aba Basic e informar:

  • Inbound Node Name: from_internet
  • Peer Address pattern: *
  • Policy: myfilegateway_httppolicy

na aba Routing Node e informar:

  • Routing Node: to_myfilegateway

clique em OK

4) Na aba HTTP Rewrite,

  • Support HTML Rewrite: marcar este campo

depois clique em New, informar:

  • Server URL: http://sinode01.test.net:23080/myfilegateway
  • Proxy URL: http://spnode01.test.net:23080/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.

Criando uma HTTP Adapter

1) Clique no menu Configuration, depois clique no menu Actions > New Adapter > HTTP Reverse Proxy

2) Na aba Basic, informe:

  • Adapter Name: myfilegateway_httpadapter
  • Listen Port: 23080 <Porta do Myfilegateway no B2B/SFG>
  • NetMap: myfilegateway_httpnetmap
  • Standard Routing Node: to_myfilegateway
  • Support HTML Rewrite: selecionar

3) clique em Add e informar

  • Engines: spnode01_engines
  • EA Server: seas_intranet

4) Na aba Advanced, informe:

  • SSO Configuratin: myfilegateway_sso

5) clique em Save

Iniciando o HTTP Adapter

1) Clique no menu Monitoring, depois clique no menu Engine Status (All) > spnode01_engine

2) Clique no botão start ao lado do myfilegateway_httpadapter

3) Resultado

4) Acessar a url do SSP

http://spnode01.test.net:23000/myfilegateway

Ver também