Mudanças entre as edições de "Verificação de segurança e desempenho"

De MSTECH wiki
Ir para: navegação, pesquisa
(Ferramentas utilizadas)
(Verificação de desempenho)
 
(21 revisões intermediárias por 4 usuários não estão sendo mostradas)
Linha 18: Linha 18:
  
 
Após o processo automático, o sistema é verificado manualmente por vulnerabilidades de detecção mais difícil, seguindo as diretrizes do [https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents OWASP Guide v4]
 
Após o processo automático, o sistema é verificado manualmente por vulnerabilidades de detecção mais difícil, seguindo as diretrizes do [https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents OWASP Guide v4]
 
A verificação de segurança é executada por [mailto:paulo.souza@mstech.com.br Paulo Roberto Lopes de Souza]
 
  
 
=== Ferramentas utilizadas ===
 
=== Ferramentas utilizadas ===
Linha 38: Linha 36:
 
*'''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.
 
*'''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.
  
A verificação de desempenho é executada por [mailto:taynara.nakashima@mstech.com.br Taynara Nakashima]
 
  
 
=== Ambiente padrão de teste ===
 
=== Ambiente padrão de teste ===
Linha 81: Linha 78:
 
!colspan="6"|Produtos verificados   
 
!colspan="6"|Produtos verificados   
 
|-
 
|-
|colspan="2"|Transporte Escolar
+
|colspan="1"| Sistema
|[[Transporte 1.1.1.21|Versão 1.1.1.21]]
+
|colspan="2"| Teste de desempenho
 +
|colspan="3"| Teste de segurança
 +
|-
 +
|colspan="1"|Transporte Escolar
 +
|colspan="2"| [[Transporte 1.1.1.21|Versão 1.1.1.21]]
 +
|colspan="3"| [[Transporte 1.1.1.21|Versão 1.1.1.21]]
 +
|-
 +
|colspan="1"|Controle Patrimonial
 +
|colspan="2"| [[Conpat 2.25.2.0|Versão 2.25.2.0]]
 +
|colspan="3"| [[Conpat 2.25.2.0|Versão 2.25.2.0]]
 +
|-
 +
|colspan="1"|Biblioteca
 +
|colspan="2"|[[Biblioteca 1.45.0.0|Versão 1.45.0.0]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Controle Patrimonial
+
|colspan="1"|Approxima
|[[Conpat 2.25.2.0|Versão 2.25.2.0]] (Em verificação)
+
|colspan="2"|[[Approxima 1.0.0.74 |Versão 1.0.0.74]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Biblioteca
+
|colspan="1"|Portal Construtor
|[[Biblioteca 1.45.0.0|Versão 1.45.0.0]] (Em verificação)
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Approxima
+
|colspan="1"|Almoxarifado
|
+
|colspan="2"|[[Almoxarifado 1.1.0.0|Versão 1.1.0.0]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Portal Construtor
+
|colspan="1"|Atribuição de Aulas
|
+
|colspan="2"|[[Atribuição 1.0.5.0|Versão 1.0.5.0]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Almoxarifado
+
|colspan="1"|Avalia+
|[[Almoxarifado 1.1.0.0|Versão 1.1.0.0]] (Em verificação)
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Atribuição de Aulas
+
|colspan="1"|Alimentação
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Avalia+
+
|colspan="1"|BlueMonitor
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Alimentação
+
|colspan="1"|BlueControlWeb
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|BlueMonitor
+
|colspan="1"|BlueControl
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|BlueControlWeb
+
|colspan="1"|Boletim Online
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|BlueControl
+
|colspan="1"|ClassPad
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Boletim Online
+
|colspan="1"|Censo Escolar
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|ClassPad
+
|colspan="1"|Central de Projetos
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Censo Escolar
+
|colspan="1"|CoreSSO
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Central de Projetos
+
|colspan="1"|Coreedu
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|CoreSSO
+
|colspan="1"|Certificados
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Coreedu
+
|colspan="1"|Controle de Obras
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Certificados
+
|colspan="1"|Controle Financeiro de Repasses
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Controle de Obras
+
|colspan="1"|Dupla Regência
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Controle Financeiro de Repasses
+
|colspan="1"|Educopédia
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Dupla Regência
+
|colspan="1"|Fiscalização e Contratos
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Educopédia
+
|colspan="1"|Fluxos DRH
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Fiscalização e Contratos
+
|colspan="1"|Gestão Acadêmica
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Fluxos DRH
+
|colspan="1"|Gestão Escolar / SGP
|
+
|colspan="2"|[[SGP Comparação de versões 01 |Comparação de versões 01 - Verificação de ambientes]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Gestão Acadêmica
+
|colspan="1"|Gestão Privado
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Gestão Escolar / SGP
+
|colspan="1"|Gestão de Metas
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Gestão Privado
+
|colspan="1"|Loomi
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Gestão de Metas
+
|colspan="1"|Mapa de Indicadores
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Loomi
+
|colspan="1"|Moodle
|
+
|colspan="2"|[[Moodle 3.1.1 |Versão 3.1.1 - Verificação de ambientes]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Mapa de Indicadores
+
|colspan="1"|OnCorretor
|
+
|colspan="2"|[[OnCorretor_3.0.0.0|Versão 3.0.0.0]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Moodle
+
|colspan="1"|OpenId
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|OpenId
+
|colspan="1"|Portal Institucional
|
+
|colspan="2"|[[Portal Cristo Rei 1.5.9.0 |Versão 1.5.9.0]]
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Portal Institucional
+
|colspan="1"|Quadro de Horários
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Quadro de Horários
+
|colspan="1"|Remoção
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Remoção
+
|colspan="1"|Repositório OA
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Repositório OA
+
|colspan="1"|Sala de Gestão
|
+
|colspan="2"|
 +
|colspan="3"|
 
|-
 
|-
|colspan="2"|Sala de Gestão
 
|
 
 
|}
 
|}

Edição atual tal como às 13h29min de 6 de dezembro de 2016

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.

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