O Raspberry Pi está em toda parte agora, e é por isso que chamou a atenção de agentes de ameaças e cibercriminosos. Mostraremos como proteger seu Pi com autenticação de dois fatores.
Índice
O Raspberry Pi é um computador de placa única. Foi lançado no Reino Unido em 2012 com a intenção de fazer as crianças mexerem, criarem e aprenderem códigos. O formato original era uma placa do tamanho de um cartão de crédito, alimentada por um carregador de telefone.
Ele fornece saída HDMI, portas USB, conectividade de rede e executa Linux. Adições posteriores à linha incluíram versões ainda menores, projetadas para serem incorporadas em produtos ou funcionarem como sistemas sem cabeça. Os preços variam de US $ 5 para o Pi Zero minimalista a US $ 75 para o Pi 4 B / 8 GB .
Seu sucesso foi incrível; mais de 30 milhões desses minúsculos computadores foram vendidos em todo o mundo. Os entusiastas têm feito coisas incríveis e inspiradoras com eles, incluindo flutuar um até a borda do espaço e voltar em um balão .
Infelizmente, uma vez que uma plataforma de computação se torna suficientemente difundida, ela inevitavelmente atrai a atenção dos cibercriminosos. É terrível pensar em quantos Pi’s estão usando a conta de usuário e senha padrão. Se o seu Pi for público e acessível pela Internet por Secure Shell (SSH), ele deve ser seguro.
Mesmo se você não tiver nenhum dado valioso ou software em seu Pi, você precisa protegê-lo porque seu Pi não é o alvo real – é apenas uma maneira de entrar em sua rede. Uma vez que um ator de ameaça tenha um ponto de apoio em uma rede, ele passará para os outros dispositivos nos quais está realmente interessado.
A autenticação – ou obtenção de acesso a um sistema – requer um ou mais fatores. Os fatores são categorizados da seguinte forma:
A autenticação multifator (MFA) requer uma senha e um ou mais itens de outras categorias. Para nosso exemplo, usaremos uma senha e um telefone celular. O telefone celular executará um aplicativo autenticador do Google e o Pi executará um módulo de autenticação do Google.
Um aplicativo de telefone celular é vinculado ao seu Pi digitalizando um código QR. Isso passa algumas informações de sementes para o seu telefone celular do Pi, garantindo que seus algoritmos de geração de números produzam os mesmos códigos simultaneamente. Os códigos são chamados de senhas temporárias de uso único (TOTP).
Ao receber uma solicitação de conexão, seu Pi gera um código. Você usa o aplicativo autenticador em seu telefone para ver o código atual e, em seguida, seu Pi pedirá sua senha e código de autenticação. Tanto sua senha quanto o TOTP devem estar corretos antes de você ter permissão para se conectar.
Se você costuma usar SSH em seu Pi, provavelmente é um sistema sem comando, então vamos configurá-lo por meio de uma conexão SSH.
É mais seguro fazer duas conexões SSH: uma para fazer a configuração e o teste e outra para funcionar como uma rede de segurança. Dessa forma, se você bloquear seu Pi, ainda terá a segunda conexão SSH ativa ativa. Alterar as configurações de SSH não afetará uma conexão em andamento, portanto, você pode usar a segunda para reverter quaisquer alterações e remediar a situação.
Se o pior acontecer e você estiver completamente bloqueado via SSH, ainda será capaz de conectar seu Pi a um monitor, teclado e mouse e, em seguida, fazer login em uma sessão normal. Ou seja, você ainda pode entrar, desde que seu Pi possa dirigir um monitor. Se não puder, no entanto, você realmente precisa manter a conexão SSH da rede de segurança aberta até verificar se a autenticação de dois fatores está funcionando.
A sanção final, é claro, é atualizar o sistema operacional no cartão micro SD do Pi, mas vamos tentar evitar isso.
Primeiro, precisamos fazer nossas duas conexões com o Pi. Ambos os comandos assumem a seguinte forma:
ssh pi@watchdog.local
O nome desse Pi é “watchdog”, mas você digitará o seu nome. Se você alterou o nome de usuário padrão, use-o também; o nosso é “pi”.
Lembre-se, por segurança, digite este comando duas vezes em janelas de terminal diferentes para que você tenha duas conexões com o seu Pi. Em seguida, minimize um deles, para que fique fora do caminho e não seja fechado acidentalmente.
Depois de se conectar, você verá a mensagem de saudação. O prompt mostrará o nome de usuário (neste caso, “pi”) e o nome do Pi (neste caso, “watchdog”).
Você precisa editar o arquivo “sshd_config”. Faremos isso no editor de texto nano:
sudo nano / etc / ssh / sshd_config
Percorra o arquivo até ver a seguinte linha:
ChallengeResponseAuthentication não
Substitua o “não” por “sim”.
Pressione Ctrl + O para salvar suas alterações no nano e, em seguida, pressione Ctrl + X para fechar o arquivo. Use o seguinte comando para reiniciar o daemon SSH:
sudo systemctl restart ssh
Você precisa instalar o autenticador do Google, que é uma biblioteca Pluggable Authentication Module (PAM). O aplicativo (SSH) chamará a interface PAM do Linux e a interface encontrará o módulo PAM apropriado para atender ao tipo de autenticação solicitada.
Digite o seguinte:
sudo apt-get install libpam-google-authenticator
O aplicativo Google Authenticator está disponível para iPhone e Android , basta instalar a versão apropriada para o seu celular. Você também pode usar o Authy e outros aplicativos que suportam esse tipo de código de autenticação.
Na conta que você usará ao se conectar ao Pi via SSH, execute o seguinte comando (não inclua o sudo
prefixo):
google-autenticador
Você será perguntado se deseja que os tokens de autenticação sejam baseados em tempo; pressione Y e, em seguida, pressione Enter.
Um código de resposta rápida (QR) é gerado, mas é embaralhado porque é mais largo do que a janela do terminal de 80 colunas. Arraste mais a janela para ver o código.
Você também verá alguns códigos de segurança abaixo do código QR. Eles são gravados em um arquivo chamado “.google_authenticator”, mas você pode querer fazer uma cópia deles agora. Se você perder a capacidade de obter um TOTP (se perder seu telefone celular, por exemplo), poderá usar esses códigos para se autenticar.
Você deve responder a quatro perguntas, a primeira das quais é:
Quer que eu atualize seu arquivo "/home/pi/.google_authenticator"? (s / n)
Pressione Y e, em seguida, pressione Enter.
A próxima pergunta pergunta se você deseja evitar vários usos do mesmo código em uma janela de 30 segundos.
Pressione Y e, em seguida, pressione Enter.
A terceira pergunta pergunta se você deseja ampliar a janela de aceitação dos tokens TOTP.
Pressione N em resposta a isso e pressione Enter.
A última pergunta é: “Você deseja habilitar a limitação de taxa?”
Digite Y e pressione Enter.
Você retornou ao prompt de comando. Se necessário, arraste a janela do terminal para mais longe e / ou role para cima na janela do terminal para ver todo o código QR.
No celular, abra o aplicativo autenticador e pressione o sinal de mais (+) no canto inferior direito da tela. Selecione “Ler um código QR” e, em seguida, digitalize o código QR na janela do terminal.
Uma nova entrada aparecerá no aplicativo autenticador com o nome do host do Pi e um código TOTP de seis dígitos será listado abaixo dela. É exibido como dois grupos de três dígitos para facilitar a leitura, mas você deve digitá-lo como um número de seis dígitos.
Um círculo animado ao lado do código indica por quanto tempo o código será válido: um círculo completo significa 30 segundos, um semicírculo significa 15 segundos e assim por diante.
Temos mais um arquivo para editar. Precisamos informar ao SSH qual módulo de autenticação PAM usar:
sudo nano /etc/pam.d/sshd
Digite as seguintes linhas perto do topo do arquivo:
# 2FA auth required pam_google_authenticator.so
Você também pode escolher quando deseja que o TOTP seja solicitado:
Observe os sublinhados (_) usados em “pam_google_authenticator.so,” em vez dos hifens (-) que usamos anteriormente com o apt-get
comando para instalar o módulo.
Pressione Ctrl + O para gravar as alterações no arquivo e, em seguida, pressione Ctrl + X para fechar o editor. Precisamos reiniciar o SSH uma última vez e então terminar:
sudo systemctl restart ssh
Feche esta conexão SSH, mas deixe a outra conexão SSH da rede de segurança em execução até verificarmos a próxima etapa.
Certifique-se de que o aplicativo autenticador esteja aberto e pronto em seu telefone celular e, em seguida, abra uma nova conexão SSH com o Pi:
ssh pi@watchdog.local
Deve ser solicitada sua senha e, em seguida, o código. Digite o código no seu celular sem espaços entre os números. Assim como sua senha, ela não é exibida na tela.
Se tudo correr conforme o planejado, você deve ter permissão para se conectar ao Pi; caso contrário, use a conexão SSH da rede de segurança para revisar as etapas anteriores.
Você notou o “r” em “mais seguro” acima?
Na verdade, agora você está mais seguro do que antes ao se conectar a um Raspberry Pi, mas nada é 100 por cento seguro. Existem maneiras de contornar a autenticação de dois fatores. Eles contam com engenharia social, ataques man-in-the-middle e man-at-the-endpoint, troca de SIM e outras técnicas avançadas que, obviamente, não iremos descrever aqui.
Então, por que se preocupar com tudo isso se não é perfeito? Bem, pelo mesmo motivo que você tranca a porta da frente quando sai, embora haja pessoas que podem abrir fechaduras – a maioria não.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…