projeto de referencia infraestrutura segura para aplicações€¦ · • proteção de integridade...
TRANSCRIPT
www.o2sistemas.com
Projeto de Referencia
Infraestrutura segura para aplicações
O mundo assiste a contínua luta do bem contra o mal na arena dos datacenters, onde sistemas são invadidos, sites são pixados, dados são roubados, empresas extorquidas, aplicações derrubadas.
Os motivos são muitos e vão desde o simples dolo ao crime financeiro ou ideológico.
Para administradores de TI isso não importa. Não interessa se é certo ou errado, justo ou injusto, cabe a quem administra infraestrutura oferecer segurança e ambientes imunes a isso.
O problema da segurança
É neste contexto que reside um dos maiores problemas de administradores de TI. Ao mesmo tempo que são exigidos a oferecerem plataforma, disponibilidade, performance e custo baixo são cobrados a terem infraestruturas seguras.
O problema esta na prioridade desses requisitos.
O foco técnico e a demanda do dia a dia faz muitos administradores adotarem plataformas comuns para muitas aplicações, populares e de baixo custo. Buscam simplificação técnica, performance seletiva, porém, inseguras.
O problema da segurança
A busca por reduzir custos, simplificar infraestrutura, padronizar ou mesmo decidir baseado em crenças fez com que muitas infraestruturas atingissem esses objetivos mas deixassem de fazer o principal, que é o de serem adequadas às necessidades das aplicações.
No mundo de tecnologia baseada em sistemas distribuídos, com microprocessadores, sistemas abertos e produzidos para atender a grandes volumes, é impossível encontrar um sistema que sirva para tudo.
Neste contexto é que entra a questão da prioridade. Ser seguro é importante?
Qual sua prioridade? atender à necessidade das aplicações (dos negócios) ou ser eficiente em seus critérios técnicos?
O paradigma da segurança
O grande benefício da tecnologia atual é oferecer uma miríade de alternativas e soluções para cada tipo de caso. Há muito ficou para trás o modelo que tudo só podia ser atendido por uma única infraestrutura e tudo tinha que ser igual.
É razoável que uma empresa use a mesma infraestrutura para desktop de escritório, para sites de comércio, para processar ERPs, para aplicações de missão crítica e outras?
Uma tecnologia atende a tudo ou serve para tudo?
Ainda estamos no mundo de uma tecnologia para tudo ou uma plataforma para tudo? Foiesse o caminho que os sistemas abertos e distribuídos trilharam?
O paradigma da tecnologia
Uma solução para tudo implica sempre em maior custo e menor adequação.
As deficiências de infra-estrutura são cobertas posteriormente com muitas camadas de software e hardware adicional. A busca pelo padrão faz com que mais complexidade seja adicionada, mais custo de manutenção e gestão.
Sempre falta algo. Os problemas sempre tem explicação na falta de gente, outros softwares, camadas de hardware que deviam existir e tecnologias que estão faltando.
A maior parte dos problemas poderia ser resolvido apenas voltando atrás e se perguntando: Estou usando o que é mais adequado a esta aplicação e uso? Existe algo mais adequado?
O paradigma do custo
Apresentamos o projeto de referência para a implementação de ambientes seguros utilizando a tecnologia SPARC-Solaris da ORACLE.
Em 2015 a ORACLE introduziu em seus processadores SPARC e no seu sistema operacional Solaris recursos avançados de segurança, nativos no Silício (parte do processador) e no sistema operacional que não necessitam de licenciamento.
Esses recursos permitem a implementação de sistemas altamente seguros sem a adição de nenhuma nova camada de software.
Todos os recursos são implementados em hardware e podem ser usados sem penalidade para a performance das aplicações.
Introdução
• Criptografia em comunicação, através de processadores criptográficos no processador SPARC.
Toda a comunicação através de redes LAN e WAN é criptografa através de aceleradores criptográficos e com uma enorme variedade de protocolos de segurança.
• Criptografia em memória, através de implementação processador SPARC, a memória RAM é criptograda.
Nenhum processo pode acessar área de Código e dados de outro
• Criptografia de banco de dados, onde todos os dados armazenados em banco de dados são criptografados pelo processador “on-the-fly”.
Recursos de segurança nativos
• Segurança avançada do Solaris, inclui diversos recursos nativos que em outros SO necessitam de software e hardware adicional.
• Packet filter
• TCP Wrappers
• Isolamento de recursos
• Proteção de integridade
Recursos de segurança nativos
A seguir apresentamos modelos de implementação que usam todos os recursos nativos da plataforma SPARC-Solaris para oferecer um ambiente seguro para aplicações.
O modelo a seguir mostra como exemplo a implementação de um ambiente de alta
segurança para aplicações WEB como sites de e-commerce.
Implementação prática
Visão Geral
Equipamentos
Nossa arquitetura é composta pelo seguinte Hardware:
• 2 Servidores Oracle SPARC-Solaris, totalmente virtualizados e nos quais serão executadas as instâncias de Banco de dados, servidores de aplicação e servidores WEB, onde estão, nativos, os recursos de avançados de segurança.
• 2 Oracle Virtual Network: Os equipamentos serão utilizados através de Software-DefinedNetwork para toda a comunicação externa e interna dos ambientes. Esta camada visa isolar a rede de comunicação inter-servidores.
Features
Criptografia no silício
RacNode1Stand
Alone
Stand
Alone
WS1 WS2
APP3 APP4
LDM DB1
LDM APP1
LDM APP2
Oracle Server
REARFAN
REARPCIe
PM 0
PM 1
PM 2
PM 3
MM
REMOVE
ALL POWER
SPARCT 5-8
PS 1PS 0 PS 3PS2
PSAC
INPUT PSAC
INPUT PSAC
INPUT PSAC
INPUT
SER MG T
MM SP HDD 1
HDD 0
HDD 3
HDD 2
HDD 5
HDD 4
HDD 7
HDD 6
F ILLERFILLER
FILLERFILLER
FILLERFILLER
FILLERFILLER
PM
PM
PM
PM
Processamento Memória
Aceleradores de
criptografiaSSM
Aceleradores embutidos no processador fazem com que as operações de criptografia sejam realizados por hardware, ao contrário das demais arquiteturas. Com isso, a performance para IOPs criptografados chega a ser até 100% maior, comparada com uma arquitetura X86, por exemplo.
Silicon Secured Memory (SSM): Feature da arquitetura SPARC que permite detecção em tempo real de erros de acesso à memória, de forma acelerada pelo hardware. Esta feature impede ataques baseados em estouros de memória ou substituição de dados em memória para explorar vulnerabilidades de aplicações e captura de dados.
Segurança nativa do Solaris
RacNode1Stand
Alone
Stand
Alone
WS1 WS2
APP3 APP4
LDM DB1
LDM APP1
LDM APP2
Oracle Server
Packet filter: Firewall clássico embutido nos sistemas operacionais Solaris, protege os ambientes de acessos externos, bloqueando conexões a portas e protocolos não autorizados.
TCP Wrappers: Proteção adicional aos ambientes, efetuando um controle de acesso por serviço, permitindo somente que os hosts autorizados acessem os serviços disponibilizados nos ambientes.
Isolamento de recursosOs ambientes dentro do chassi SPARC são isolados em múltiplas camadas de virtualização para uma eficiente distribuição de recursos:
Separamos os ambientes de bancos e aplicações inicialmente por Logical Domains, que são partições lógicas onde os recursos utilizados são dedicados as partições.
Também criamos uma segunda camada de virtualização chamada Solaris Zones, criando múltiplos environments de execução para bancos em Oracle RAC, bancos standalone, aplicações Web ou Java, de acordo com a necessidade
Através dos 2 fabric interconnects, criamos camadas de virtualização de comunicação via software, onde acontece a diferenciação de tráfego local (private clouds), tráfego com o mundo externo (public clouds) e comunicação com dispositivos de armazenamento (storage clouds)
Isolamento de recursos
O Oracle Solaris também possui um Load Balancernativo no sistema operacional, com isso conseguimos distribuir, por exemplo, a carga de acesso a aplicações providas por múltiplas zonas, melhorando o gerenciamento de recursos.
RacNode1Stand
Alone
Stand
Alone
WS1 WS2
APP3 APP4
LDM DB1
LDM APP1
LDM APP2
Oracle Server
Integridade de ambientesRole-Based Access Control (RBAC): Controle de acesso local que delega operações admistrativas a roles previamente configuradas. Com isso somente usuários que possuem a role correta podem administrar determinados recursos do ambiente. O RBAC protege todas as camadas do ambiente:
❖ Chassi (control/service domain)
❖ Guest domains (LDOMS)
❖ Zonas de banco e aplicação
Integridade de ambientes
Basic Audit and Reporting Tool (BART): Featureexclusiva do Solaris 11 que monitora modificações em nível de arquivo, sejam do sistema operacional ou mesmo de aplicações instaladas. É possível elaborar um baseline a acompanhar as modificações autorizadas e não-autorizadas, com isso monitorando a integridade do ambiente.
Integridade de ambientes
Immutable zones: Feature da camada de virtualização por zona que impede a qualquer modificação de uma zona ou parte dela, impedindo assim qualquer alteração indevida no seu conteúdo ou serviços que a mesma provê.
Camadas de segurança e featuresVirtualização BD/APP Sistema operacionalNetworking
SSM
Hardware
Aceleradores de criptografia
Firewall
RBAC
TCP Wrappers
SDN (Public/Private clouds)
Load balancer
BART
Como funciona?
Aceleração de criptografia
• Operações criptográficas são extremamente consumidoras de recursos (ciclos de CPU e banda de rede, por exemplo), resultando em perda de performance geral nas aplicações
• Como exemplo um host que é capaz de processar 1000 transações por segundo, após a implementação de SSL para proteger as operações passaria a processar apenas 10 transações por segundo
• Especialistas recomendam em ambientes de missão crítica o uso de appliances aceleradores para efetuar o offload das criptografia na transmissão das informações, desonerando os servidores de aplicação e bancos de dados
Mais
custos
Mais
complexidadeMais tempo de
implementação
Mais
fornecedores
Aceleração de criptografia
• Deste 2005 com o processador T1 a Oracle investe em criptografia por hardware como parte de seus processadores System on a Chip
• Chegamos ao processador M7 com um aumento significativo de performance nos aceleradores de criptografia e suporte aos principais frameworks e algoritmos de encriptação
Aceleração de criptografia
• A aplicação se comunica com o Framework de criptografia do sistema operacional Solaris sem o uso de drivers, parâmetros de kernel ou permissões administrativas para tal;
• O framework atual como um concentrador entre as aplicações e o hardware, com isso a aplicação faz uso da criptografia por hardware sem precisar incorporar nenhuma API ou driver no seu código, apenas transmitindo ao Solaris a requisição de criptografia
Aceleração de criptografia
Em um cenário típico de missão crítica, é exigido que os dados seja encriptados de ponta a ponta na infraestrutura de datacenter. O uso do Oracle SPARC/Solaris faz com que tal necessidade seja realizada
sem perda de performance e todas as transações de banco e aplicações aconteção de forma segura.
Aceleração de criptografia
Em comparação com uma arquitetura x86, obtemos o dobro de performance em IOPS.
Aceleração de criptografia
Nos processadores SPARC, não há perda de porformance significativa ao usar a criptografia por hardware, comprovando a eficiência dos aceleradores
Aceleração de criptografia
A criptografia nas aplicações Weblogic e bancos dados Oracle é habilitada através de ferramentas nativas: Oracle Ucrypto Provider e Transparent Data Encryption, respectivamente.Ao habilita-las nas aplicações sobre um servidor SPARC/Solaris, a aceleração por hardware acontece de forma transparente.
Silicon Secured Memory
• Em um ambiente computacional padrão, a execução do código da aplicação utiliza pointers para acessar os segmentos de memória (stacks e heaps)
• A aplicação utiliza os pointers para localizar onde ela deve buscar os dados na memória alocada para ela. Em uma execução normal ela também usaria os pointers para localizar o próximo segmento de memória a ser utilizado.
• O comportamento padrão pode ser explorado através código malicioso ou vulnerabilidade utilizando os pointers para acessar segmentos de memória não destinados ao código, usando ataques de buffer over-read (obter dados através dos próximos segmentos de memória) ou buffer overflow (reescrever dados nos segmentos de memória da aplicação), obtendo dados sensíveis ou danificando informações.
Silicon Secured Memory
Código malicioso inserido
Informação modificada
Silicon Secured Memory
• O SSM insere uma ”chave” de 4 bits nos pointers e um ”cadeado” também de 4 bits nos stacks de memória
• Chamamos esta função de ”color coding”
• Caso a ”cor” do pointer seja diferente da ”cor” do stack de memória que ele tenta acessar, o processador bloqueia a operação e gera erro
• A tecnologia gera as ”cores” de forma randômica, garantindo que a alocação dos códigos seja aleatória, sem ”cores” adjacentes
• Tudo isso sem alteração e recompilação de código, apenas com o load da biblioteca no ambiente de execução da aplicação
Packet Filter
• O Packet Filter é uma implementação do OpenBSD PF versão 5.5, com melhorias para funcionamento do Solaris, como zonas e funções IP exclusivas
• Com ele é possível filtrar pacotes, permitindo ou rejeitando, baseado no estado do mesmo ou no seu cabeçalho
• Com o Packet Filter, é possível desconsiderar o uso de firewalls externos ao ambiente, através da criação de regras permitindo somente o tráfego correto para os servidores de banco e aplicação
• Em nossa arquitetura, as regras serão criadas permitindo somente acesso aos ambientes de banco e aplicação nos serviços designados e eventualmente algum acesso administrativo
TCP Wrappers
• Provê mecanismos de controle de acesso para serviços de rede
• Quando os serviços são habilitados, o daemon tcpd checa a requisição contra as ACLs de acesso
• O TCP wrappers também loga as requisições através do syslog
• Em nossa arquitetura somente será permitida conexão aos ambientes através dos hosts autorizados aos protocolos de serviço definidos para cada ambiente.
Camadas de virtualização
• A tecnologia SPARC possui múltiplas camadas de virtualização, para atender quaisquer requisitos de consolidação e isolamento de ambientes
• Na primeira camada, podemos ter no mesmo chassi domínios físicos eletricamente isolados entre si, ou combinados para formar ”servidores” de alta capacidade e performance (Domínios físicos ou PDOMs)
• Na segunda camada, temos o Oracle VM for SPARC, onde criamos uma instância totalmente independente de sistema operacional, com seus recursos definidos e isolados das demais instâncias residentes no mesmo chassi
• Na terceira camada, temos as Solaris Zones, que são instâncias de Solaris que compartilham recursos do seu hospedeiro, mas fornecem ambientes de execução isolados e preparados para cada tipo de aplicação
Camadas de virtualização
• Dependendo do chassi utilizado, poderemos ter de 2 a 3 camadas de virtualização
• Utilizaremos o Oracle VM for SPARC para criar ”LogicalDomains” separados de banco e aplicações
• Dentro desses LDOMs teremos zonas para cada aplicação e/ou ambiente diferente, como por exemplo ambientes de homologação, desenvolvimento, Oracle RAC, Oracle Standalone, etc.
Software Defined Network
• Para comunicação entre os ambientes e o mundo externo, utilizaremos os Fabric Interconnects da Oracle utilizando SDN
• Teremos conexões isoladas entre os ambientes de banco e aplicação, sem conexão com o mundo externo, através de PVIs
• Para acesso externo, temos clouds públicas conectadas a infraestrutura do cliente
• O acesso a armazenamento externo acontece através de storage clouds
• Todos os tipos de clouds rodam sobre conexões infiniband de alta performance e “quase-zero” latência (40 ou 56Gbps)
Load Balancer
• Para termos um isolamento ainda mais seguro, opcionalmente podemos utilizar o load balancer nativo vindo com o Solaris 11
• Com esta feature, podemos criar um segmento de rede totalmente privado e termos apenas um host (ou mais) como ”porta de entrada” para os ambientes de aplicação, distribuindo o tráfego entre eles, fazendo com que nenhum ambiente fique sobrecarregado
• Estes load balancers seriam Logical Domains dedicados para esta função
• Esta situação é ideal quando tivermos o conceito de farms de aplicação, ou seja, vários ambientes de aplicação provendo o mesmo serviço
Role-Based Access Control (RBAC)
• O RBAC permite um controle de acesso granular, baseado em roles, atributos e permissões altamente customizáveis de acordo com a necessidade da administração
• Sem que a conta de administração (root) seja compartilhada, é possível delegar tarefas administrativas para os usuários do ambiente, com total controle e auditoria do que cada um está fazendo
• Em nosso ambiente, a conta root estará totalmente protegida e os usuários e profiles serão configurados de acordo com a necessidade administrativa
• Em resumo, o RBAC é uma evolução do sudo, com muito mais robustez
Basic Audit and Reporting Tool (BART)
• O BART fornece um método para monitorar a integridade de file systems e monitorar modificações em arquivos existentes no ambiente
• Com o BART auxilia na detecção de falhas de segurança ou ajuda no troubleshooting de problemas, identificando arquivos estranhos ou mesmo modificações em arquivos legítimos
• Em nossa arquitetura usaremos o BART para formar um baseline ou manifesto de controle logo após o completo setup do ambiente. Dentro de uma periodicidade pré-determinada, este baseline pode ser comparado com o ambiente atual para identificar quaisquer modificação que possa corromper a integridade dos ambientes
• Havendo alguma inconformidade na comparação, os administradores do ambiente são notificados e medidas podem ser tomadas para correção dos problemas
Immutable Zones
• As immutable zones fornecem uma proteção adicional para ambientes rodando em Solaris Containers
• É possível configurar as zonas para que a mesma (ou partes dela) sejam read-only, prevenindo modificações indesejadas
• Em nossa arquitetura as zonas serão configuradas através dos níveis de immutable disponíveis, visando garantir a integridade dos ambientes instalados nelas e suas configurações
• Quaisquer modificações necessárias precisarão ser aprovadas e aplicadas pelo administrador ou usuário designado
Como a O2 pode te ajudar?
Projeto
completoGostou da arquitetura mas não sabe por onde começar? Tem outros tipos de ambiente? A O2 estuda seu ambiente, desenha, discute e implementa a solução para você!
Consultoria
técnicaJá possui SPARC/Solaris? Ótimo, a O2 te ajuda a implementar de forma correta as features apresentadas!
OperaçõesImplementou nossa arquitetura mas não tem quem tocar o day-by-day? A O2 tem equipe totalmente especializada em tudo que você viu aqui!
Questions
?
www.o2sistemas.com
facebook.com/o2sistemas
twitter.com/o2sistemas
instagram.com/o2sistemas
youtube.com/o2sistemas