Segurança da informação
Segurança da informação é um tema extremamente importante para qualquer área de T.I.
E se você é da área de programação, esse assunto se torna ainda mais relevante, tendo em vista que o programador é o principal responsável por lidar com validações de segurança e tratativas de erros de um sistema.
Confidencialidade
O pilar de confidencialidade está relacionado diretamente com a privacidade dos dados. Ou seja, a garantia de que determinadas informações serão acessadas e visualizadas apenas por pessoas autorizadas.
Ou seja, as informações não devem estar disponíveis ou serem reveladas a qualquer um.
Alguns exemplos de informações confidenciais:
- Senhas de usuários
- Senhas de acesso do sistema (banco de dados, admin, etc)
- Relatórios e contratos
Etapas para reforçar o pilar de confidencialidade
Para reforçar a confidencialidade das informações, é importante definir algumas medidas de prevenção.
Defina níveis de acesso
Para garantir que somente apenas pessoas autorizadas tenham acesso a determinada informação, você pode definir níveis de acesso.
Ou seja, funcionários ou pessoas com cargos inferiores (de hierarquia menor), não devem ter acesso aos mesmos dados que pessoas com maior autoridade.
Políticas de senhas
Outra medida bastante eficaz para garantir a confidencialidade dos dados, é definir uma política rígida de senhas. Isso inclui:
- Definir uma quantidade mínima de caracteres, além da obrigatoriedade de números e caracteres especiais, a fim de evitar senhas curtas e fáceis de adivinhar
- Definir um tempo de validade da senha, para que o usuário troque-a de tempos em tempos.
- Usar tecnologias avançadas de login, como autenticação em dois fatores, biometria, entre outros
- Criptografia de informações sensíveis, como senhas de usuário no banco de dados, para evitar que pessoas com acesso ao banco não possam ver as senhas dos usuários
Integridade
Integridade é o pilar responsável por preservar a informação. Isto é: garantir que a informação dada não foi alterada por um terceiro sem autorização.
Se uma alteração não prevista for realizada nessa informação, ela poderá ser afetada e se tornar incorreta.
Ou seja, sua integridade (veracidade) teria sido comprometida.
Por exemplo: Se um aluno tiver acesso ao sistema da sua escola, ele poderá alterar a sua nota nos resultados de provas e exames.
Dessa forma, a informação não é íntegra, pois foi alterada sem autorização.
Sugestão de artigo: Ataque XSS: Exemplo e 3 passos para entender como funciona o Cross-Site Scripting.
Para reforçar a integridade das informações, é importante tomar algumas medidas de restrição e definir uma política de proteção de dados. Isso pode ser feito dos seguintes modos:
- Controlar o acesso dos usuários e funcionários
- Definir permissões de arquivos (Não usar chmod 777 é uma boa)
- Utilizar controle de versão (Git) para voltar a versões anteriores no caso de alterações inapropriadas ou de exclusão acidental de trechos de código, etc
- Backups recorrentes
Disponibilidade
O objetivo deste pilar é garantir que as informações estejam sempre acessíveis para o uso.
Ou seja, elas precisam estar sempre disponíveis para consultas pelos usuários, já que qualquer ausência pode atrapalhar ou impedir a tomada de decisões, contratos, vendas, e até prejudicar a relação com clientes e fornecedores.
Um exemplo bem recente de empresa que teve problemas com disponibilidade é a Facepunch, dona do jogo Rust.
Recentemente, um incêndio atingiu um dos data centers da empresa OVH, responsável pela disponibilidade dos dados do jogo na Europa, gerando um enorme prejuízo para ambas as empresas, já que houve perda total dos servidores.
A empresa, inclusive, confirmou que os dados dos jogadores não serão recuperados.
Você pode ver a notícia completa nesse artigo do TecnoBlog.
Garantindo a disponibilidade dos dados
Para garantir essa disponibilidade, é essencial que qualquer processo de manutenção de hardware ou software sejam feitos o mais rápido possível.
Também é essencial que a estrutura de tecnologias da empresa seja a melhor possível, bem como:
- Internet de boa qualidade (rápida e estável)
- Hardwares robustos (memória RAM, processador, etc)
- Utilização de ferramentas de Firewall
- Backups recorrentes
- CDN e medidas de prevenção de ataques DDOS
Segurança da informação: Conclusão
Nesse post você pode ver a importância da segurança da informação e os prejuízos que ela pode causar para uma empresa.
Dessa forma, é importante que você aprenda pelo menos o básico sobre o assunto, mesmo que seja de outra área (programação, suporte técnico, marketing, etc).
Outra questão importante a se estudar é sobre a nova lei de proteção de dados (LGPD). Sendo assim, deixo minha recomendação desse artigo do Medium sobre o assunto: Desenvolvedores: Como as leis de proteção de dados (LGPD e GDPR) afetam o seu trabalho.