Mostrando postagens com marcador critérios de segurança. Mostrar todas as postagens
Mostrando postagens com marcador critérios de segurança. Mostrar todas as postagens

domingo, 10 de julho de 2011

Alinhando as expectativas (Cont. II)

Você pode tentar ler esse post isoladamente, mas estou escrevendo mantendo uma certa ordem. Recomendo a leitura do post anterior para que esse conteúdo faça mais sentido. 

Continuando o detalhamento das expectativas, abordaremos nesse post os próximos ambientes e a expectativa sobre eles.

Detalhando as expectativas de segurança
Produção, Baixo Valor
Esses são aqueles sistemas, cuja ausência ou falha nos causa pouco ou nenhum impacto, possui poucos dados ou de pouca relevância, enfim têm pouco valor de fato. Talvez utilizemos esses sistemas porque nós mesmos o concebemos, porque são divertidos, porque simpatizamos com ele, mas podemos viver tranquilamente sem os mesmos. Vejamos o caso do miss simpatia logo ao lado. Tenho certeza que o desenvolvedor adora ele, acha ele o melhor da raça, vai muito além do que o cliente encomendou. Inclusive esse último patch (banho e tosa 2.0) deu um sex appeal todo especial para o produto. Olha com calma que você também vai querer um... Falando sério, tendo isso em mente, vamos analisar nossas expectativas sobre o ambiente e os critérios para esse tipo de sistema.

  • Backup

Obviamente não precisamos de um backup muito avançado, provavelmente os ativos aqui envolvidos são pouco relevantes e podemos nos dar ao luxo de correr mais risco quanto ao volume de perda de dados. Isso significa que os backups serão esparsos e de curto período de retenção. Nossa preocupação pode inclusive se limitar a aspectos normativos, como a exigência de logs de acesso ao sistema por auditorias.
  • Disponibilidade
Se o dia for ensolarado, tudo deve estar disponível. Para nossos ativos de baixo valor, estar disponível é uma questão de sorte. Se tudo der certo (e em geral da) ele estará lá e acessível. Não teremos nesse caso a exigência de mantermos o ativo acessível a qualquer momento e de qualquer lugar. Longos períodos (1 semana) de indisponibilidade não são um problema para nosso ativo de baixo valor.

  • Controle de acesso
Para esse cenário, nosso processo de controle de acesso pode simplesmente formalizar uma solicitação. As solicitações de acesso seriam "pré-aprovadas", ou seja, por principio todos teriam direito de acesso aos ativos, bastando se identificar para acessá-lo. Isso significa que os pedidos de acesso seriam concedidos automaticamente e só seriam revogados mediante revisão periódica dos mesmos.

  • Log Server
Sendo nosso controle de acesso pouco efetivo, é aqui que se faz necessário o bom cuidado com os logs, uma vez que serão praticamente a única linha de defesa dos ativos desse ambiente, assim a visão de concentrador de logs se faz ainda mais necessária, uma vez que o concentrador racionaliza o custo e a operação e gerenciamento desses logs. Repare os olhos atentos do nosso amigo ao lado! (Isso mesmo, ele não tem olhos... era sarcasmo... prometo melhorar na próxima)

  • Hardening

Para esses ambientes, podemos definir uma expectativa de hardening bem menos agressiva, visto que a operação que mantém e monitora o hardening pode ser custosa. Em termos práticos, assim como no caso do backup, não adianta termos um hardening por pro-forma, mas para atingirmos uma relação de custo benefício aceitável podemos espaçar as inspeções recorrentes que validam a permanência das configurações do hardening no ambiente. Assim, não teremos uma configuração menos segura, mas simplesmente teremos menos inspeções que garantem o respeito a essas configurações ao longo do tempo. 

  • Sistemas
Com o caso dos sistemas, assim como nos sistemas destinados a ambientes de médio valor, podemos abrandar ainda mais os requisitos, mantendo os processos importantes que permitem que saibamos o que está instalado em cada ambiente. Entretanto deve ficar claro para todos os stakeholders que não haverá o mesmo nível de garantia de segurança a esses ativos e que eles poderão ser "abusados", atacados etc. Voltando ao nosso exemplo do sistema para eliminação da sede, quando destinado a um ambiente de baixo valor, é cabível esperar que ele seja "abusado" servindo não só para matar a sede do nosso usuário (piriquito amarelo) quanto para matar a sede de quem mais tentar usar o sistema (morcego) uma vez que os controles oferecidos pelo ambiente e a própria segurança da aplicação não oferecem a possibilidade de garantirmos efetivamente a segurança dessas aplicações.

Conclusão

Esse tipo de ambiente é naturalmente mais "hostil" pela ausência de controles mais rigorosos, assim, trata-se de um ambiente para ativos literalmente de baixo valor, que não tragam impacto caso sejam atacados. Pensando com o paradigma da gestão de risco, não podemos eliminar os atacantes, uma vez que podem ser qualquer pessoa (até mesmo funcionários da própria empresa), estamos abrindo mão das medidas mais rigorosas de controle do ambiente como testes de segurança no processo de gestão de mudança, assim, nossa única chance de termos controle sobre o nível de risco desses ativos é garantindo que nossos atacantes não terão o menor interesse em atacar esse ambiente. Mas sempre tendo em mente que se eles o fizerem, terão uma boa chance de serem bem sucedidos e o resultado pode ser desconfortável para o ativo alvejado. Apenas para ilustrar, esse ativo se sentiria como o fotografo (que Deus o tenha) que retratou essa linda foto de um touro (que pela cara tem meio amigo), sem nenhuma linha de proteção efetiva dependendo apenas do desinteresse do touro para permanecer inteiro! 

sábado, 9 de julho de 2011

Alinhando as expectativas (Cont. I)

Você pode tentar ler esse post isoladamente, mas estou escrevendo mantendo uma certa ordem. Recomendo a leitura do post anterior para que esse conteúdo faça mais sentido.

Continuando o detalhamento das expectativas, abordaremos nesse post os próximos ambientes e a expectativa sobre eles.

Detalhando as expectativas de segurança

Produção, Médio Valor


  • Backup

Nesse tipo de ambiente podemos questionar modelos muito complexos de backup, se você classificou bem seu ativo, a perda parcial de dados não deveria ser algo com o qual não se possa conviver. Entretanto esses dados precisam de um nível mínimo de cuidado, não adianta implementar um esquema de backup simplesmente por pro-forma. Assim, deve-se garantir que o processo de backup e restore sejam tão eficientes quanto o backup de ambientes de alto valor, mas podemos abrir mão da frequência, ou seja, não há necessidade de se executar backups diários. A simples possibilidade de se espaçar os intervalos de backup vai reduzir substancialmente o custo dessa operação, tornando-a mais compatível com o tipo de ativo a que se destina. 


Outra coisa que precisamos levar em conta é que tratando-se de um ativo de médio valor, além de estarmos disposto a aceitar uma certa perda em caso de falha, devemos buscar a possibilidade de utilizar janelas de backup durante as quais o sistema fica congelado para alterações, pois essa é a maneira mais barata de se garantir a integridade do dado que será submetido a mídia de backup. Substituindo a feature do sistema de alto valor, que deve garantir a existência de uma imagem consistente do dado para ser guardado a todo momento, por uma feature mais simples que congela as alterações e só permite novas alterações após o backup terminado.

  • Disponibilidade

Alguns sistemas podem se dar ao luxo de não garantir a tão falada disponibilidade de 99.999% (acredite esses três últimos noves custam muito caro). 
Mas tenha certeza de que a indisponibilidade do seu sistema seja realmente algo com que você possa conviver. O nosso amigo ai do lado não ficaria muito feliz com problemas de disponibilidade do sistema dele.
Um artifício de bom custo benefício para melhorar a disponibilidade é a utilização de caches sempre que possível. Diferente de um sistema que garanta alta disponibilidade esses mecanismos vão mitigar indisponibilidades do seu sistema. 

  • Controle de acesso

Assim como todos os demais aspectos, o controle de acesso pode ser menos regrado. Por exemplo, em situações extremas, uma solicitação de acesso a um ativo de alto valor ficaria parada até que todas as etapas do fluxo de autorização do acesso fossem cumpridas, em contrapartida, para ativos de médio valor, o acesso temporário poderia ser concedido desde que aprovado em primeira instância, podendo ser removido o acesso caso não autorizado em última instância pelo owner no ativo. Mas garanta que seu ativo realmente não requer um controle rigoroso de acesso. Utilizar a estratégia errada pode comprometer a segurança. Não é por ser de médio valor que o ativo tem que seguir todas as políticas desse nível, alguns aspectos do nível superior podem ser seguidos, sendo esse o principal deles.

  • Log Server

Mesmo para os ativos de médio valor, deve-se avaliar a questão dos logs. Existem informações de acesso que podem ser requisitadas para atividades de investigação, ou mesmo por auditorias e a centralização dessas informações facilita o acesso as mesmas. Sem mencionar que a operação é feita de forma centralizada, muito mais simples de ser gerida (monitoração do espaço em disco ocupado, gerenciamento do backup, acesso as informações de execução das aplicações para viabilizar aos desenvolvedores a identificação mais clara dos eventos e falhas do sistema em produção que por ventura eles estiverem depurando etc.)


Em contrapartida, cada ativo pode optar por gerar e gerenciar seus logs localmente, mas esse tipo de estratégia para empresas com muitos ativos implica em um esforço muito grande para manter o controle da quantidade de disco disponível por exemplo. Conceder acesso de leitura para os desenvolvedores nesse cenário pode se tornar um tremendo desafio pois os acessos ficaram literalmente espalhados por todos os ativos. Isso enfraquece substancialmente a segurança e potencializa em muito a existência de acessos não autorizados aos ambientes pela dificuldade que se apresentará em se verificar todos os acesso em todos os ambientes contra os diversos processos de solicitação de acesso.

  • Hardening

Se para os ativos de alto valor você deve ter uma meta em termos de hardening bastante agressiva, para os ativos de médio valor basta garantir que os itens mais óbvios como configurações default, senhas padrão, falha ou falta de controle de acesso não existam no ambiente. Não havendo um grande interesse por parte dos atacantes (ativos de médio valor) seu ambiente não será extremamente alvejado pelos mesmos. Havendo um nível adequado de dificuldade para invadir o ambiente, é bastante lógico esperar que os atacantes procurarão alvos mais promissores ou mais fáceis de serem atingidos.

  • Sistemas

Para os sistemas ainda devemos ter o controle do processo de Gestão de Mudança, entretanto, sendo o ativo destinado a um ambiente com menos critérios (ou critérios mais amenos) de promoção a produção, ele necessitará de um menor nível de controle, por exemplo: um sistema destinado a um ambiente para ativos de alto valor que não seja capaz de suportar o controle de acesso adequado, ou o nível de backup exigido, ou tenha vulnerabilidades de baixo a médio impacto conhecidas que não podem ser corrigidas, teria sua entrada em produção barrada. Esse mesmo sistema com as mesmas características poderia ser promovido a produção se destinado a ambientes com menor nível de exigência, como ambiente de médio valor. A expectativa sobre o nível do sistema tem apenas que ser compatível com a expectativa de operação do mesmo.


Por exemplo, no sistema de eliminação da sede (primeira ilustração desse tópico), nosso usuário (piriquito amarelo) entende como aceitável o bug que quase o afoga quando ele comete um erro na "entrada de dados" (abertura da torneira) e já está posicionado o bico na "saída" do sistema. Como mitigação durante o treinamento, o usuário foi alertado para não colocar o "bico" no dispositivo de saída antes de regular apropriadamente a saída, mas não há como proteger o usuário de um erro operacional. Para ser aceito no ambiente de alto valor a solução teria que ser completamente remodelada, conforme vemos ao lado.


Conclusão
Vencemos mais uma etapa. Agora entendemos que a segurança orientada a negócios tem uma visão bastante prática e não preza nem pelo controle total, nem pela ausência de controles, mas simplesmente pelo nível de controle adequado as necessidades e anseios do negócio.

domingo, 3 de julho de 2011

Alinhando as expectativas

Você pode tentar ler esse post isoladamente, mas estou escrevendo mantendo uma certa ordem. Recomendo a leitura do post anterior para que esse conteúdo faça mais sentido.

Seguindo a diante no plano de segurança, agora que temos uma noção dos nossos ativos, temos que estabelecer qual nossa expectativa sobre os níveis de segurança que coexistirão em nosso ambiente.

Em paralelo, temos que rever os pré-requisitos dos níveis de segurança que vamos estipular.

Para termos uma referência mais palpável, vamos assumir que nosso ambiente mapeado possui os seguintes ambientes:
  • Produção*;
  • Homologação;
  • Desenvolvimento interno;
  • Desenvolvimento externo;
  • Corporativo (estações de trabalho).
Vamos assumir também que possuímos apenas três níveis de ativos:
  • Alto valor;
  • Médio valor;
  • Baixo valor.
Nesse caso, pode passar desapercebido, mas não conseguiremos implementar diferentes níveis de segurança se não segregarmos os ativos em ambientes distintos, cada um correspondendo as expectativas de segurança do seu nível. Esses ambientes precisam ser independentes e com nível mínimo de integração entre eles, preferencialmente sem qualquer tipo de integração.

Assim, no nosso exemplo teremos três ambientes de produção, um para cada nível de ativo, cada um com diferentes expectativas de segurança e assim sucessivamente para os demais ambientes.

Detalhando as expectativas de segurança

Produção, Alto Valor
  • Backup
Backups frequentes, com longos períodos de retenção. Deve ser executado regularmente o teste de restauração (restore) automatizado garantindo que o dado que foi enviado para backup foi restituído.

Para atingir esse objetivo todo backup deve gerar um código de controle (hash) dos dados enviados para fita, para que durante o teste de restauração automatizado esse código de controle possa ser facilmente revalidado por meio de ferramentas e sem intervenção humana, garantindo-se assim a capacidade de escala.

Além disso, deve-se garantir que a informação esteja em um estado integro antes de ser enviada para fita, pois se esse cuidado não for tomado, quando o ambiente for restaurado, há um chance dele não voltar ao estado operacional. Esse problema é comumente enfrentado em backups de banco de dados. Enquanto os dados estão sendo copiados para fita, partes dos dados estão sendo alteradas pelo sistema em uso, ferindo a integridade da informação que foi enviada para fita.

Para evitar tais problemas de integridade, existem modelos sofisticados de backup, mas eles encarecem substancialmente o custo da operação de backup. De maneira bem resumida, eles copiam os dados em um estado integro para um ambiente paralelo e executam o backup sobre essa "cópia consistente" dos dados.
  • Disponibilidade
Suporte a alta disponibilidade, garantindo que falhas nos equipamentos não impliquem necessariamente em colocar o ativo fora de operação. Via de regra lança-se mão de balanceadores de carga e redundância de interfaces de comunicação para garantir que sempre existirá um caminho até o ativo.
  • Controle de acesso
Controle de acesso ao ativo garantindo que todos os acessos sejam devidamente aprovados e revisados a períodos constantes.


Além disso é preciso que a utilização desses acessos seja devidamente registrada, permitindo que seja avaliado a qualquer tempo o comportamento de um usuário dentro do sistema.

Existem alguns fatores chave para o sucesso do controle de acesso.

Primeiro, centralize ao máximo o processo de autenticação concentrando a senha em um local único na corporação. Isso maximiza a chance dos donos dos acessos criarem senhas fortes, de que eles se lembrem com facilidade da mesma e não a mantenham anotada em lugares ermos. Maximiza também a facilidade de operação e da segurança dessa base de acessos. Tenha em mente apenas que esse passa a ser um dos ativos de maior valor para empresa, pois sem ele o acesso aos demais ativos será impossível.

Segundo, tente associar a autorização a um modelo RBAC. Isso facilitará muito o processo de concessão e revisão dos acessos. Se não for possível atingir esse grau de maturidade, implemente pelo menos um modelo baseado em papeis.

Terceiro, garanta a auditoria dos acessos controlando pelo menos o momento de entrada e saída com e sem sucesso para todos os ativos desse ambiente. O que nos leva ao próximo item, o servidor de logs.
  • Log Server
Concentre os logs dos ativos em um servidor dedicado a essa função. Assim, garante-se a integridade das informações, bem como se otimiza as atividades operacionais comuns aos logs, como rotação periódica, gerenciamento da área de armazenamento, correlação de eventos e investigações de incidentes.
  • Hardening
Além dos pontos já apresentados, é importante estabelecer um conjunto de configurações e características mínimas que maximizem a segurança desse ambiente. Esse trabalho é comumente conhecido como hardening. Existem vários modelos de mercado. Minha sugestão é que você escolha poucos itens e comece a implementá-los adicionando novos itens de controle ao longo do tempo, bem como revisando os já existentes.

Muito bonito, mas até agora nossa produção tem todos os controles de "baixo nível", mas ainda não endereçamos os principais itens da produção os sistemas de negócio e seu ciclo de vida.
  • Sistemas
Garanta sua capacidade de controlar o ciclo de vida de seus sistemas. Com isso me refiro ao controle às alterações feitas sobre os sistemas em produção através de processos bem definidos de Gestão de Mudança.

É importante que toda promoção a produção passe pelo escrutínio da Gestão de Mudança para que sejam avaliados os aspectos que garantam a operação e a segurança do sistema. Por exemplo, se o sistema passou com sucesso pelos testes de qualidade (funcional), segurança e carga e se todos os problemas que por ventura foram encontrados encontram-se corrigidos antes da liberação para produção.

No mundo corporativo, aspectos como "time to market" não podem ser ignorados, assim é muito importante se definir o processo de formalização e aceitação de riscos, caso persistam problemas sem correção e ainda sim seja necessário se promover o sistema imaturo para produção.

Para que os riscos não se potencializem, é necessário que os sistemas incluam em sua entrega toda documentação necessária para sua instalação e operação, visando garantir que a solução seja adequadamente configurada e operada garantindo sua segurança. Nessa documentação devem obrigatoriamente constar os passos para remoção de contas padrão da aplicação, remoção de privilégios desnecessários pós-implantação etc.

Conclusão
Apenas pelos aspectos apresentados até aqui, você deve ter percebido que esse nível de ambiente tem um custo bastante expressivo, fazendo sentido apenas para ativos que requeiram tal nível de operação e segurança.

Esse post já ficou grande demais, numa próxima oportunidade discorrerei sobre os outros ambientes de produção (Produção, Médio Valor - Produção, Baixo Valor) seguido dos demais ambientes. Até a próxima!