Informações sobre segurança no Orquestra ECM

Promovemos a proteção e preservação de informações das empresas no Orquestra ECM assegurando sua integridade, disponibilidade, autenticidade e confidencialidade através da segurança física e lógica garantida em datacenter e por implementação sistêmica.

A SML Brasil trabalha com datacenters TIER III, além de links de alta performance. Este nível de datacenter garante que os servidores que suportam o funcionamento de nossos produtos não sejam fisicamente acessados por pessoas não autorizadas, que os mesmos estejam em ambientes com controles automatizados de temperatura e umidade, bem como toda contingência de energia elétrica, refrigeração, rede de dados, etc.

O controle de segurança lógica implementado no Orquestra ECM é garantido pela:

  1. Segurança das informações transmitidas entre o navegador do usuário e o servidor;
  2. Arquitetura do sistema;
  3. Administração dos usuários e grupos de acesso;
  4. Controle da autenticação dos usuários.

Para maior segurança das informações transmitidas entre o navegador do usuário e o servidor, fazemos uso de certificado SSL (Secure Socket Layer), onde todas as operações, desde a autenticação do usuário até a transferência de arquivos, são realizadas sob o protocolo HTTPS (HyperText Transfer Protocol Secure), dificultando a interceptação e descriptografia das informações em transmissão, além disso, os dados transportados nas principais URLs (Uniform Resource Locator) geradas durante a navegação dos usuários estão criptografados.

Também seguimos boas práticas para tratamento contra injeção de comandos SQL (SQL Injection), que é um tipo de ameaça de segurança que se aproveita de falhas em sistemas para interagir com bases de dados, burlando as regras de negócio implementadas no sistema. Todo o acesso ao banco de dados é restrito à camada de negócio, a qual somente pode ser instanciado pela camada de negócio do Orquestra ECM, e as configurações de conexão com o banco de dados ficam armazenadas em arquivo de configuração criptografados e com bloqueio de acesso via protocolos HTTP (HyperText Transfer Protocol) ou HTTPS (HyperText Transfer Protocol Secure).

Na transmissão de arquivos para o servidor (upload), o sistema permite que a transferência seja realizada de forma segura, onde o usuário ao solicitar o envio do arquivo para servidor, o mesmo é criptografado e fragmentado para transmissão e ao serem recebidos os fragmentos pelo servidor é realizada a recomposição do arquivo e descriptografia. Esta característica do produto garante que, caso um ou mais pacotes sejam interceptados na rede ou na web, não seja possível remontar a informação ou arquivo original. Além disso, o envio fragmentado do arquivo permite a utilização dos recursos de rede de forma balanceada, não impactando nos demais sistemas que dependem do mesmo acesso de rede.

A atribuição de acesso ao sistema é realizada através da administração de "grupos de acessos" que reúnem permissões (que é uma autorização concedida a alguém para fazer algo), membros (que são os usuários que pertencem ao grupo de acesso) e hierarquia de dados à qual os membros podem manipular. Os usuários somente recebem acesso através de sua inscrição em grupos de acesso, sendo que o usuário pode pertencer à nenhum, um ou mais grupos de acessos, situação na qual suas permissões somam-se.

A hierarquia de dados possibilita a atribuição de permissões de forma que as mesmas sejam replicadas para os menores níveis de dados, dos quais o Orquestra ECM implementa, sendo:

- Global

- - -Empresa

- - - - Proprietário

- - - - - - -Aplicação (repositório de documentos)

As permissões estão segregadas em:

  1. Tipos de documentos, contém a relação de tipos de documentos que são acessíveis conforme a hierarquia de dados selecionada, sendo possível sua seleção parcial ou total, dos quais os usuários do grupo terão acesso;
  2. Filas, são utilizadas para designar documentos que estão aguardando uma ação ou que já tenham passado por determinada ação e, assim como o tipo de documento, contém a relação de filas que são acessíveis conforme a hierarquia de dados, sendo permitido sua seleção parcial ou total das quais os usuários do grupo terão acesso;
  3. Consulta e Manutenção de Documentos, reúne a relação de permissões de consulta, visualização, edição e exclusão de documentos, assim como a manutenção de seus arquivos compreendendo a inclusão, substituição, versionamento e exclusão.
  4. Novo Documento, reúne as permissões de acesso do módulo de novo documento;
  5. Digitalização de Documento, reúne as permissões de acesso e configuração do módulo de digitalização;
  6. Importação de Documento, contém a permissão de acesso ao módulo de importação de documento eletrônico;
  7. Importação de Documento do MS Office ou Sistema Operacional, contém a permissão de acesso ao módulo de integração desktop;
  8. Administração de Aplicação, reúne as permissões relacionadas à criação, manutenção e configurações de aplicações, sendo que aplicações são como repositórios de documentos;
  9. Serviços, reúne permissões de configurações e monitoramento dos serviços (Windows Services) suportados pelo Orquestra ECM;
  10. Gerenciamento de Acesso, reúne as permissões relacionadas à manutenção de cadastros de empresas, proprietários, grupos de acesso, usuários, perfil de usuários e controle de autenticação;
  11. Relatórios, contém a relação de relatórios disponibilizados no Orquestra ECM;
  12. Gerenciamento de Serviços, reúne permissões de configurações e monitoramento dos serviços (Windows Services) suportados pelo Orquestra ECM;
  13. Portal, reúne permissões de alterações que o usuário pode realizar em seus dados pessoais e usuário que pode substituir/classificar como seu substituto.

A autenticação dos usuários no Orquestra ECM ocorre por controle nativo ou Active Directory. Além disso, o Orquestra ECM não permite acesso por usuários anônimos. Com o controle nativo de usuário o sistema fica responsável pela administração de senhas. As senhas armazenadas são criptografadas e é possível a configuração de tamanho mínimo, caracteres, controle de prazo para troca e histórico de senhas e, quando habilitado o controle de histórico, o usuário não pode repetir as últimas senhas informadas.

Ao realizar a autenticação dos usuários, o sistema implementa regras de segurança que visam o bloqueio do usuário caso seja excedido o número de tentativas de acesso, assim como é apresentado o CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart), utilizado para impedir que softwares automatizados executem ações que degradam o desempenho do sistema.

Para maior segurança e auditoria dos documentos geridos no Orquestra ECM, todas as operações realizadas pelos usuários sob os documentos e arquivos ficam registradas e podem ser consultadas através de relatório ou diretamente nos documentos, registrando a identificação do usuário e do documento, data e hora da operação, a operação realizada e os dados modificados.

Quando não é possível autenticar o usuário seja por usuário ou senha inválidos, ou até mesmo conta bloqueada então a mensagem apresentada não é específica de forma a minimizar a possibilidade de ataques.

Vulnerabilidades

Detalhamento quanto ao entendimento de vulnerabilidades e segurança implementadas no Orquestra ECM:

VulnerabilidadeSituaçãoDetalhamento
InjectionAsseguradoSQL Injection: o Orquestra ECM utiliza todas as operações através em banco utizando stored procedures que estão implementadas de maneira correta para impedir o uso de SQL Injection.

Injeção por cabeçalho HTTP: para impedir injeção por cabeçalho HTTP realizamos o tratamento quanto a tentativa de injeção de código mal-intencionado, assim como o tratamento de nova linha (\r) e retorno de linha (\n) encontrados nos cabeçalhos de resposta.
Cross-Site Scripting (XSS)AsseguradoA arquitetura do Orquestra ECM foi construída para uso do AJAX, com isso o sistema não realiza POST nas páginas, evitando assim uma série de complicações e melhorando a experiência de usabilidade do usuário, com isto, o usuário malicioso não obtém a resposta que ele deseja no XSS Refletido. Também validamos o "request" para as páginas, evitando o envio de script através da URL.

O uso de query strings são pontuais e seus tipos são validados ou realizada criptografia.

A configuração de "HttpCookieOnly" está ativada, o que não permite o roubo do cookie do usuário ativo via cliente, assim como requireSSL para cookie.
Broken Authentication and Session ManagementAsseguradoSession ID Strength is Weak: fazemos uso da configuração slidingExpiration por regra de negócio, que determina que o tempo de sessão seja renovado de tempo em tempo ao invés de tempo de inatividade, "impedindo de fazer reuso de arquivos temporários locais de autenticações salvas". Em ambiente com certificado SSL mantemos habilitado o atributo requireSSL aumentando a segurança.

A autenticação também é realizada através do recurso de forms authentication do ASP.NET, assim como criptografamos as informações do usuário durante todas as transições de camada de transporte até camada mais baixa do sistema.

Uso de sessão segura (Session ID): fazemos uso do motor (engine) do ASP.Net para administração de Session ID, através da biblioteca "FormsAuthentication" disponibilizada pela Microsoft.

Tempo de sessão: limitamos o tempo de validade da sessão de usuários em caso de não disparar novas ações (standby), realizando o encerramento da sessão.

Permitir o encerramento de sessão imediatamente pelo usuário: quando o usuário faz "logout", a sua sessão é destruída no servidor, não podendo ser reutilizada por ele ou qualquer outro usuário. O Orquestra ECM também faz uso de configurações que exigem que o usuário renove sua autenticação gerando um novo estado de sessão.

Desabilitar a gravação de cookie em disco: o Orquestra ECM não faz uso do recurso para manter sessão do usuário quando o navegador for fechado, desse modo não salva o cookie em disco.

Não tramitar o Session ID utilizando método "GET": o Orquestra ECM faz uso do Framework .Net e quando configurado corretamente realiza as validações necessárias, como por exemplo não fazer uso de controle de sessão e cookie por URL:

<authentication mode="Forms">

   <forms protection="All" requireSSL="true" cookieless="UseCookies" name="SMLUniqueName" />

</authentication>

Password is in the HTML: o Orquestra ECM faz uso de campo do tipo "password", não exibindo assim informações que estão sendo digitadas em tela, também não faz uso de arquivos locais para salvar dados importantes como credenciais, dentre outras informações importantes.

The Absence of Account Lockout: Também permitimos a configuração para bloqueio de acesso do usuário em caso de tentativas de login sem sucesso, podendo configurar o limite de tentativas, assim como as regras para a composição do password. E, por padrão, independentemente de configuração, o Orquestra ECM faz uso do CAPTCHA após 2 tentativas de acesso ao sistema. Também é permitido determinar o prazo para expirar a senha do usuário, o forçando a trocar de senha periodicamente com controle para impedir a repetição de senhas anteriores.
Insecure Direct Object ReferencesAsseguradoValidação dos dados de entrada: o Orquestra ECM faz uso de declarações de variáveis e dados fortemente "tipados", mesmo para estruturas dinâmicas, assim como a arquitetura do Orquestra ECM foi construída para uso do AJAX, com isso o sistema não realiza POST/GET nas páginas. Também não fazemos uso de inputs do tipo "hidden" para enviar ou armazenar informações que serão armazenadas em banco.

Validação para chamadas externas: toda interação realizada entre a camada de apresentação (formulários e interface disponibilizada aos usuários) com as demais camadas são realizadas através de webservices (AJAX). Assim como são persistidas as estruturas de dados submetidas como parâmetro dos serviços.

Verificação dos direitos de acesso após a autenticação: além do controle de usuário logado, o Orquestra ECM valida todo o percurso de navegação do usuário, controlando o acesso à interface (camada de apresentação), funcionalidade (camada de negócio) e dados (camada de dados).
Cross-Site Request Forgery (CSRF)AsseguradoRestrição da comunicação com endereços de diferentes domínios (Cross Domain): por padrão, o Orquestra ECM não permite o acesso.

Mostrar a barra de endereços e desativar a limitação de uso botão direito do mouse: sempre deixamos visível a barra de endereços do navegador, assim como permitido o uso do botão direito do mouse. Esse tipo de acesso permite aos usuários, quando necessário, certificarem-se de que a página acessada corresponde ao mesmo domínio que é apresentado na barra de endereços.

Desabilitar frames: não fazemos uso de frames.
Security MisconfigurationAsseguradoAdvertência quanto comentários compilados ou publicados em código fonte: os arquivos distribuídos, acessíveis aos usuários não contém comentários de uso interno da equipe de desenvolvimento, assim como alguns formatos de arquivos como JavaScript são minificados, portando são removidos comentários e demais informações "desnecessárias" para sua execução.

Exposure of System Information: o Orquestra ECM faz uso da configuração de customErrors do ASP.NET, RemotyOnly ou On, impedindo que os usuários possam reunir informações sobre servidor e versões de softwares (banco de dados, framework, etc), no caso de exceções apresentamos uma mensagem amigável, permitindo acesso somente ao descritivo da exceção.

Validação para navegação por pasta e nome de arquivos: não disponibilizamos aos usuários a possibilidade de navegação por caminho físico de pastas e arquivos, assim como o acesso aos caminhos virtuais são restritos à usuários autenticados.

Explorar a mensagem de erro ao tentar realizar a autenticação do usuário: exibimos mesma mensagem quando realizada a tentativa de acesso ao sistema, informado que o usuário ou a senha podem estar incorretos.

Advertência para CodeSign: todos os activex´s usados pelo Orquestra ECM no módulo de digitalização estão assinados, facilitando a validação pelos usuários quanto a autenticidade/confiabilidade dos componentes que estão sendo executados.

Lista de diretório não está ativado em servidor web.
Insecure Cryptographic StorageAsseguradoEnvio de informações por método POST ou GET: o Orquestra ECM realiza o envio e recebimento de informações através de webservices (AJAX), salvo algumas páginas que recebem a referência de documentos por "url query string" criptografada, exemplo: Visualização e edição de documento.

Canal de comunicação criptografado: suportamos o uso do produto sob o protocolo HTTPS (SSL), os nossos ambientes em cloud atualmente estão configurados e em uso com HTTPS (SSL), assim como bloqueado o acesso HTTP, redirecionando para HTTPS.

Uso de Cookies com propriedade de segurança habilitada: por padrão, o Orquestra ECM requer SSL para cookies.

Validação para navegação por pasta e nome de arquivos: não disponibilizamos aos usuários a possibilidade de navegação por caminho físico de pastas e arquivos, assim como o acesso aos caminhos virtuais são restritos aos usuários autenticados. As referências do caminho físico ficam criptografadas.
Failure to Restrict URL AccessAsseguradoVerificação dos direitos de acesso: além do controle de usuário logado, o Orquestra ECM valida todo o percurso de navegação do usuário, controlando o acesso à interface (camada de apresentação), funcionalidade (camada de negócio) e dados (camada de dados).

Validação para navegação por pasta e nome de arquivos: não disponibilizamos aos usuários a possibilidade de navegação por caminho físico de pastas e arquivos, assim como o acesso aos caminhos virtuais são restritos aos usuários autenticados.
Insufficient Transport Layer ProtectionAsseguradoCanal de comunicação criptografado: suportamos o uso do produto sob o protocolo HTTPS (SSL), os nossos ambientes em cloud atualmente estão configurados e em uso com HTTPS (SSL), assim como bloqueado o acesso HTTP, redirecionando para HTTPS.

Uso de cookies com propriedade de segurança habilitada: por padrão, o Orquestra ECM requer SSL para cookies.
Unvalidated Redirects and ForwardsAsseguradoNão permitimos ou realizamos qualquer tipo de redirecionamento externo que não seja administrado pela ferramenta. Quando queremos redirecionar um usuário automaticamente para outra página (sem uma ação do usuário como clicar em um hiperlink) fazemos uso do comando ASP.NET Response.Redirect("/<caminho relativo>").