Smarkio

Segurança no Smarkio

“Data is the new oil”
(Dados são o novo petróleo)

Este slogan reflete cada vez mais os tempos em que vivemos. O acesso a dados (de utilizadores, de interesses destes) passou a ser um dos assets mais valiosos das empresas e um dos mais frequentemente usado na valorização de empresas de tecnologia.

Proteger os dados passou a estar no topo da lista dos responsáveis tecnológicos das empresas. São inúmeros os casos de data breach em que largos volumes de dados de utilizadores (incluindo dados pessoais) são comprometidos o que se traduz em problemas de reputação para as empresas que os gerem ou até mesmo empresas que não conseguem sobreviver a um incidente sério de exposição de dados.

O Smarkio é uma plataforma de automação que gere largos volumes de dados (Terabytes) onde se incluem dados pessoais de utilizadores – os clientes ou potenciais clientes dos nossos clientes.

E a segurança dos dados e da nossa plataforma é uma das nossas maiores preocupações. E para isso, desenvolvemos e aplicamos uma série de medidas de segurança para garantir que os dados e a infraestrutura do Smarkio estão seguros.

 

Utilização de HTTPS

Começa finalmente a ser cada vez mais generalizada a utilização de HTTPS (HTTP seguro) em todas as comunicações HTTP. Para isso muito têm contribuído algumas iniciativas dos grandes players da indústria como a Google que passou a incluir avisos no Google Chrome sempre que o utilizador visita sites que não utilizam HTTPS ou que não estão configurados da maneira correta.

O HTTPS garante que a comunicação entre o computador do utilizador (Browser) e o servidor são encriptadas e que alguém que consiga interceptar esse tráfego – man in the middle attack  – não conseguirá ter acesso a nenhuma informação trocada.

No Smarkio utilizamos exclusivamente HTTPS:

  • No acesso à plataforma (back-end)
  • Na submissão de contactos diretos para o Smarkio em formulários (Form URLs)
  • Nos nossos chatbots
  • No carregamento (upload) de arquivos com contactos diretamente na plataforma

 

Utilização de SFTP (Secure FTP) para troca de ficheiros

O Smarkio permite o carregamento de arquivos com contactos via carregamento para um servidor FTP. Temos depois processos automáticos que sempre que detectam novos ficheiros, os processam automaticamente o que torna o processo totalmente automatizado.

Para garantir segurança na transmissão desses ficheiros, utilizamos sempre servidores SFTP (Secure FTP).

 

Proteção contra ataques

O Smarkio funciona em modelo SaaS (Software as a Service) e tem uma infraestrutura alojada na Cloud baseda em Microsoft Azure.

Apesar de por vezes ainda encontrarmos alguma resistência e dúvidas sobre ambientes Cloud vs. ambientes On-Premises, as infraestruturas em Cloud oferecem hoje mecanismos de segurança que se tornam difíceis conseguir replicar e manter em ambientes On-Premises como:

  • Proteção contra ataques de Distributed Denial of Service (DDOS)
  • Proteção contra IP Spoofing
  • Proteção contra ataques man-in-the-middle
  • Facilidade de configuração de regras de firewall, redes privadas com efeito imediato

Mais informação sobre segurança em Microsoft Azure pode ser encontrada aqui

 

Servidores protegidos – Virtual Private Network

A infraestrutura Smarkio é composta por dezenas de servidores virtuais (Virtual Machines) com funções distintas: servidores Web, servidores aplicacionais, bases de dados, sistemas de filas (queues).

A maior parte destes servidores virtuais precisa unicamente de ser acedido internamente por outros servidores/serviços do Smarkio.

E para proteger todos estes sistemas de ataques, no Smarkio temos todos esses servidores virtuais dentro de uma Virtual Private Network que é uma rede virtual exclusiva dentro da Cloud (Azure) que permite configurar que acessos são possíveis do exterior com regras claras de segurança (firewall).

Na infraestrutura Smarkio, os únicos serviços que são acessíveis do exterior (Internet) são os servidores Web (HTTP) nas portas 80 (HTTP)* e 443 (HTTPS).

* Qualquer acesso na porta 80 – HTTP não seguro – é automaticamente redireccionado para o endereço HTTPS (porta 443).

 

Dados encriptados

Outra vantagem de utilização de um ambiente Cloud como a Microsoft Azure é que todos os sistemas de storage (discos) fazem encriptação automática dos dados – Encryption at Rest

No caso improvável de um atacante ter acesso à camada de storage (discos) não terá possibilidade de consultar os dados pelos mesmos estarem encriptados.

 

Ligações seguras com sistemas on-premises de clientes

Temos já em funcionamento várias implementações com clientes onde é comum a necessidade do Smarkio interagir com APIs/Web Services em sistemas dos nossos clientes – por exemplo num chatbot que dá informação sobre o saldo de uma conta a um utilizador.

Temos vários clientes com este tipo de requisito dentro da área financeira, onde os sistemas do cliente que precisam de ser acedidos estão apenas disponíveis em redes privadas On-Premises e em que os requisitos de segurança são apertados.

Para esses casos, a nossa solução é montar uma VPN (Virtual Private Network) entre a nossa rede interna no Microsoft Azure e a rede do cliente.

As VPNs  que normalmente montamos têm as seguintes características:

  • Apenas é permitido acesso aos serviços / servidores dos clientes que é necessário a partir da rede privada Smarkio

 

Controlo de Acessos / Permissões

O Smarkio dispões de um módulo de gestão de utilizadores e acessos que permite controlar que utilizadores têm acesso ao Smarkio, a que funcionalidades podem aceder e em que modo (leitura / escrita). Algumas características deste módulo para aumentar a segurança:

  • Um utilizador apenas terá acesso às funcionalidades que o seu perfil de acesso permite
    • Para além de retirarmos opções do menu que o utilizador não tem acesso, o acesso direto ao endereço da funcionalidade também é barrado
  • Se o utilizador tiver acesso a uma funcionalidade em modo de leitura não poderá gerir essa funcionalidade
  • Na criação de um utilizador é enviado um email de ativação para o novo utilizador para que este proceda à sua ativação. Isto garante que:
    • A password do utilizador não é definida pelo gestor que cria o acesso e transmitida por meios não seguros (ex: email, instant messaging)
    • Que só após o novo utilizador ativar o seu utilizador definindo uma password tem acesso ao Smarkio e às suas funcionalidades
  • O Smarkio não armazena as passwords de utilizadores em modo texto mas sim de forma encriptada
    • Isto é um standard que é aplicado pela grande maioria das ferramentas online com autenticação, no entanto por vezes ainda nos deparamos com casos em que após fazermos o registo de um utilizador recebemos um email de confirmação onde aparece escrita a nossa password – o que indica que a password é guardada de forma livre no sistema destino
    • No improvável caso de um atacante ter acesso à base de dados onde temos as passwords de utilizadores, o atacante não terá forma de saber qual a password de um utilizador
  • Temos um registo (Audit Log) na plataforma em que registamos todos os acessos (logins com sucesso, logouts, tentativas de acesso indevido) que permite um maior controlo da atividade e de atividades suspeitas.

 

Continuidade de Negócio – Backups

Lidando com dados é mandatário aplicar práticas de garantia de continuidade de negócio – o típico “o que acontece se alguém apagar a base de dados?”, “o que acontece se a base de dados ficar corrompida?”.

No Smarkio abordamos o tema da continuidade de negócio da seguinte forma:

  • Servidores Aplicacionais / Infraestrutura
    • Toda a nossa infraestrutura é criada / mantida de forma automatizada – Infrastructure as Code
    • Isso permite-nos rapidamente replicar a nossa infraestrutura, substituir servidores virtuais que estão comprometidos / não estão funcionais
    • Sempre que lançamos novas versões do nosso sistema – Releases – não atualizamos os servidores atuais mas sim lançamos novos servidores com as novas versões da aplicação e desligamos progressivamente os servidores antigos sem downtime – Immutable Infrastructure
  • Dados / Motores de Bases de dados
    • Temos processos de backup automáticos dos nossos dados
    • Esses backups são armazenados de forma encriptada usando Geo Redundant Storage
      • Replicados para 2 regiões distintas e dentro de cada região replicados para 3 nós independentes
    • Mantemos esses backups durante:
      • 7 dias para os backups diários
      • 2 semanas para os backups semanais
      • 1 mês para os backups mensais

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *