Como adicionar segurança MFA por meio do terminal Raspberry Pi

O Raspberry Pi é um popular computador de placa única que se tornou a mania nos últimos anos. Devido à sua crescente popularidade e uso comum entre programadores novatos e entusiastas de tecnologia, tornou-se um alvo para os cibercriminosos fazerem o que gostam de fazer melhor: roubo cibernético. Assim como acontece com os dispositivos normais de PC que protegemos com vários firewalls e senhas, é cada vez mais importante proteger o seu dispositivo Raspberry Pi com proteção multifacetada semelhante.



Raspberry Pi

A autenticação multifator funciona combinando dois ou mais dos itens a seguir para conceder acesso à sua conta ou dispositivo. As três categorias amplas das quais fornecer informações de concessão de acesso são: algo que você conhece, algo que você possui e algo que você é. A primeira categoria pode ser uma senha ou código PIN que você configurou para sua conta ou dispositivo. Como uma camada adicional de proteção, pode ser necessário fornecer algo da segunda categoria, como um pino gerado pelo sistema que é enviado para o seu smartphone ou gerado em outro dispositivo seu. Como terceira alternativa, você também pode incorporar algo da terceira categoria, composto de chaves físicas, como identificação biométrica, que inclui reconhecimento facial, impressão digital e varredura da retina, dependendo da capacidade do seu dispositivo para realizar essas varreduras.



Para o propósito desta configuração, usaremos os dois modos mais comuns de autenticação: sua senha definida e um token único gerado por meio de seu smartphone. Integraremos as duas etapas com o google e receberemos sua senha por meio do aplicativo autenticador do Google (que substitui a necessidade de recebimento de códigos SMS no seu celular).



Etapa 1: Obtenha o aplicativo Google Authenticator

O aplicativo Google Authenticator na Google Play Store.



Antes de começarmos a configurar seu dispositivo, vamos baixar e instalar o aplicativo Google Authenticator em seu smartphone. Vá para a Apple App Store, Google Play Store ou a respectiva loja de qualquer dispositivo que você esteja operando. Baixe o aplicativo autenticador do Google e aguarde a conclusão da instalação. Outros aplicativos de autenticação, como o autenticador da Microsoft, também podem ser usados, mas para nosso tutorial, usaremos o aplicativo autenticador do Google.

Etapa 2: Configurando suas conexões SSH

Os dispositivos Raspberry Pi normalmente operam em SSH e também trabalharemos na configuração de nossa autenticação multifator por SSH. Criaremos duas conexões SSH para fazer isso pelo seguinte motivo: não queremos que você seja bloqueado em seu dispositivo e, no caso de você ficar bloqueado em um fluxo, o segundo lhe dará outra chance de voltar . Esta é apenas uma rede de segurança que estamos criando para o seu bem: o usuário que possui o dispositivo. Manteremos esse segundo fluxo da rede de segurança em andamento durante todo o processo de configuração até que toda a configuração seja concluída e tenhamos garantido que sua autenticação multifator esteja funcionando corretamente. Se você executar as etapas a seguir com atenção e cuidado, não deverá haver nenhum problema para configurar sua autenticação.

A interface do Raspberry Pi.



Abra duas janelas de terminal e digite o seguinte comando em cada uma. Isso é para configurar os dois fluxos em paralelo.

ssh username@piname.local

Em vez do nome de usuário, digite o nome de usuário do seu dispositivo. Em vez do nome do pi, digite o nome do seu dispositivo pi.

Depois de pressionar Enter, você deve receber uma mensagem de boas-vindas em ambas as janelas do terminal exibindo o nome do seu dispositivo e também o seu nome de usuário

A seguir, editaremos o arquivo sshd_config. Para fazer isso, digite o seguinte comando em cada janela. Lembre-se de executar todas as etapas desta seção nas duas janelas em paralelo.

sudo nano / etc / ssh / sshd_config

Role para baixo e encontre onde diz: ChallengeResponseAuthentication não

Altere o “não” para “sim” digitando em seu lugar. Salve suas alterações pressionando [Ctrl] + [O] e saia da janela pressionando [Ctrl] + [X]. Novamente, faça isso para ambas as janelas.

Reinicie os terminais e digite o seguinte comando em cada um para reiniciar o daemon SSH:

sudo systemctl restart ssh

Por último. Instale o Google Authenticator em sua configuração para integrar seu sistema a ele. Para fazer isso, digite o seguinte comando:

sudo apt-get install libpam-google-authenticator

Seus streams foram configurados e você configurou seu autenticador Google com seu dispositivo e smartphone até este ponto.

Etapa 3: Integrar sua autenticação multifator ao Google Authenticator

  1. Inicie sua conta e digite o seguinte comando: google-autenticador
  2. Insira “Y” para tokens baseados em tempo
  3. Estique a janela para ver todo o código QR que foi gerado e digitalize-o em seu smartphone. Isso permitirá que você emparelhe o serviço autenticador do Raspberry Pi com o aplicativo do seu smartphone.
  4. Haverá alguns códigos de backup exibidos sob o código QR. Anote ou tire uma foto deles para mantê-los em reserva, caso você não consiga verificar sua autenticação multifator por meio do aplicativo Google Authenticator e acabe precisando de um código de backup para entrar. Mantenha-os seguros e não perdê-los.
  5. Serão feitas quatro perguntas agora e aqui está como você precisará respondê-las digitando “S” para sim ou “N” para não. (Observação: as perguntas abaixo foram citadas diretamente do terminal digital Raspberry Pi para que você saiba exatamente quais perguntas você terá de enfrentar e como respondê-las.)

    O aplicativo Google Authenticator Smartphone no iOS. As contas foram bloqueadas por motivos de segurança e os dígitos do código de segurança foram misturados e alterados também.

    • “Deseja que eu atualize seu arquivo“ /home/pi/.google_authenticator ”?” (s / n): Digite 'Y'
    • “Deseja proibir vários usos do mesmo token de autenticação? Isso restringe você a um login a cada 30 segundos, mas aumenta suas chances de perceber ou até mesmo evitar ataques man-in-the-middle (s / n): ” Digite 'Y'
    • “Por padrão, um novo token é gerado a cada 30 segundos pelo aplicativo móvel. Para compensar o possível desvio de tempo entre o cliente e o servidor, permitimos um token extra antes e depois do horário atual. Isso permite um desvio de tempo de até 30 segundos entre o servidor de autenticação e o cliente. Se tiver problemas com a sincronização de tempo deficiente, você pode aumentar a janela de seu tamanho padrão de 3 códigos permitidos (um código anterior, um código atual, o próximo código) para 17 códigos permitidos (os 8 códigos anteriores, um código atual, o próximos 8 códigos). Isso permitirá um desvio de tempo de até 4 minutos entre o cliente e o servidor. Você quer fazer isso? (s / n): ” Digite “N”
    • “Se o computador no qual você está se conectando não for protegido contra tentativas de login de força bruta, você pode ativar a limitação de taxa para o módulo de autenticação. Por padrão, isso limita os invasores a não mais do que 3 tentativas de login a cada 30s. Você deseja habilitar a limitação de taxa? (s / n): ” Digite 'Y'
  6. Agora, inicie o aplicativo Google Authenticator em seu smartphone e pressione o ícone de adição na parte superior da tela. Leia o código QR exibido no seu dispositivo Pi para emparelhar os dois dispositivos. Agora você será exibido com códigos de autenticação 24 horas por dia, para sempre que precisar deles para fazer o login. Você não precisará gerar um código. Você pode simplesmente iniciar o aplicativo e digitar aquele que está sendo exibido no momento.

Etapa 4: Configurar o módulo de autenticação PAM com seu SSH

Inicie seu terminal e digite o seguinte comando: sudo nano /etc/pam.d/sshd

Digite o seguinte comando, conforme mostrado:

# 2FA auth required pam_google_authenticator.so

Se desejar que sua chave de acesso seja solicitada por meio do aplicativo Google Authenticator antes de inserir sua senha, digite o seguinte comando antes do comando digitado anteriormente:

@include common-auth

Se você quiser que a senha seja solicitada depois que sua senha for inserida, digite o mesmo comando, mas coloque-o após o conjunto de comandos # 2FA anterior. Salve suas alterações pressionando [Ctrl] + [O] e saia da janela pressionando [Ctrl] + [X].

Etapa 5: feche o fluxo SSH paralelo

Agora que você concluiu a configuração da autenticação multifator, pode fechar um dos fluxos paralelos que estávamos iniciando. Para fazer isso, digite o seguinte comando:

sudo systemctl restart ssh

Seu segundo fluxo de rede de segurança de backup ainda está em execução. Você o manterá em execução até verificar se a autenticação multifator está funcionando corretamente. Para fazer isso, inicie uma nova conexão SSH digitando:

ssh username@piname.local

Em vez do nome de usuário, digite o nome de usuário do seu dispositivo. Em vez do nome do pi, digite o nome do seu dispositivo pi.

O procedimento de login será executado agora. Digite sua senha e, em seguida, insira o código exibido no aplicativo Google Authenticator neste momento. Tenha o cuidado de concluir as duas etapas em trinta segundos. Se você conseguir fazer o login com êxito, pode voltar e repetir a etapa anterior para fechar o fluxo da rede de segurança paralela que tínhamos em execução. Se você seguiu todas as etapas corretamente, deverá ser capaz de retomar a autenticação multifator em seu dispositivo Raspberry Pi agora.

Palavras Finais

Como acontece com qualquer processo de autenticação que você implanta em qualquer dispositivo ou conta, esses fatores adicionais o tornam mais seguro do que antes, mas não o tornam absolutamente seguro. Tenha cuidado ao usar seu dispositivo. Esteja alerta sobre possíveis golpes, ataques de phishing e roubo cibernético aos quais seu dispositivo pode estar sujeito. Proteja seu segundo dispositivo em que você configurou o processo de recuperação de código e mantenha-o seguro também. Você precisará deste dispositivo todas as vezes para voltar ao sistema. Mantenha seus códigos de backup em um local conhecido e seguro para o caso de você estar em uma posição onde não tenha acesso ao seu dispositivo smartphone de backup.