Verificação de segurança e desempenho
O objetivo da verificação de segurança e desempenho é analisar através dos testes não funcionais dois dos principais requisitos não funcionais que podem afetar de forma drástica a estabilidade e a qualidade das nossas entregas, sendo de extrema importância na obtenção de um diagnóstico cada vez mais preciso nas ações de melhoria contínua e na garantia da qualidade, visando alcançar patamares mais elevados no desenvolvimento dos nossos produtos.
Índice
Pré-requisitos para execução da verificação de segurança e desempenho
- Providenciar a publicação do sistema/aplicação, com a última versão estável, em ambiente de teste administrado pelo DevOps;
- Definir o escopo do teste de segurança e desempenho;
- Descrição resumida das funcionalidades do sistema/aplicação, considerar também as funcionalidades mais críticas (que diferenciam e destacam o produto);
- Informação da existência de problemas de segurança e desempenho conhecidos no sistema/aplicação;
- Definir as permissões por nível de usuário para as principais funcionalidades e ativos do sistema(lista de credenciais ativas(usuário e senha)com pelo menos um usuário para cada nível de permissão.
Verificação de segurança
A verificação de segurança consiste identificar vulnerabilidades, classificá-las e indicar estratégias de mitigação para estas. É realizada uma análise ativa na qual são simulados ataques a um determinado sistema, identificando vulnerabilidades que podem ser exploradas em um ataque real.
Uma vulnerabilidade é uma falha ou fraqueza no design, implementação, operação ou gerenciamento de um sistema que pode ser explorada a fim de violar a política de segurança do mesmo. Uma ameaça é um ataque em potencial que, explorando uma vulnerabilidade, pode comprometer os ativos de uma aplicação (recursos, dados, funcionalidades).
Esse processo, conhecido como "Vulnerability Assessment", deve ser executado em uma versão estável do sistema, após a etapa de desenvolvimento. Primeiramente o sistema é submetido a scanners de vulnerabilidades automáticos. As vulnerabilidades encontradas pelos scripts automáticos são então verificadas, para eliminar falsos positivos.
Após o processo automático, o sistema é verificado manualmente por vulnerabilidades de detecção mais difícil, seguindo as diretrizes do OWASP Guide v4
Ferramentas utilizadas
- Ferramentas de Proxy web (WebScarab,CAT,OWASP ZAP,Paros)
- Scanners de vulnerabilidades automatizados (WCSA,OWASP ZAP,N-Stalker,Web Securify,Microsoft WACA,W3AF,VEGA)
- Sniffers (Wireshark,Ettercap)
- Gerador de pacotes e requisições HTTP (Engage Packet Builder,WebScarab,CAT)
Verificação de desempenho
A verificação de desempenho é uma classe de testes implementada e executada para caracterizar o desempenho relacionado a características do sistema/produto, como fluxos de execução, tempos de respostas e limites operacionais. A verificação de desempenho abrange os seguintes tipos de testes:
- Teste de carga: Verifica a aceitabilidade do comportamento de desempenho do objeto de teste em condições operacionais variáveis (como número de usuários, número de transações, entre outros), enquanto as configurações permanecem as mesmas.
- Teste de stress: Verifica a aceitabilidade do comportamento de desempenho do objeto de teste quando condições anormais ou externas forem encontradas, como a redução dos recursos ou um número extremamente alto de usuários.
- Teste de desempenho: Testa a aplicação em uma situação normal de uso, verificando se o tempo de resposta e a utilização do hardware são os desejados.
Ambiente padrão de teste
Para a realização dos testes foi criado um ambiente padrão composto de servidores web e servidor SQL com distribuição de carga pelo ARR. A VM utilizada para simular usuários navegando pelo sistema é denominado Test Agent e o controlador dos agentes denominado Test Controller. Abaixo é apresentada a configuração dos equipamentos que compõe o ambiente gerador de carga para os testes.
Ambiente padrão de teste | |||||
---|---|---|---|---|---|
ARR | Estão configurados com DFS entre os arquivos de sistema. Cada um tem 4 núcleos, 4GB de RAM e disco de 200GB dinâmico. | ||||
HOST | É um Xeon 2.3 Ghz com 48 núcleos de 384GBde RAM. | ||||
Servidores Web | Possuem 8 núcleos cada, 6GB de RAM e disco de 100GB dinâmico. O acesso ao site é através de uma pasta compartilhada no servidor hospedeiro, utilizando o parâmetro caspol do .NET 32 e 64 bits v3.5 e 4 com opção fulltrust. | ||||
Servidor SQL | O SQL Server está na versão 2014 Standard e o servidor tem 16 GB de RAM, 16 núcleos, 100GB de disco para dados, 1TB de disco para bancos e 500 GB de disco de backup. Os discos de bancos e backup são volumes diretos na storage, utilizando conexão iSCSI. | ||||
Test Controller | Possuem 8 núcleos e 8 GB de RAM, com disdo de 200GB para SO. | ||||
Test Agent | Os slaves do JMeter possuem 8 núcleos e 8 GB de RAM com disco de 200GB para SO cada. |
Ferramentas utilizadas
- Ferramenta de teste (JMeter)
- Web Debugging Proxy (Fiddler)
- Resource and Performance Monitor (Perfmon)
- Zabbix
Resultado da verificação de segurança e desempenho
Como resultado da verificação de segurança e desempenho será enviado um relatório aos responsáveis do produto contendo as vulnerabilidades e itens de melhorias que deverão ser inseridas na Product Backlog e analisadas em conjunto com a equipe e responsáveis pelas verificações. Este resultado também será disponibilizado no menu "Produtos" [Plataforma de Produtos MSTECH].
Produtos verificados | |||||
---|---|---|---|---|---|
Sistema | Teste de desempenho | Teste de segurança | |||
Transporte Escolar | Versão 1.1.1.21 | Versão 1.1.1.21 | |||
Controle Patrimonial | Versão 2.25.2.0 | Versão 2.25.2.0 | |||
Biblioteca | Versão 1.45.0.0 | ||||
Approxima | Versão 1.0.0.74 | ||||
Portal Construtor | |||||
Almoxarifado | Versão 1.1.0.0 | ||||
Atribuição de Aulas | Versão 1.0.5.0 | ||||
Avalia+ | |||||
Alimentação | |||||
BlueMonitor | |||||
BlueControlWeb | |||||
BlueControl | |||||
Boletim Online | |||||
ClassPad | |||||
Censo Escolar | |||||
Central de Projetos | |||||
CoreSSO | |||||
Coreedu | |||||
Certificados | |||||
Controle de Obras | |||||
Controle Financeiro de Repasses | |||||
Dupla Regência | |||||
Educopédia | |||||
Fiscalização e Contratos | |||||
Fluxos DRH | |||||
Gestão Acadêmica | |||||
Gestão Escolar / SGP | Comparação de versões 01 - Verificação de ambientes | ||||
Gestão Privado | |||||
Gestão de Metas | |||||
Loomi | |||||
Mapa de Indicadores | |||||
Moodle | Versão 3.1.1 - Verificação de ambientes | ||||
OnCorretor | Versão 3.0.0.0 | ||||
OpenId | |||||
Portal Institucional | Versão 1.5.9.0 | ||||
Quadro de Horários | |||||
Remoção | |||||
Repositório OA | |||||
Sala de Gestão |