Vídeo: Aula aberta Erik Hollnagel 2024
A resiliência de um sistema é uma medida de sua capacidade de continuar funcionando, mesmo em condições menos do que ideais. A resiliência é importante em todos os níveis, incluindo rede, sistema operacional, subsistema (como sistema de gerenciamento de banco de dados ou servidor web) e aplicativo.
A resiliência pode significar muitas coisas diferentes. Aqui estão alguns exemplos:
- Filtra entrada maliciosa. O sistema pode reconhecer e rejeitar a entrada que pode ser um ataque. Exemplos de entradas suspeitas incluem o que você obtém tipicamente em um ataque de injeção, ataque de buffer-overflow ou ataque de Negação de Serviço.
- Replicação de dados: O sistema copia dados críticos para um sistema de armazenamento separado em caso de falha de componente.
- Componentes redundantes: O sistema contém componentes redundantes que permitem que o sistema continue funcionando, mesmo que ocorram falhas de hardware ou avarias. Exemplos de componentes redundantes incluem fontes de alimentação múltiplas, múltiplas interfaces de rede, técnicas de armazenamento redundantes, como RAID, e técnicas de arquitetura de servidor redundantes, como o agrupamento.
- Manípulos de manutenção: Recursos ocultos e indocumentados em programas de software que se destinam a expor indevidamente dados ou funções para uso ilícito.
- Contramedidas de segurança: Sabendo que os sistemas estão sujeitos a ataques freqüentes ou constantes, os arquitetos de sistemas precisam incluir várias contramedidas de segurança para minimizar a vulnerabilidade do sistema. Essas contramedidas incluem
- Revelando pouca informação sobre o sistema possível. Por exemplo, não permita que o sistema exiba a versão do sistema operacional, banco de dados ou software aplicativo que esteja sendo executado.
- Limitando o acesso apenas às pessoas que devem usar o sistema para cumprir as funções organizacionais necessárias.
- Desativando serviços desnecessários para reduzir o número de alvos de ataque.
- Usando autenticação forte para tornar o mais difícil possível para pessoas de fora acessar o sistema.