Um guia de práticas recomendadas de segurança para equipes remotas
Publicados: 2022-03-11Sempre que digo aos meus amigos que trabalho remotamente para um cliente que nunca conheci, eles me perguntam: é seguro para você trabalhar remotamente? Minha resposta é um retumbante “Sim… mas depende de quão bem você cria sua política de segurança de trabalhador remoto”.
Eu moro no Paquistão, onde produzo código de valor para clientes do outro lado do planeta. Meus clientes nunca apertaram minha mão ou viram onde trabalho. E, no entanto, espero garantir que os segredos e o código do cliente permaneçam protegidos. Em um mundo onde os membros de sua equipe não estão familiarizados com seu rosto ou sua voz, como você evita violações de segurança? A resposta é: tomando muito cuidado.
Há pouco tempo, acreditávamos que, para garantir o desempenho e a segurança de nossos aplicativos, precisávamos executá-los em nosso datacenter privado. Em seguida, a nuvem surgiu e adotamos os benefícios de custo e desempenho de executar nossos aplicativos em uma plataforma escalável sob demanda sem manter uma frota de servidores em uma sala.
Permita-me contar-lhe um segredo bem conhecido:
É apenas o computador de outra pessoa.
Agora, empresas como Uber 1 e Stripe 2 armazenam e processam informações de localização de clientes em tempo real, cartões de crédito e pagamentos no servidor de um provedor de nuvem, ao mesmo tempo em que aderem a padrões de segurança rígidos, como conformidade com PCI. Eles fazem isso adotando políticas rígidas que garantirão que seus dados de produção permaneçam seguros.
Se as empresas puderem garantir que todo o seu ambiente de produção permaneça seguro, apesar de funcionar fora de seus data centers privados, certamente podemos garantir a segurança do seu desenvolvimento usando equipes de desenvolvimento remotas. Afinal, empresas inteiras são capazes de funcionar totalmente remotamente. A Toptal é uma empresa somente remota, e estamos contratando.
O que é “segurança” e como posso “estar seguro”
Ao longo deste artigo, quando falo em “segurança”, quero dizer segurança da informação .
O termo “segurança da informação” significa proteger a informação e os sistemas de informação contra acesso, uso, divulgação, interrupção, modificação ou destruição não autorizados. – 44 Código dos EUA § 3542
Não existe segurança perfeita , mas “estar seguro” significa que você tomou medidas razoáveis para garantir a segurança das informações.
Especificamente, quando você diz “meu ambiente de trabalho é seguro”, você quer dizer que tomou medidas razoáveis para proteger os dados, código ou outras informações confidenciais sob seus cuidados e garantiu sua integridade. Você também tomou medidas para garantir que seus privilégios de acesso a sistemas de informações confidenciais não sejam usados por você ou por um indivíduo não autorizado de maneira prejudicial aos objetivos da organização proprietária dessas informações e desses sistemas.
As equipes remotas têm uma superfície de ataque muito maior do que as equipes centralizadas. Ao contrário de uma equipe centralizada, onde você pode bloquear fisicamente informações confidenciais por trás de firewalls e estações de trabalho da empresa, como trabalhador remoto, você é incentivado ou até obrigado a trazer seu próprio dispositivo (BYOD). Além disso, como a maioria de suas comunicações acontece on-line, você fica muito mais suscetível à engenharia social e ao roubo de identidade. No entanto, com o conjunto certo de políticas em vigor, você certamente pode minimizar o risco de uma violação.
Não existe bala de prata para segurança. Muitas vezes, há uma troca entre os tons de segurança e conveniência, e cabe a você determinar até onde deseja levar suas práticas de segurança, mas lembre-se de que sua equipe é tão segura quanto seu membro mais fraco. Vamos dar uma olhada em alguns ataques de segurança comuns, estratégias de defesa e, finalmente, discutir um exemplo de política de segurança remota.
Os três tipos mais comuns de ataques adversários
Você não está preparado se não sabe o que vai enfrentar. Um adversário pode usar muitas estratégias em seu ataque, mas a maioria se enquadra em três categorias. Embora esta lista não seja exaustiva, estes são três tipos comuns de vetores de ataque que hackers maliciosos podem usar:
- Engenharia social
- Phishing
- Infecções de malware
Engenharia social
Também considerada hacking humano, a engenharia social é a prática de manipular as pessoas para agir de uma maneira que não é de seu interesse; isso pode incluir a divulgação de informações confidenciais.
Os ataques de engenharia social podem tentar explorar sua compaixão em uma tentativa de fazer você contornar as boas práticas ou criar um senso de urgência onde eles fazem você ignorar as melhores práticas, temendo uma ação negativa contra você se você não cumprir.
Exemplos de engenharia social incluem:
- Uma mulher liga para uma operadora de celular e fala com o agente de suporte para alterar a conta de alguém enquanto um clipe do YouTube de um bebê chorando é reproduzido em segundo plano.
- Um invasor envia um e-mail a um CEO por meio do endereço de e-mail do CFO e autoriza uma transferência de fundos de US$ 1,8 milhão.
Phishing
Phishing é o método mais comum para roubar suas credenciais. Imagine um site que se parece com o Facebook, onde você faz login, pensando que é a coisa real. Phishing é quando um invasor cria um site que parece legítimo, mas não é.
Você consegue identificar o facebook falso? Dica: é o que não está no Facebook.com.
Às vezes, os hackers podem envenenar sua internet e injetar seu site no domínio do Facebook, isso é chamado de ataque Man in The Middle, mas não se preocupe, seu navegador pode avisá-lo sobre isso.
Spear phishing é outra forma de phishing em que a página de phishing pode ser personalizada para você ou sua organização. Isso torna mais provável que você caia nessa, especialmente quando combinado com engenharia social.
Vou contar uma história: quando eu estava na escola, alguém que tinha aprendido recentemente sobre phishing criou um site falso no Facebook e mudou as páginas iniciais do laboratório de informática para sua criação. A próxima coisa que ele percebeu, essa pessoa tinha trezentas senhas de contas do Facebook. Este ataque foi especificamente direcionado à minha escola e acabou sendo um ataque bem-sucedido de spear phishing.
E pensar que todas essas senhas teriam permanecido seguras se alguém tivesse se dado ao trabalho de olhar para a barra de endereços.
Infecção por malware
Existem centenas de tipos diferentes de malware por aí. Alguns são inofensivos ou apenas irritantes, mas alguns podem ser muito perigosos. Os tipos mais importantes de malware a serem observados são:
- Spyware: Instala e grava silenciosamente suas teclas, tela, áudio e vídeo.
- Ferramentas de administração remota (RATs): Permitir controle total sobre seu computador.
- Ransomware: Criptografa todos os seus arquivos importantes e faz você pagar pela chave de descriptografia.
Para que você instale intencionalmente malware personalizado em seu computador, os invasores geralmente usam engenharia social:
- O invasor planta drives USB “perdidos” no estacionamento da empresa para coletar as credenciais de login dos funcionários.
- Um homem que derramou café em seu currículo pede à recepcionista que lhe imprima uma cópia de algo porque ele tem uma entrevista, fazendo com que um computador da empresa seja infectado por uma carga maliciosa em um USB. (Exemplo de The Art of Human Hacking).
Sete estratégias de defesa cibernética que você precisa agora
Discutimos os métodos de ataque adversários mais comuns, mas como nos mantemos a salvo deles?
Estratégia nº 1: Gerenciamento adequado de senhas
Eu odeio senhas. Aí eu falei. Acredito firmemente que a combinação de nome de usuário e senha é a forma mais fraca de autenticação de usuário existente. Uma senha nada mais é do que uma pequena sequência de caracteres gerada pelo pior gerador de números pseudoaleatórios que existe: a mente humana.
Eu preciso de uma palavra secreta, hein? Que tal meu nome do meio e ano de nascimento, com certeza ninguém será capaz de adivinhar isso! – Todo ser humano
O pior é que, por conveniência, as pessoas tendem a reutilizar senhas. Isso possibilita que alguém use a mesma senha para o login do banco e do WiFi doméstico, ao mesmo tempo em que torna provável que a senha termine com o nome de sua banda favorita . O horror!
Anos atrás resolvi fazer o seguinte:
- Use um gerenciador de senhas
- Use senhas fortes em vez de senhas
Use um gerenciador de senhas
Quando eu disse que há uma troca entre os tons de segurança e conveniência, isso não se aplica aqui. Ou você está seguro e está usando um gerenciador de senhas, ou não está. Não há meio-termo. É obrigatório que você esteja usando um gerenciador de senhas para uma boa segurança de senha. Eu vou explicar.
- Todas as suas senhas são únicas?
- Se eu descobrir algumas de suas senhas, as demais permanecerão seguras?
- Todas as suas senhas foram criadas usando pelo menos 32 bits de entropia?
- Suas senhas são armazenadas apenas de forma criptografada?
- Você se lembra perfeitamente de todas as senhas que usou ao se inscrever?
- Você dá positivo para um vazamento de senha neste site?
Se você respondeu “não” a qualquer uma das perguntas acima, você precisa de um gerenciador de senhas. Um bom gerenciador de senhas gerará aleatoriamente suas senhas para você e as armazenará com segurança. Não importa qual gerenciador de senhas você usa, contanto que você use um!
Eu uso o LastPass porque gosto de como eles são transparentes com seus relatórios de incidentes, a capacidade de compartilhar minhas credenciais com amigos e revogar o compartilhamento quando quiser, e gosto do fato de que a sincronização móvel faz parte do plano gratuito.
Uso o LastPass há anos, e o desafio de segurança deles me diz que estou no top 1% de usuários preocupados com segurança.
Senhas fortes em vez de senhas
Isso pode parecer contra-intuitivo, já que pedi para você usar um gerenciador de senhas acima, mas há casos em que as senhas são inevitáveis: você precisará de uma senha mestra forte para seu gerenciador de senhas ou para fazer login em seu computador. Nesses casos, use uma senha segura e memorável com alta entropia.
Falando em entropia, vamos falar um pouco sobre isso. O que é essa “entropia” de que falo?
A entropia é um parâmetro estatístico que mede, em certo sentido, quanta informação é produzida em média para cada letra de um texto no idioma. Se o idioma for traduzido em dígitos binários (0 ou 1) da maneira mais eficiente, a entropia H é o número médio de dígitos binários necessários por letra do idioma original. – Claude Shannon
Tudo bem se essa citação foi difícil de digerir. Basicamente, a entropia de uma senha, selecionada aleatoriamente de um conjunto, é o número total de elementos do conjunto expresso em base 2. Por exemplo: Se você tem uma senha de 4 caracteres, que só pode conter letras minúsculas, a entropia para uma senha gerada aleatoriamente seria de 19 bits porque:
- Existem 26 elementos em um alfabeto minúsculo
- Uma cadeia de 4 caracteres composta por essas letras é
26^4
= 456.976 - 456.976 expresso na base 2 é
log(456,976) / log(2)
= 19 bits (arredondado para o bit mais próximo)
O problema com senhas de alta entropia é que elas acabam sendo difíceis de lembrar, como c05f$KVB#*6y
. Para torná-los mais memoráveis, e se, em vez de usar letras únicas, usássemos palavras inteiras? E usou um dicionário de mil palavras? De repente, nosso alfabeto se torna um milhar de elementos, e podemos alcançar a mesma entropia em 7 palavras que teríamos com 11 caracteres.
A diferença agora é que em vez de usar uma senha , estamos usando uma frase secreta , que é muito mais longa.
A seguinte história em quadrinhos XKCD explica melhor esse conceito:
A maneira mais fácil de gerar uma senha aleatória segura é acessando aqui.
Estratégia nº 2: use autenticação multifator (MFA)
Autenticação de dois fatores (2FA) ou verificação em duas etapas são nomes para a mesma coisa. Esta é uma daquelas coisas que requer um pouco de adaptação, mas os benefícios de segurança do 2FA excedem em muito os custos e pessoalmente me salvaram de violações de contas duas vezes!
A ideia por trás do MFA é simples. Há três coisas que podemos usar para autenticar você:
- Algo que você sabe (um segredo)
- Algo que você tem (um token)
- Algo que você é (sua biologia)
Usar dois é mais seguro do que usar apenas um.
A maioria dos sites oferece suporte ao primeiro fator de autenticação exigindo uma senha, mas um número crescente de serviços começou a oferecer suporte ao segundo fator também. O terceiro fator geralmente é deixado de lado pelos serviços da web, pois requer hardware especializado; como o sensor de impressão digital do seu telefone.
Se você for administrador de uma equipe, considere criar uma política obrigatória para que os usuários tenham configuração 2FA. Isso garante que o comprometimento da senha não resultará no comprometimento da conta.
Existem duas formas populares de “algo que você tem”:
- Seu telefone
- Uma chave U2F
Usando seu telefone para 2FA
Eu gostaria de dizer isso logo de cara: não use códigos SMS para 2FA. Está se tornando uma prática comum pessoas mal-intencionadas sequestrarem seu número de telefone. A história é quase sempre a mesma: alguém fez engenharia social para uma operadora transferir seu número de telefone para outra operadora. Conheço pelo menos uma pessoa que foi vítima deste ataque.
Em vez disso, use senhas descartáveis baseadas em tempo (TOTP), também chamadas de método “Google Authenticator”. No entanto, em vez de usar o Google Authenticator, recomendo usar o Authy, pois ele criptografa e faz backup de seus tokens 2FA na nuvem. Você pode restaurar seus tokens 2FA mesmo se mudar de dispositivo... na verdade, você pode usar os mesmos tokens em vários dispositivos. É muito conveniente.
Usando uma chave U2F para 2FA
Este é o método 2FA mais simples e poderoso. Eu tenho um Yubikey Neo que posso usar com meu telefone e meu computador. Para provar minha identidade, basta conectar meu token de hardware e pressionar um botão. Meu token é único e sendo um token físico; Posso carregá-lo no meu chaveiro ou na minha carteira.
Estratégia nº 3: Vigilância Constante
Independentemente de quão seguro você acredita que está, uma quantidade saudável de suspeita é uma coisa boa. Desconfie de pessoas pedindo para você fazer algo fora do comum. Você recebeu uma mensagem de texto de alguém pedindo para redefinir a senha? Espere um minuto e entre em uma videochamada com eles. Peça que provem sua identidade. Ninguém pode culpá-lo por ser cauteloso.
Não é paranóia se eles realmente querem te pegar. – Harold Finch, Pessoa de Interesse
Eles realmente estão atrás de você. Às vezes, não há razão para um usuário mal-intencionado fazer o que faz, além da vontade de fazê-lo.
Certa vez, um amigo meu recebeu uma mensagem de um velho conhecido perguntando se gostaria de ser seu “contato de confiança” no Facebook. Meu amigo concordou e foi solicitado a responder com um código que receberia em seu telefone, que meu amigo prontamente deu… e foi assim que meu amigo foi submetido a engenharia social para fornecer o token de redefinição para sua conta do Gmail. Se minha amiga estivesse vigilante desde o início, ela nunca teria perdido seus e-mails.
Estratégia No. 4: Sistemas de Design de acordo com o Princípio do Mínimo Privilégio
O princípio do privilégio mínimo requer que em uma determinada camada de abstração de um ambiente de computação, cada módulo (como um processo, um usuário ou um programa, dependendo do assunto) seja capaz de acessar apenas as informações e recursos necessários. para sua finalidade legítima. – Wikipédia
Se um usuário, aplicativo ou serviço não exigir determinados privilégios, não os conceda. Você pode derivar muitas regras desse princípio, mas vou guardá-las para a próxima seção sobre políticas de segurança.

Deixe-me contar uma história: uma vez eu estava projetando um aplicativo que aceitaria pagamentos em Bitcoin de usuários em endereços gerados exclusivamente para eles e os encaminharia para um endereço de armazenamento seguro central. Se você não estiver familiarizado com o funcionamento do Bitcoin, aqui está uma explicação simplificada: você precisa de uma chave pública para receber o Bitcoin (como um número de conta) e uma chave privada correspondente para gastá-lo (como um alfinete de conta). Os números de conta e os pinos no Bitcoin são vinculados criptograficamente e não podem ser alterados.
Eu tinha várias opções para projetar este sistema, mas decidi tomar um caminho um pouco mais longo. Decidi que, para solicitar que o usuário pagasse, o aplicativo não precisava de acesso às chaves privadas. Então, em vez de projetar um grande sistema que receberia e encaminharia pagamentos em Bitcoin, fiz dois sistemas:
- O sistema de recebimento: Este recebia Bitcoin dos usuários e era hospedado na internet pública. Continha apenas as chaves públicas para os endereços.
- Um sistema de encaminhamento: Este era um sistema completamente independente e bloqueado, cujo único trabalho era observar a rede Bitcoin para transações nos endereços e encaminhá-los para o endereço seguro. Ele continha chaves públicas e privadas para os endereços.
Muito tempo depois, depois que parei de manter o aplicativo, o sistema de recebimento público foi violado. Eu o desliguei prontamente, mas o invasor nunca conseguiu roubar o Bitcoin porque o sistema público não continha nenhuma chave privada.
Estratégia nº 5: use as melhores práticas de bom senso
Algumas práticas não precisam de explicação. Você provavelmente sabe que eles são importantes, mas estou constantemente surpreso com quantas pessoas (inclusive eu) esquecem de apertar alguns botões. Vou deixar este checklist aqui:
- Ative seu firewall
- Criptografe seu disco
- Ativar backups criptografados
- Usar chaves SSH
- Use uma conexão de internet segura
Ative seu firewall
Um firewall controla o tráfego de rede de e para seu computador com base em um conjunto de regras. Ele funciona perguntando explicitamente se você deve permitir que novos programas acessem sua rede e é sua primeira linha de defesa.
Seu sistema operacional provavelmente vem com um firewall integrado. Certifique-se de que ele esteja ativado.
Criptografe seu disco
A criptografia completa do disco é essa habilidade mágica de tornar inútil todo o conteúdo do disco sem a sua senha. Caso seu laptop seja perdido ou roubado, você pode ter certeza de que ninguém poderá acessar seus dados. Habilitar isso pode ser tão simples quanto ativar o FileVault em um Mac.
Os telefones celulares modernos também têm a criptografia de disco completa habilitada por padrão.
Criptografe seus backups
O hardware falha, é um fato da vida. Sua máquina falhará um dia, ou um vírus infectará seu PC, ou (estremecer) um vírus ransomware assumirá seu PC. Mas como uma pessoa pragmática, você provavelmente já tem uma configuração de fluxo de backup, tenho certeza... não tem?
No entanto, mesmo com seus backups, você deve permanecer vigilante. Certifique-se de que seus backups sejam criptografados para que, mesmo que sejam perdidos ou roubados, você possa ter certeza de que tomou medidas razoáveis para proteger a segurança dos dados que lhe foram confiados.
Se você tiver um Mac, o aplicativo Time Machine no seu Mac criptografa automaticamente os backups.
Usar chaves SSH
Se você tirar alguma coisa deste artigo, pare de usar senhas para SSH em máquinas. As senhas são difíceis de compartilhar e, se vazarem, toda a sua máquina ficará comprometida. Em vez disso, crie uma chave SSH simplesmente executando ssh-keygen
.
Para fazer login em uma máquina remota, simplesmente copie o conteúdo de seu ~/.ssh/id_rsa.pub
local para ~/.ssh/authorized_keys
na máquina remota. Pode ser necessário reiniciar o serviço SSH na máquina remota, mas é isso.
Adicione as chaves SSH de toda a sua equipe à máquina remota e ninguém precisará digitar uma senha novamente. Revogar a chave de um membro da equipe é tão simples quanto remover a chave da máquina remota.
Use uma conexão de internet segura
Quando você compartilha uma conexão com a Internet com alguém, você compartilha mais do que sua largura de banda. Dependendo da configuração dos sites e da sua internet, eles podem pelo menos detectar quais sites você visita e, na pior das hipóteses, ler todas as informações que você transmite, incluindo senhas, mensagens ou e-mails.
Isso é muito simples de habilitar e extremamente fácil de estragar também. Tome precauções razoáveis para garantir que sua conexão seja privada. Certifique-se de que ninguém não autorizado tenha acesso à sua conexão com a Internet.
Use WPA2 para proteger com senha seu próprio WiFi pessoal e, se estiver trabalhando em uma cafeteria local (ou em qualquer WiFi público), suponha que está sendo observado e use um proxy VPN.
Eu hesito em usar VPNs baseadas em assinatura, especialmente porque lançar o seu próprio é tão simples. Use esta solução de VPN de uma linha para hospedar o seu próprio.
Estratégia No. 6: Trate Segredos com Cuidado
Segredos não devem ser divulgados. É por isso que eles são chamados de segredos . Apesar disso, quantas vezes você foi culpado de enviar a senha para o banco de dados PostgreSQL de produção via Facebook Messenger? Certifique-se de que você sempre:
- Criptografar segredos em trânsito
- Gire-os com frequência
Criptografar segredos em trânsito
Se você precisar compartilhar segredos por meio de canais como bate-papo, verifique se eles estão criptografados. Como exercício, visite seu cliente de bate-papo mais usado e mais antigo. Podem ser mensagens do Facebook ou Whatsapp. Independente do que seja, abra e procure a frase “senha” em suas mensagens.
Se esses segredos tivessem sido criptografados, eles não estariam disponíveis para qualquer pessoa com acesso às suas mensagens.
Gire os segredos com frequência
Quanto mais tempo um segredo existe ou quanto mais ele foi compartilhado, maior a probabilidade de ele ter sido comprometido. É considerado uma boa prática alternar segredos e senhas após um determinado período de tempo.
Estratégia nº 7: Estabelecer identidades criptográficas
Esta é certamente uma estratégia avançada, mas eu pessoalmente não entendo por que isso não é uma prática generalizada. Considere o seguinte: seu colega de trabalho acredita que você foi comprometido. Como eles passam uma mensagem para o verdadeiro você? Se alguém da Internet precisa compartilhar informações importantes sobre vulnerabilidades, como eles as enviam com segurança? Como você garante que seus funcionários compartilhem informações com segurança em trânsito?
Meu exemplo favorito disso é o perfil keybase da Coinbase, onde eles assinam criptograficamente as chaves PGP de seus funcionários. Eles foram mais longe e deram ao departamento de conformidade uma chave PGP. Sério, Coinbase, ótimo trabalho!
Para mim, pessoalmente, caso alguém tenha uma dúvida razoável de que minha identidade online foi comprometida, basta me pedir para assinar uma mensagem usando a chave PGP disponível no meu perfil de base de chaves. Sou a única pessoa com acesso a essa chave PGP e tomei precauções razoáveis para garantir que essa chave permaneça segura mesmo que minhas outras identidades sejam comprometidas.
Em caso de dúvida sobre a autenticidade de uma mensagem, peça-me para assiná-la. Se você precisar me enviar um segredo, criptografe-o com minha chave pública.
Implementar uma política de segurança de trabalhador remoto claro
A política de segurança é uma definição do que significa ser seguro para um sistema, organização ou outra entidade. Para uma organização, trata das restrições de comportamento de seus membros, bem como das restrições impostas aos adversários por mecanismos como portas, fechaduras, chaves e paredes. – Wikipédia
Uma política de segurança é uma regra ou protocolo obrigatório que deve ser seguido ao executar ações. As estratégias acima são úteis, mas para torná-las mais fáceis de seguir, dê à sua equipe um conjunto simples de regras a serem seguidas. É mais difícil atrapalhar a segurança quando sua equipe sabe exatamente o que fazer.
Vamos discutir exemplos de uma política de segurança de trabalhador remoto a ser implementada.
Políticas a serem implementadas para seus funcionários :
- NDAs e contratos: Certifique-se de que nenhum funcionário tenha acesso a quaisquer recursos confidenciais sem a devida fundamentação legal.
- Informações de contato de emergência: anote as informações completas e de contato de emergência do seu funcionário caso o membro da equipe remota não responda.
- Conceda apenas privilégios essenciais: se o membro de sua equipe não precisar de acesso a determinadas áreas para desempenhar sua função, não conceda acesso a ele. Um membro da equipe de vendas não precisa acessar seu repositório de código.
- Gerenciadores de senhas: garanta que seus funcionários tenham acesso a um gerenciador de senhas
- Políticas de autenticação fortes
- Força mínima da senha: pessoalmente, odeio senhas e, para organizações em que sou administrador, exijo senhas com no mínimo cinquenta caracteres alfanuméricos. É trivial aderir a essa política se você estiver usando um gerenciador de senhas.
- Redefinições de senha obrigatórias: certifique-se de que as senhas de seus funcionários expirem com frequência para alternar os segredos com frequência.
- Autenticação de dois fatores : use 2FA em todos os lugares
- Chaves PGP
- Discos rígidos criptografados
- Backups criptografados
Os funcionários saem, mas não devem levar suas informações junto com eles. Adapte essas políticas para reter dados mesmo depois que seus funcionários deixarem a empresa:
- Contas de e-mail corporativas: fornecer contas de e-mail aos seus funcionários em seu próprio domínio permite desativar e auditar suas comunicações.
- Comunicações em tempo real: embora o e-mail seja ótimo, às vezes sua equipe precisa conversar em tempo real. Certifique-se de que sua equipe tenha um canal Slack ou IRC centralizado. Isso lhe dá a capacidade de desabilitar ou auditar suas comunicações conforme necessário.
- Repositórios de código centralizado: Certifique-se de que todo o código da empresa esteja armazenado em um repositório de código da empresa. Os planos da empresa em ofertas públicas de SaaS, como o GitHub, são bons até que você precise de controle refinado sobre todo o código de funcionário. No último caso, considere obter sua própria instância do GitLab.
Políticas para proteger sua infraestrutura :
- Mantenha os sistemas atualizados: as vulnerabilidades de segurança são descobertas e corrigidas todos os dias, é seu trabalho garantir que você aplique essas correções. Não há nada pior do que descobrir que uma violação foi causada por uma vulnerabilidade corrigida semanas atrás.
- Bloqueie ambientes de produção e preparação: Nenhum funcionário deve ter acesso a ambientes de produção ou preparação. Às vezes eles simplesmente atrapalham.
- Crie um fluxo de CI/CD forte: você sempre deseja implantar um código “bom”, e o processo de CI/CD direto sempre garante isso.
- Proteja o repositório abençoado: se você tiver um processo de CI/CD automatizado, certifique-se de que seu repositório abençoado seja editável apenas pelo gerente de projeto.
- Defina um processo de revisão: para garantir que nenhum código “ruim” passe despercebido, crie um processo de revisão. Isso pode ser tão simples quanto exigir pelo menos um comentário independente “Parece bom para mim” (LGTM) antes da fusão.
- Chaves SSH: caso seu aplicativo exija acesso SSH, certifique-se de que eles usem chaves SSH em vez de senhas.
- Considere descartar o BYOD: a equipe de orçamento pode pensar que o BYOD é a melhor inovação de política desde o escritório sem papel, mas se você puder pagar, considere fornecer à sua equipe máquinas corporativas nas quais você possa implementar políticas de segurança rigorosas.
- Backups criptografados: Seus dados são importantes.
Políticas ao escrever código :
- Sem segredos no código: devido à natureza do controle de versão, pode ser muito difícil remover dados quando adicionados no código, onde as chaves secretas são muito fáceis de encontrar.
- Bcrypt ao armazenar senhas: Ao projetar um sistema de autenticação, use bcrypt para hash e salt suas senhas em vez de projetar seu sistema ou (gulp) armazenar em texto simples.
- Filtre informações confidenciais de logs: seja sua pimenta global, a chave de assinatura de sessão do seu aplicativo ou a tentativa de login de um usuário, certifique-se de que eles não vazem nos arquivos de log do sistema, onde qualquer pessoa com acesso possa lê-los.
- Conceda o mínimo de privilégios necessários: Se seu aplicativo só precisa de privilégios
READ
, não conceda privilégiosWRITE
. Aderir ao princípio do privilégio mínimo.
Crie um plano de resposta
As violações de segurança acontecem ocasionalmente e, embora haja muito tempo para aprender durante um post-mortem, o que importa é que haja um caminho claro para proteger todos os ativos digitais.
Aproveite o tempo para elaborar um plano de contingência no caso de ocorrer uma violação de segurança. Considere suas ações nos seguintes cenários:
- Você perde um dispositivo com dados confidenciais.
- Sua infraestrutura pode ter sido acessada por uma parte não autorizada.
- Você observa alguém em sua equipe se comportando estranhamente diferente de si mesmo.
- Uma vulnerabilidade de segurança é descoberta.
Coisas para incluir em seu plano de resposta:
- Documentação diligente: habilite a gravação de tela, configure um wiki para sua equipe compartilhar tudo o que encontrar.
- Contenção de violação: dependendo do escopo da violação, isso pode ser tão simples quanto desabilitar uma conta de usuário, colocar um servidor offline ou encerrar a produção e entrar em contato com seus usuários.
- Estabeleça comunicação interna: inicie um canal Slack dedicado ou encontre uma maneira de qualquer pessoa relatar o que encontrar.
- Trazendo ajuda: Ligue para todas as equipes afetadas pela violação. Este pode ser um bom momento para entrar em contato com as autoridades também.
- Investigar: descobrir o que foi violado, até que ponto e o que podemos fazer para retomar as operações normais.
- Voltando a ficar online: crie, teste e publique uma correção para retomar as operações normais o mais rápido possível. Seus usuários dependem do seu serviço para funcionar e, no momento em que você puder garantir um serviço estável e seguro, volte a ficar online.
- Converse com seus usuários: não deixe seus usuários no escuro. A pior coisa que você pode fazer é interromper seu serviço sem explicar o que está acontecendo para seus usuários. Estabeleça um canal de atualização ao vivo; isso pode ser tão simples quanto usar o Twitter para mantê-los informados. Depois que o incidente for tratado, publique um relatório post-mortem falando sobre o que aconteceu, como aconteceu e o que você fez para evitar violações semelhantes no futuro.
Incidentes de segurança acontecem. O que importa é como você lida com sua resposta. Uma das minhas respostas favoritas, de longe, foi em 2015, quando o LastPass emitiu redefinições obrigatórias de senha mestra quando detectou atividade de rede anômala. Sou usuário do LastPass há muito tempo e, apesar de seus recentes problemas de segurança, adoro a maneira como eles respondem aos clientes, colocando suas necessidades em primeiro lugar.
Leitura recomendada
Para reiterar: não existe segurança perfeita. Tudo o que importa é que você garanta que fez um esforço razoável para manter seus dados seguros.
Essas práticas de segurança devem tornar você e sua equipe remota significativamente mais difíceis de hackear.
Se você quiser ler uma história real de um hacker fugitivo fugindo da lei, recomendo Ghost in the Wires , de Kevin Mitnick.
Se você quiser saber mais sobre como o outro lado pensa, recomendo a leitura:
- Engenharia Social: A Arte do Hacking Humano por Christopher Hadnagy
- A Arte da Decepção por Kevin Mitnick e William L. Simon
Meu crime é o da curiosidade.