Sistema de Segurança Globus
UFSC – PPGCC – LRG
Segurança de Sistemas Distribuídos
Paulo Fernando da Silva
Sumário
●
Introdução;
●
Configuração de Segurança;
●
Instalação do Exemplo;
●
Execução do Exemplo;
●
Trabalhos Futuros;
●
Conclusão;
●
Referências;
Introdução
●
●
●
●
Globus é um middleware para desenvolvimento
de aplicações em grid;
Globus Toolkit é a implementação deste
middleware;
GT 4.0 é baseado em Web Services;
Sistema de Segurança é baseado em
certificados digitais;
Introdução - Instalação
●
Download: http://www-unix.globus.org/toolkit/survey/
index.php?download=gt4.0.1-all-source-installer.tar.gz
●
Configuração: ./configure;
●
Compilação: make;
●
Instalação: make install;
Configuração de Segurança
●
Criação de uma CA simple (globus):
–
●
setup-simple-ca;
Instalação da CA no GSI (root):
–
Dentro da CA: setup-gsi -default;
Configuração de Segurança
●
Certificados Host do servidor (root):
–
Host requisita um certificado:
●
●
●
●
●
grid-cert-request -host “hostname”;
> hostkey.pem
> hostcert_requesp.pem
> hostcert.pem
CA assina certificado do host (globus):
–
grid-ca-sign -in hostcert_request.pem -out
hostsigned.pem;
–
copia certificado assinado para o host;
Configuração de Segurança
●
Certificado dos Usuários (user):
–
grid-cert-request:
●
●
●
●
> userkey.pem
> usercert_requesp.pem
> usercert.pem
CA assina certificado do host (globus):
–
grid-ca-sign -in usercert_request.pem -out
signed.pem;
–
copia certificado assinado para o usuário;
Configuração de Segurança
●
Certificado do host acessível ao conteiner:
–
root# cd /etc/grid-security
–
root# cp hostkey.pem containerkey.pem
–
root# cp hostcert.pem containercert.pem
–
root# chown globus.globus containerkey.pem containercert.pem
Configuração de Segurança
●
Grid-Mapfile (root): relaciona um certificado a um
usuário;
–
●
grid-mapfile-add-entry -dn subject -ln user;
Certificado proxy (user):
–
grid-proxy-init -verify -debug;
–
cria um certificado proxy para acesso ao container;
–
validade de 12 horas;
Instalação do Exemplo
●
Interface WSDL:
–
●
Implementação do Serviço:
–
●
MathService.java;
Descritor de Segurança:
–
●
Math.wsdl; (operações: +, -, /, *);
security-config-first.xml;
Descritor de Deploy:
–
deploy.wsdd;
Instalação do Exemplo
●
●
Build Serviço:
–
ant compila exemplo com base de build.xml;
–
./globus-build-service.sh sec_first;
–
gera arquivo .gar (grid archiver);
Deploy do Serviço no Container:
–
●
globus-deploy-gar example.gar;
Build do Cliente:
–
Compilação de Client_GSISecConv_Encrypt.java;
Execução do Exemplo
●
●
O serviço já está instalado (deploy) no
container;
Basta iniciar o container (globus);
–
●
globus-start-container;
No cliente:
–
criar proxy: grid-proxy-init;
–
java Client_GSISecConv_Encrypt
https://localhost:8443/wsrf/services/Client_GSISec
Conv_Encrypt;
Execução do Exemplo
●
Cliente: 0 + 60 - 50 * 4 / 2 = 20;
●
Resultado:
–
Addition was successful
–
Subtraction was successful
–
Multiplication was successful
–
Division was successful
–
Current value: 20
Trabalhos Futuros
●
Artigo IDS Virtual;
●
Usar plataforma Globus;
●
Especificar serviços de detecção de intrusão;
●
Cliente do grid faz uso dos serviços de IDS;
●
Resultado: criar um IDS virtual onde os
serviços estão distribuídos de maneira segura e
transparente;
Trabalhos Futuros
Conclusão
●
●
●
●
Execução de serviços demanda considerável
configuração inicial;
Plataforma consideravelmente segura, pois usa
certificados digitais (análise inicial);
Existe bastante documentação de qualidade
sobre o assunto;
Ainda existe muito a ser estudado para
conclusão do artigo;
Referências
●
GT 4.0 Admin Guide;
●
GT 4.0 Java WS Developer's Guide;
●
The Globus Toolkit 4 Programmer's Tutorial;
Download

Sistema de Segurança Globus UFSC – PPGCC – LRG Segurança