Como configurar a autenticação de dois fatores em um Raspberry Pi
Kiklas / Shutterstock
O Raspberry Pi está em todo lugar agora, e é por isso que chamou a atenção de atores de ameaças e cibercriminosos. Mostraremos como proteger seu Pi com autenticação de dois fatores.
O incrível Raspberry Pi
O Raspberry Pi é um computador de placa única. Foi lançado no Reino Unido em 2012 com a intenção de levar as crianças a mexer, criar e aprender código. 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 o Linux. Adições posteriores à linha incluíram versões ainda menores, projetadas para serem incorporadas em produtos ou executadas como sistemas sem cabeça. Os preços variam de US $ 5 para o minimalista Pi Zero a US $ 75 para o Pi 4 B / 8 GB.
Seu sucesso foi incrível; mais de 30 milhões desses pequenos computadores foram vendidos em todo o mundo. Os amadores fizeram coisas incríveis e inspiradoras com eles, incluindo flutuar um na beira do espaço e voltar em um balão.
Infelizmente, uma vez que uma plataforma de computação se torna suficientemente difundida, inevitavelmente atrai a atenção dos cibercriminosos. É terrível pensar em quantos Pi estão usando a conta de usuário e a senha padrão. Se o seu Pi for público e acessível a partir da Internet pelo Secure Shell (SSH), ele deve ser seguro.
Mesmo que você não possua nenhum dado ou software valioso no seu Pi, você precisa protegê-lo, porque o Pi não é o destino real, é apenas uma maneira de obter na sua rede. Uma vez que um ator de ameaça tenha uma presença em uma rede, ele se concentrará nos outros dispositivos nos quais ele realmente está interessado.
Autenticação de dois fatores
A autenticação ou o acesso a um sistema requer um ou mais fatores. Os fatores são classificados da seguinte forma:- Algo que você conhece: como uma senha ou frase.
- Algo que você tem: Como um telefone celular, token físico ou dongle.
- Algo que você é : Uma leitura biométrica, como uma impressão digital ou uma retina.
A autenticação multifator (MFA) requer uma senha e um ou mais itens das outras categorias. Para o nosso exemplo, vamos usar uma senha e 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 iniciais para o seu telefone celular a partir 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 de uso único com base no tempo (TOTP).
Quando recebe uma solicitação de conexão, seu Pi gera um código. Você usa o aplicativo autenticador do telefone para ver o código atual e, em seguida, o Pi solicitará sua senha e código de autenticação. Sua senha e o TOTP devem estar corretos antes que você possa se conectar.
Configurando o Pi
Se você costuma fazer SSH no seu Pi, é provável que seja um sistema sem cabeça, então vamos configurá-lo através de uma conexão SSH.
É mais seguro fazer duas conexões SSH: uma para configurar e testar e outra para atuar como uma rede de segurança. Dessa forma, se você se bloquear do seu Pi, ainda terá a segunda conexão SSH ativa. A alteração das configurações do SSH não afeta uma conexão em andamento; portanto, você pode usar a segunda para reverter as alterações e solucionar a situação.Se o pior acontecer e você estiver completamente bloqueado via SSH, você ainda poderá conectar seu Pi a um monitor, teclado e mouse e, em seguida, faça login em uma sessão regular. Ou seja, você ainda pode entrar, desde que o 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 que a autenticação de dois fatores está funcionando.
A sanção final, é claro, é reflash 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 têm o seguinte formato:
ssh pi@watchdog. local
O nome deste Pi é “ watchdog & ” mas você digitará o nome seu em seu lugar. 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 ter 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 conectar, você verá a mensagem de saudação. O prompt mostrará o nome de usuário (neste caso, "pi") e o nome do Pi (nesse caso, "cão de guarda").
Você precisa editar o “ sshd_config ” Arquivo. Vamos fazê-lo no nano editor de texto:
sudo nano / etc / ssh / sshd_config
Role pelo arquivo até ver a seguinte linha:
ChallengeResponseAuthentication no
Substitua o “ no ” com “ 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 do 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 que está sendo solicitada.
Digite o seguinte:
sudo apt-get install libpam-google-authenticator
Instalando o aplicativo
O aplicativo Google Authenticator está disponível para iPhone e Android. Instale a versão apropriada para o seu telefone celular. Você também pode usar o Authy e outros aplicativos que suportam esse tipo de código de autenticação.
Configurando a autenticação de dois fatores
Na conta que você usará quando se conectar ao Pi via SSH, execute o seguinte comando (não inclua o prefixo sudo):
google-autenticador
Você será perguntado se deseja que os tokens de autenticação sejam baseados em tempo; pressione Y e pressione Enter.
Um código de resposta rápida (QR) é gerado, mas é embaralhado porque é mais largo que a janela do terminal de 80 colunas. Arraste a janela mais 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 o telefone celular, por exemplo), poderá usar esses códigos para autenticar.
Você deve responder a quatro perguntas, a primeira das quais é:
Deseja que eu atualize seu arquivo "/home/pi/. google_authenticator"? (s / n)
Pressione Y e pressione Enter.
A próxima pergunta pergunta se você deseja impedir vários usos do mesmo código em uma janela de 30 segundos.
Pressione Y e 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 depois pressione Enter.
A última pergunta é: “ Deseja ativar 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 seu telefone celular, abra o aplicativo autenticador e pressione o sinal de mais (+) na parte inferior direita da tela. Selecione “ Digitalize um código QR, ” e depois escaneie o código QR na janela do terminal.
Uma nova entrada será exibida no aplicativo autenticador com o nome do host do Pi e um código TOTP de seis dígitos será listado abaixo dele. Ele é 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 quanto tempo o código será válido: um círculo completo significa 30 segundos, um semi-círculo significa 15 segundos e assim por diante.
Vinculando tudo junto
Temos mais um arquivo para editar. Temos que dizer ao SSH qual módulo de autenticação PAM usar:
sudo nano /etc/pam.d/sshd
Digite as seguintes linhas na parte superior do arquivo:
# 2FA autenticação necessária pam_google_authenticator. so
Você também pode escolher quando deseja solicitar o TOTP:
- Depois que você digitou sua senha: Digite as linhas anteriores abaixo "@include common-auth," ” como mostrado na imagem acima.
- Antes de você ser solicitada sua senha: Digite as linhas anteriores acima “ @include common-auth. ”
Observe os sublinhados (_) usados em “ pam_google_authenticator. so, ” em vez dos hífens (-) que usamos anteriormente com o comando apt-get 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, em seguida, terminamos:
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é que verifiquemos esta próxima etapa.
Verifique se o aplicativo autenticador está aberto e pronto no seu telefone celular e abra uma nova conexão SSH com o Pi:
ssh pi@watchdog. local
Você deve solicitar sua senha e, em seguida, o código. Digite o código do seu celular sem espaços entre os números. Como sua senha, ela não aparece na tela.
Se tudo correr conforme o planejado, você deverá se conectar ao Pi; caso contrário, use sua conexão SSH da rede de segurança para revisar as etapas anteriores.
Melhor prevenir do que remediar
Você notou o “ r ” em “ mais seguro ” acima?
De fato, agora você está mais seguro do que estava antes ao se conectar a um Raspberry Pi, mas nada é 100% seguro. Existem maneiras de contornar a autenticação de dois fatores. Eles contam com engenharia social, ataques do tipo intermediário e intermediário, troca de SIM e outras técnicas avançadas que, obviamente, não vamos descrever aqui.
Então, por que se preocupar com tudo isso, se não é perfeito? Bem, pela mesma razão que você trava a porta da frente quando sai, mesmo que haja pessoas que podem trancar fechaduras - a maioria não pode.
Via: How to Geek
Nenhum comentário