Escolar Documentos
Profissional Documentos
Cultura Documentos
Julho de 2021
Quadro de Revisão
Preparado por:
A informação contida neste documento é de propriedade do CEPEL, tendo se originado de trabalho desenvolvido nesta empresa para consulta e
referência dos usuários do sistema SAGE, e não poderá ser reproduzida ou utilizada para quaisquer outros fins sem autorização prévia e
expressa do CEPEL. Este documento baseia-se em informação disponível na data de sua publicação. Embora sejam feitos esforços para
torná-lo preciso, este não se propõe a cobrir todos os detalhes ou particularidades apresentadas pelo sistema. O CEPEL não se responsabiliza
por notificar os usuários deste documento de possíveis alterações feitas posteriormente.
ii
Conteúdo
21 - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA ............................. 1
21.1 AUTENTICAÇÃO DE APLICAÇÕES WEB INTEGRADAS AO SAGE ................................................... 1
21.2 INSTALAÇÃO DO SERVIDOR DE AUTENTICAÇÃO WEB/OPCUA ................................................... 4
21.3 INSTALAÇÃO DO CERTIFICADO PESSOAL NO BROWSER .............................................................. 6
21.3.1 Browser Firefox ............................................................................................................. 6
21.3.2 Browser Chrome ......................................................................................................... 12
21.3.3 Browser Edge .............................................................................................................. 17
21.4 PÁGINAS WEB DE SERVIÇOS, CONFIGURAÇÕES E TESTES....................................................... 19
21.5 INSTALAÇÃO DO GRAFANA E SINGLE-SIGN-ON COM O SAGE ................................................... 21
21.6 ADICIONANDO AO SISTEMA UMA NOVA APLICAÇÃO WEB .......................................................... 22
21.7 CONFIGURANDO A EXECUÇÃO DE POSTS E RESTS AUTORIZADOS .......................................... 23
i
CONTEÚDO
ii
Capítulo
21
21 - 1 Servidor de Autenticação WEB
ServCGI_OpcUA
figura 1
1
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
✓ ... mas periodicamente, caso o usuário em um período de 1 minuto não tenho feito
nenhum acesso com o Browser, o servidor da Aplicação SAGE deverá obter um
token recente usando o Método OPCUA “Obtém WEB Token de Autenticação”,
para que uma eventual perda da conexão com o servidor SageOpcUA possa ser
automaticamente reiniciada de forma transparente para o usuário do Browser.
Todos os recursos de segurança para fornecimento dos JWT e acesso WEB dos Browsers são
baseados em chaves privadas e certificados digitias pessoais, comuns aos 3 servidores do SAGE
identificados na figura (Nginx, SageOpcUA e FastCGI_OpcUA), e que são gerenciados pelo
Adm_Certificados - Administrador de Usuários e Certificados do SAGE. O formato do JWT já
descriptografado e decodificado é mostrado na figura 2 a seguir com os seguintes significados
para os campos do “Payload”.
name: Nome do usuário SAGE no acesso Legado ou no acesso PAM/AD
iat: Data-hora do fornecimento do token
exp: Data-hora da expiração do token
tipo: “L” se autenticação no acesso Legado ou “P” no acesso PAM/AD
figura 2
2
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 3
figura 4
E na figura 5, é mostrada a obtenção de um novo JWT válido por mais 10 minutos (600
segundos) para uma eventual necessidade do Servidor de Aplicação WEB ter que se reconectar
ao servidor SageOpcUA.
3
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 5
.
figura 6.1
4
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 6.2
Após a instalação e ativação do servidor, o usuário poderá customizar algumas das páginas
HTLM deste serviço de autenticação residentes no diretório /var/sage/serv_cgi, que possuem
uma cópia original com a extensão “.original”. São elas:
✓ indice_geral.html, onde o usuário pode incluir e retirar chamadas para as aplicações WEB
que o portal disponibilizará;
✓ sage_index.png, contendo a foto de abertura do portal, que pode ser customizada com o
programa Power-Point da Micrsoft editando o arquivo sage_index.pptx;
✓ serv_cgi_OpcUA.html, que permite configirar qual página, diferente do indice_geral.html,
será chamada ao se clicar no botão “Indice Geral”.
5
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Sem esse certificado, não será possível acesso ao sistema e a página exibida pelo Browser
conterá a mensagem: "Error 400 - Bad request - No required SSL certificate was sent" conforme
mostra a figura 7.1.
figura 7.1
O usuário deverá importar o certificado pessoal no(s) seu(s) Browser(s) conforme descrito a seguir
nos itens 21.3.1 a 21.3.3 para os Browsers Firefox, Chrome e Edge, respectivamente.
Para instalar o certificado de usuário no Firefox, deve-se clicar no botão do topo direito deste
Browser e escolher a alternativa “Opções” conforme as setas em vermelho da figura 7.2.
figura 7.2
6
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Será apresentada a página de “Opções”, onde deverá ser escolhida a opção “Privacidade e
Segurança” conforme mostra a figura 7.3.
figura 7.3
Usando a barra de rolagem para ir até o final da lista, deve-se escolher a opção "Ver certificados"
conforme mostra a figura 7.4.
figura 7.4
Como mostra a figura 7.5, será apresentada uma a página com várias abas, onde a aba “Seus
certificados” deve ser selecionada seguindo-se do click no botão “Importar”.
7
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Após o click será exibido o pop-up “Importar Arquivo de Certificado”, onde o usuário deverá
navegar até o diretório onde reside o arquivo certificado de extensão PFX recebido do
administrador. Nesse passo é preciso ter atenção com a seleção mostrada no canto inferior direito
deste pop-up, para que esteja habilitada a exibição de arquivos com a extensão *.pfx, o que
possibilitará a localização do arquivo com o certificado para a escolha através de uma das duas
setas roxas, “Abrir” (click) ou a que aponta para o arquivo do certificado (duplo-click).
Quando o certificado for selecionado será exibido um segundo pop-up “Requer senha”, cujo
campo de texto deverá ser ignorado, sem a digitação de texto no mesmo, e fazendo apenas a
confirmação final no botão “OK”.
figura 7.5
O Firefox confirmará a importação com sucesso do certificado conforme mostrado na figura 7.6.
figura 7.6
8
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Após a importação do certificado do usuário, o acesso ao site poderá ser feito e, unicamente no
primeiro acesso, poderá ser exibida a página apresentada na figura 7.7 sinalizando que o acesso
é considerado inseguro, caso o certificado utilizado pelos módulos servidores do site do
SAGE, servidor da comunicação com o Browser cliente, seja o certificado “auto assinado” gerado
pelo próprio SAGE, ou seja, não tenha sido emitido por uma entidade certificadora oficial.
Se o certificado utilizado pelos servidores do SAGE foi obtido de uma entidade certificadora
pública oficial (por exemplo CertSign, GoDaddy, etc..) esta página não será exibida. Portanto, o
administrador do site deverá decidir se usará o certificado auto-assinado gerado pelo SAGE, ou
contratará uma entidade certificadora oficial para fornecer esse certificado.
figura 7.7
Caso esta página da figura 7.7 seja exibida, ignorar o aviso e prosseguir com o acesso, o que
implicará no auto cadastramento do site no Browser como "exceção de segurança", fazendo com
que a página não seja mais exibida ao acessar o site. Para isso, deve-se clicar nos botões
“Avançado” e “Aceitar o Risco e Continuar”.
A partir desse ponto, sempre que o Browser for iniciado e for feito o primeiro acesso ao site, será
apresentada a página de Login do site, conforme mostrado na figura 7.8, com um pop-up exibindo
as informações de certificado do usuário, o que garante ao usuário estar acessando um site onde
ele foi cadastrado com segurança.
Nessa página de Login o usuário informará a sua identificação e a sua senha no Acesso Legado
do SAGE ou no Servidor AD Corporativo da empresa, de acordo com a classificação do usuário
que está acessando o site.
Tendo sido autenticado no sistema, o usuário é informado do tipo de autenticação que foi
completada (acesso Legado ou acesso PAM/AD) e poderá clicar no botão “Menu Inicial” mostrado
na figura 7.9, que listará então as aplicações WEB disponíveis para serem acessadas no sistema,
como por exemplo as aplicações da lista que é mostrada na figura 7.10.
Para exploração da Base de Dados Histórica do SAGE, o usuário poderá utilizar os Dashboards
do Grafana de acordo com as suas autorizações associadas pelo Single-Sign-On do Portal do
SAGE, conforme assinalado na figura 7.11, e descrito no item 21.4.
9
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 7.8
figura 7.9
10
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 7.10
figura 7.11
11
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Para instalar o certificado de usuário no Chrome, deve-se clicar no botão do topo direito deste
Browser e escolher a alternativa “Configurações” conforme as setas em vermelho da figura 7.12.
figura 7.12
Será apresentada a página de “Configurações”, onde deverá ser escolhida a opção “Privacidade e
Segurança” conforme mostra a figura 7.13.
figura 7.13
12
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Será apresentada a página de “Privacidade e Segurança”, onde deverá ser escolhida a opção
“Segurança” conforme mostra a figura 7.14.
figura 7.14
Será então apresentada a página de “Segurança”, onde deverá ser usada a barra de rolagem
deslocando-se até o final da página onde deverá ser selecionada a opção “Gerenciar
Certificados”, conforme mostra a figura 7.15.
figura 7.15
13
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Será apresentada uma janela pop-up onde deve ser feito um click no botão “Importar” que exibirá
uma segunda janela pop-up para o “Assistente para Importação de Certificados”. Iniciar esse
assistente clicando-se em “Avançar”, conforme mostra a figura 7.16.
figura 7.16
No pop-up do assistente será exibida a janela onde o usuário deverá clicar no botão “Procurar”
para localizar e selecionar o arquivo do seu certificado, conforme mostrado na figura 7.17. Nesse
passo é preciso ter atenção com a seleção mostrada no canto inferior direito do pop-up, para que
esteja habilitada a exibição de arquivos de “Troca de Informações Pessoais” com a extensão
*.pfx, o que possibilitará a localização do arquivo com o certificado para a escolha através de uma
das duas setas roxas, “Abrir” (click) ou a que aponta para o arquivo do certificado (duplo-click).
figura 7.17
14
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Com o arquivo escolhido exibido na caixa de texto do pop-up desse assistente, clicar no botão
“Avançar” conforme mostrado na figura 7.18.
figura 7.18
Será apresentada no pop-up uma opção para “Proteção de Chave Privada”, cujo campo de texto
deverá ser ignorado, sem a digitação de texto no mesmo, clicando novamente em “Avançar”,
conforme mostrado na figura 7.19.
figura 7.19
15
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Confirmar que o certificado fará parte da aba “Pessoal” e clicar em “Avançar”, conforme mostrado
na figura 7.20.
figura 7.20
Concluir a importação clicando no botão “Concluir” e verificando que a importação foi concluída
com êxito, conforme mostrado na figura 7.21.
figura 7.21
16
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Após a importação do certificado do usuário, o acesso ao site poderá ser feito e, unicamente no
primeiro acesso, poderá ser exibida uma página do Chrome equivalente à página apresentada na
figura 7.7 para o Firefox, sinalizando que o acesso é considerado inseguro, caso o certificado
utilizado pelos módulos servidores do site do SAGE, servidor da comunicação com o Browser
cliente, seja o certificado “auto assinado” gerado pelo próprio SAGE, ou seja, não tenha sido
emitido por uma entidade certificadora oficial.
Se o certificado utilizado pelos servidores do SAGE foi obtido de uma entidade certificadora
pública oficial (por exemplo CertSign, GoDaddy, etc..) a página equivalente à apresentada na
figura 7.7 não será exibida. Portanto, o administrador do site deverá decidir se usará o certificado
auto-assinado gerado pelo SAGE, ou contratará uma entidade certificadora oficial para fornecer
esse certificado.
Caso a página equivalente à apresentada na figura 7.7 seja exibida, ignorar o aviso e prosseguir
com o acesso, o que implicará no auto cadastramento do site no Browser como "exceção de
segurança", fazendo com que a página não seja mais exibida ao acessar o site. Para isso, deve-
se clicar nos botões “Avançado” e “Ir para https://<site-do-sage>”.
A partir desse ponto, sempre que o Browser for iniciado e for feito o primeiro acesso ao site, será
apresentada a página de Login do site, conforme mostrado na figura 7.8 usando o Firefox, com
um pop-up exibindo as informações de certificado do usuário, o que garante a ele estar
acessando um site onde ele foi cadastrado com segurança.
Nessa página de Login o usuário informará a sua identificação e a sua senha no Acesso Legado
do SAGE ou no Servidor AD Corporativo da empresa, de acordo com a classificação do usuário
que está acessando o site. Tendo sido autenticado no sistema, o usuário poderá clicar no botão
“Menu Inicial”, que listará então as aplicações WEB disponíveis para serem acessadas no
sistema, como por exemplo as aplicações da lista que é mostrada na figura 7.9.
Para instalar o certificado de usuário no Edge, deve-se clicar no botão do topo direito deste
Browser e escolher a alternativa “Configurações” conforme as setas em vermelho da figura 7.22.
figura 7.22
17
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Será apresentada a página de “Configurações”, onde deverá ser escolhida a opção “Privacidade,
Pesquisa e Serviços” conforme mostra a figura 7.23.
figura 7.23
Será apresentada a página de “Privacidade”, onde deverá ser usada a barra de rolagem
deslocando-se até o ponto da página onde deverá ser selecionada a opção “Gerenciar
Certificados”, conforme mostra a figura 7.24
figura 7.24
18
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Será apresentado a mesma janela pop-up utilizada pelo Chrome e apresentada na figura 7.16
onde, assim como foi descrito no capítulo dedicado ao Chrome, deve ser feito um click no botão
“Importar” que exibirá uma segunda janela pop-up para o “Assistente para Importação de
Certificados.
Portanto, todos os procedimentos a seguir, a partir desse ponto, são os mesmos relatados para o
Chrome, a partir da figura 7.16 do capítulo anterior, até a conexão segura feita ao site.
figura 8.1
Na segunda seção desta página, o usuário poderá exibir seus Privilégios (acesso Legado), ou
Papéis (acesso PAM/AD), assim como escolher dentre as AORs (Legado) ou Papéis (PAM/AD)
que ele possui, com os quais ele deseja operar. As figuras 8.2, 8.3 e 8.4 mostram um exemplo
onde o usuário exibe os seus privilégios e escolhe as AORs com as quais deseja operar.
19
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 8.2
figura 8.3
figura 8.4
20
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Para que os usuários do SAGE possam fazer um acesso seguro à base histórica Postgres Time
Series do SAGE, atrvés dos Dashboards do Grafana, ele deve ser configurado para integrar o
esquema de Single-Sign-On do SAGE provido pelo Servidor FastCGI_OpcUA.
✓ Confirmar que o acesso foi feito como um usuário do SAGE posicionando o mouse sobre
o avatar no canto inferior esquerdo da página, fechando o Browser em seguida.
A partir deste último passo todos os acessos ao Grafana somente poderão ser feitos com
autenticação prévia no portal do SAGE em https://endereço-IP-portal-sage, e qualquer tentativa
de acesso direto ao Grafana, sem a passagem por esse portal, será negada pelo Grafana.
21
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
Então, para adionar Aplicações WEB OPCUA ao sistema, o usuário deverá definir no arquivo
indice_geral.html a chamada da nova aplicação, e no arquivo sageopcua_nginx.conf o
endereço IP e porta TCP onde a aplicação reside (podendo ser “localhost”), além das locations da
mesma que serão roteadas pelo Servidor Nginx.
Uma location será usada para GET/REST + POST e, caso a aplicação use WebSockets, outra
para PUSH no WebSocket (ws), conforme mostrado no diagrama da figura 9 abaixo.
location /NovaAplic/ {
proxy_pass http://serv_aplic:7001/;
}
# para aceitar conexão websocket na aplicacao
# que devera ser configurada para wss://sageopcua.cepel.br/wst
location /ws {
proxy_pass https://serv_aplic:7001/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
figura 9
22
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 10
✓ o POST definido com a extensão “.opc” ou a interface REST cuja URL termine com
“.rest” estejam cadastrados no arquivo $BD/posts_opcua.cnf, gravado pelo
Adm_Certificados, para executar o script-shell ou programa homonimo, conforme no
exemplo da figura 11, associado a um conjunto de ações necessárias para executa-lo;
Para a execução do POST, não é necessário que o SAGE esteja sendo executado, ou seja,
nenhum processo ou Visor do SAGE precisa estar ativo, o que permite então que os POSTs e
serviços REST possam ser usados para realizar tarefas administrativas como Geração da Base
de Dados, Ativação e Desativação do SAGE, etc.
23
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA
figura 11
Se o SAGE estiver ativo, a execução do POST ou da interface REST, utiliará o ambiente da conta
ativa do SAGE (MigAchaPrincipal), ou, se o SAGE não estiver ativo, utiliará o ambiente da conta
usada no momento da instalação do servidor (normalmente a conta sagetr1).
Se o POST ou a interface REST tiverem parâmetros, esses parâmetros serão passados como
argumentos de ativação do script ou programa associado ao POST ou à interface REST.
24