Correio Eletrónico
Como usar Skiff (Descontinuado)
Cenário
Correio eletrónico, Notas, Drive e Calendário - tudo encriptado.
Quando questiono alguém sobre o seu e-mail, a maioria declara ser Gmail ou Hotmail/Outlook.
São excelentes ferramentas do ponto de vista funcional mas que deixam imenso a desejar no que concerne a privacidade.
Por experiência própria posso dizer que é um desafio interessante mudar de provedor de correio eletrónico pois estou a fazê-lo há alguns anos e ainda não terminei (tenho estado a mudar para Protonmail).
O que é
Neste percurso de mudança, descobri o Skiff e aqui estamos :)
É uma plataforma de Correio Eletrónico, Notas (para notas prefiro o NotesNook), Armazenamento de Ficheiros (prefiro o Proton Drive) e Calendário.
Livre e encriptado, com 10GB de capacidade no plano livre.
Como instalar
Deixo aqui imagens de como instalar o Skiff Mail no telemóvel mas usamo-lo também acedendo ao website, que é mais rico em funcionalidades. Também existe o Skiff Pages (Notas)) e Skiff Drive só disponível na versão web).
Na Play Store (Android) ou App Store (iPhone), procuramos por "skiff":
Instalamos e abrimos:
Registar
Surge a janela abaixo onde clicamos em "Create Account":
Definimos o endereço de correio eletrónico pretendido e clicamos em "Next":
Escolhemos uma password complexa (costumo escolher com 23 caracteres - ABC/abc/123/#$& ativos) e clicamos em "Next":
Declaramos endereço de correio eletrónico para recuperação (declarei o meu Proton) e avançamos com "Next":
Escolhemos "Sim" para que seja possível colocar anexos nos e-mails:
E acedemos à nossa conta de correio eletrónico Skiff:
Personalizar
Acedemos às "Definições", no canto superior direito:
Onde podemos clicar em "Theme" para mudar para modo escuro (prefiro):
Ativar a autenticação de duplo fator (do meu ponto de vista, obrigatório) clicando em "Setup Two-factor authentication":
Ou criar várias personas/endereços (na versão livre podemos ter 4), clicando em "Email aliases":
E está feito.
Dado que podiam ter feito o registo com uma carteira como a Metamask e que podiam pagar com cripto moeda (para os que pretendessem usar as versões pagas para superior capacidade de armazenamento e funcionalidades), tirem as vossas próprias conclusões.
Doação
Se o acima te trouxe valor, aceito com gratidão uma doação
E-mail - SPF - DKIM - DMARC
Cenário
Usamos correio eletrónico in-house, neste caso Exchange 2016 e pretendemos ter SPF, DMARC e DKIM ativos.
SPF
Sender Policy Framework - ajuda a prevenir spoofing pois permite a verificação pelos destinatários
de que e-mail recebido foi de facto enviado por quem está declarado.
Neste caso, foi colocada a seguinte linha, nos DNS's externos:
IN TXT "v=spf1 ip4:IP.IP.IP.IP -all"
Notas: A linha acima declara ser um registo SPF com o v=spf1, que todo o e-mail @vossodomínio.pt
só pode ter origem no IP IP.IP.IP.IP e o -all define que o que não tiver essa origem é para ser
considerado spam.
DKIM
DomainKeys Identified Mail - assegura a integridade do e-mail enviado, apondo uma assinatura
digital no cabeçalho de cada um, permitindo que a quem o recebe, verifique a sua autenticidade.
Resumidamente, o cabeçalho de cada e-mail que sai é cifrado usando a chave privada e quem o
recebe usa a chave pública, que temos publicada no DNS externo, para assegurar que fomos nós
que o enviamos.
Para habilitarmos DKIM usamos o script presente aqui.
No servidor MX, descarregamo-lo e descompactamos.
Executamos como Administrador o "ConfigurationDkimSigner.exe".
Quando arranca, esperamos até que a função "Install" esteja disponível:
Instalamos e esperamos que o processo termine. Fechamos a janela em "Close":
Configuração
Arrancamos, com direitos de Administrador, com a aplicação "Configuration.DkimSigner.exe"
presente em "C:\Program Files\Exchange DkimSigner".
Tão logo abra e reporte que o "Transport Service Status" está "Running", clicamos em "Configure":
Movemos o agente "Exchange DKIMSigner" para o topo, se não estiver e clicamos em "Close".
Vamos ao separador "DKIM Settings" e definimos as opções "Header Canonicalization" & "Body
Canonicalization" como "Relaxed" e guardamos a configuração em "Save configuration":
Vamos ao separador "Domain Settings", clicamos no botão "Add", definimos "Domain name"
(no nosso caso xyz.pt apesar de na imagem estar rasurado e .com) e um Selector (no nosso caso escolhemos "20200421" mas é
arbitrário) e pressionamos "Generate new key":
É-nos apresentada janela para gravar a chave (por defeito ficam em "C:\Program Files\Exchange
DkimSigner\keys") e guardamos a mesma.
Criamos o registo TXT nos DNS's externos como sugerido, usando a chave pública:
Exemplo:
v=DKIM1; k=rsa; p=MIIBIjxxxxxxxxxxxxxxw0BAQEFAAOCAQ8AMIIBCgKCAQEAjAnRqCS+vxCFgLNJI0YjmH8YfO8p92F+x2sbJ77D3p6PKWSB9PRjQQd/uLEOP6hzKV1m90Y7UnYayxxxxxxxxxxxxxxxXxp0WKy9v4BZaPYfdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxgUE3mUJI7y3gajeL9Oxxxxxxxxxxxxxxxxxxx0JA5J9y5Xi66bv5useYHLCKc1i3izzTZn2xxxxxxxxxxxxxxxxxxxZDBEBIFlb20/xxxxxxxxxxxQh6ej8SaykVaqV15kxxxxxxxxxxxxxxxxxxxxxxxA5AbYv/bpYw3bCEwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxG5l3AEOhGDv+Yu7nJaL76iLcoD+DZ7tK4Qxxxxxxx
Após o que guardamos o domínio clicando em "Save domain":
Vamos ao separador "Information" e reiniciamos o "Transport Service" (demora um bocado a
reiniciar):
Neste cenário, a chave privada foi também colocada na Sophos XGS em:
Para testar se o DKIM está a funcionar, podemos usar este teste.
Para mais info.
DMARC
O Domain-based Message Authentication, Reporting, and Conformance (DMARC), trabalha em
conjunto com o SPF e o DKIM para assegurar a autenticidade dos originadores de correio
eletrónico.
Assegura que os sistemas de correio eletrónico de destino confiam nos e-mails por nós enviados,
ajudando os sistemas a decidir o que fazer com o correio eletrónico recebido.
Nos nossos DNS's externos colocamos a linha abaixo:
sendo que os valores são
v=DMARC1; p=reject; rua=mailto:vossoemail@vossodominio.pt; ruf=mailto:vossoemail@vossodominio.pt; sp=reject; adkim=s; aspf=s; ri=86400
A linha acima tem definido o seguinte:
v=DMARC1; - define a versão Dmarc e é obrigatório ser DMARC1;
p=reject; - é uma flag obrigatória e definida como p, rejeita e-mail não autenticado e envia relatório ao originador;
rua=mailto:vossoemail@vossodominio.pt; - para onde são enviados relatórios de ações tomadas;
ruf=mailto:vossoemail@vossodominio.pt; - endereço que receberá relatórios de erro;
sp=reject; - rejeita e-mail não conforme e envia relatório ao originador;
adkim=s; - define que o alinhamento com o DKIM é rigoroso ou seja, não está assinada é rejeitada;
aspf=s; - define que o alinhamento com o SPF é rigoroso ou seja, se não respeita definições SPF, é para ser descartado;
ri=86400; - intervalo de tempo em segundos, neste caso, 24 horas, para envio de relatório agregado.
Nota: Apesar deste cenário descrever implementação de SPF, DKIM e DMARC com Exchange in-house, podem usar a informação na cloudflare, etc.
Doação
Se o acima te trouxe valor, aceito com gratidão uma doação
Usar Gmail com encriptação
Contexto
A Google está em todo o lado, obtendo informação de todos livremente pois oferece serviços de topo sem custo para o utilizador.
Correção, sem custo não, se é livre, quem usa é o produto.
Já há bastante tempo que devia ter feito este guia de modo a que se difunda forma de usar o e-mail da Google sem que a mesma o possa ler mas como passei há significativos anos a usar Proton, fui protelando.
Digo Google mas este método pode ser usado com qualquer plataforma de e-mail que consigam ligar-se com o BetterBird e FairMail, ou seja, Hotmail, Yahoo, etc.
Solução
Resolvemos o dilema gerando um par de chaves PGP para cada endereço de e-mail, uma pública e outra privada, sendo que a pública é publicada e difundida em servidores espalhados pelo mundo e a privada está sempre connosco e mais ninguém.
Obviamente que a Google não está interessada em que encriptemos o e-mail pois assim não pode capitalizar com essa informação (ler The Age of Surveillance Capitalism de Shoshana Zuboff) e como tal, não disponibiliza, tanto na web como nas Apps, forma de usarmos as chaves PGP para encriptação pelo que, vamos ter de usar clientes de e-mail específicos para o efeito.
Clientes de e-mail
No Windows e Linux usamos Betterbird e no Android uma boa escolha será o FairMail (página oficial) como cliente de e-mail e o OpenKeychain, para gestão das chaves PGP Privadas.
Gerar Chaves PGP
Podemos gerar e publicar as chaves PGP com o Betterbird ou com o GnuPG (quem usar o Windows, a versão Gpg4win).
MUITO IMPORTANTE: Façam backup das chaves geradas e não as percam pois de outro modo nunca mais terão acesso a todo o e-mail que foi encriptado.
Encriptar e assinar e-mail
Para que o e-mail passe a ser encriptado, basta que as chaves privadas sejam colocadas nos respetivos clientes de e-mail (Betterbird e Fairmail) e as chaves públicas publicadas, de modo a poderem ser usadas por quem nos quiser enviar e-mail encriptado (com essa mesma chave pública), que só nós conseguimos abrir (com a nossa chave privada).
Não vou entrar em grande detalhe sobre todo o processo pois é bastante linear mas deixo screenshots abaixo para terem uma ideia.
O Betterbird é claro no processo de criação e publicação de chaves. Abaixo apresento já a chave privada colocada na aplicação Betterbird, pronta a ser usada. O wizard de criação de chaves é simples.
Definam como validade que a chave nunca expira.
Anexar a chave pública a e-mail que enviam a alguém, é uma boa forma de facilitarem o processo se a pessoa vos quiser responder, encriptando o e-mail com a vossa chave pública.
Não habilito a encriptação do assunto pois gosto de ler os assuntos mesmo antes de abrir o email.
Como se pode ver abaixo, no caso de o destinatário ser Proton, se encriptarmos o assunto, o mesmo é apresentado com "..." não obstante ao ser aberto já se conseguir ler.
Para e-mail extremamente sensível, habilitada a encriptação do assunto também, se acharem por bem.
Como podem observar no campo "De", vê-se um cadeado verde que ilustra que o email enviado pelo ???@gmail.com foi encriptado, assim como o assunto.
E a resposta do endereço da Proton ao do Gmail vem também encriptada e assinada com a chave pública do endereço Gmail, só sendo possível ao mesmo abri-lo, com a sua chave privada.
Envio de e-mail
Tendo como exemplo de envio de e-mail encriptado para uma conta Proton, usando o Betterbird e tendo como origem uma conta Gmail, o processo é linear pois o Betterbird automaticamente apresenta guia para que se procure o certificado da Proton de destino, que é rapidamente encontrado e fica pronto a usar.
Clicamos em "Resolver..."
Na janela seguinte em "Descobrir chaves públicas online..."
Na próxima janela a chave foi encontrada e basta apenas aceitar a mesma. Clicamos em "Resolver..."
Selecionamos a chave pública encontrada, relativa ao nosso destinatário. e clicamos em "Aceitar"
E pronto, podemos encriptar o e-mail pois temos todas as chaves para todos os destinatários:
Pelo que enviamo-lo:
Neste mesmo e-mail seguiu anexada a chave pública do endereço Gmail remetente, que o endereço destinatário Proton usará prontamente para encriptar a resposta ao Gmail.
E está feito, Google deixa de poder ler o e-mail.
Boas encriptações.