terça-feira, 1 de novembro de 2011

Algumas questões relacionadas a segurança SOA – Parte I


Existem diversas tópicos que devemos abordar e nos preocupar quando nos deparamos com o assunto relacionado a segurança de aplicações.  Não existe uma lista obrigatória de itens a serem seguidos, porque cada aplicação e ambiente, por possuírem características diferentes, possuem também necessidades distintas relacionadas a segurança.


Abaixo, vou procurar relacionar alguns itens que acredito serem preocupações comuns a todos analistas e arquitetos envolvidos com segurança de aplicações, também relacionados a segurança SOA.


Confidencialidade das Informações -  Em um ambiente SOA, todas as mensagens que são trocadas, devem ser criptografadas por algum algoritmo, impedindo assim acesso não autorizado das informações que estão sendo trafegadas pela rede ou que estejam de alguma forma sendo persistidas ou manipuladas.


Integridade das Informações – Em um ambiente SOA, a integridade das informações deve ser suportada, impedindo que as informações possam ser alteradas. Essa integridade é garantida através de uma assinatura digital, que permite que as partes envolvidas possam verificar o conteúdo que está sendo transmitido e/ou recebido, avaliando se algo ao longo do percurso foi alterado/modificado de forma não autorizada.


Controle de Acesso as Informações – Em um ambiente SOA, muitos serviços são disponibilizados, serviços estes que serão consumidos por clientes. Uma boa prática é o estabelecimento de políticas de acesso, que são aplicadas aos serviços, impedindo ou restringindo assim os serviços a clientes específicos. Estas políticas também podem ser referenciadas como “Access Control Lists (ACLs).

Auditoria -  Um fator muito importante em um ambiente SOA, é o da implementação de “boas praticas” relacionadas a auditoria, permitindo assim que levantamentos sejam feitos em logs no sentido de detectar possíveis tentativas de fraudes relacionadas com as operações das aplicações. Eu particularmente trabalhei em uma multinacional americana,  auditada pela Sarbanes-Oxley Act (SOX),  empresa esta que constantemente era auditada, sendo a questão segurança,  item mandatório em todas a operações onde houvesse troca de informações, principalmente informações relacionadas a terceiros.


Privacidade das Informações – Muitas empresas, trocam informações confidenciais relacionadas por exemplo a consumidores. Por exemplo, uma concessionária, pode através de um serviços, solicitar e/ou enviar informações de um determinado cliente. Estas informações podem conter por exemplo, número do CPF, CNPJ, cartão de crédito, endereço, enfim, uma série de informações que devem ser confidenciais as empresas envolvidas em uma determinada transação. Em outros casos, pode-se solicitar e ou enviar comportamento de compra e/ou venda de um determinado cliente, e em alguns casos essas informações devem e podem ser mantidas como anônimas. Um ambiente SOA, deve possuir práticas que permita que as informações classificadas e/ou relacionadas como privativas, não seja acessada ou disponibilizada para pessoas/empresas erradas.


Autenticação – Uma outra questão em um ambiente orientado a mensagens, é o de estabelecer entre o consumidor e o servidor, uma forma de identificação e autorização (implementada pela política) das operações que estão sendo processadas. O consumidor ao enviar uma solicitação/mensagem ao servidor, envia uma “identificação”, provando sua identidade, que será recebida e verificada por um servidor de autenticação.

É claro que existe uma série de outras questões que devem ser levantadas e planejadas em um ambiente envolvendo troca de informações entre aplicações.


No próximo tópico, pretendo falar um pouco sobre “Message-Leve Security” e “Transport-Level Security”.

Abraços.

Twitter    - @javalittle

Nenhum comentário:

Postar um comentário