Raspberry Pi: tornando o Raspbian mais seguro

A configuração padrão do Raspbian possui algumas vulnerabilidades críticas de segurança, caso o equipamento seja usado em ambiente de “produção”. Os ajustes desse post objetivam dificultar principalmente os ataques por força bruta (brute force).

Os procedimentos a seguir devem ser executados para tornar mais seguro o sistema operacional.

1. Configurar um endereço IP fixo na sua rede (na interface de rede on-board):

Configurar o endereço IP do Raspberry Pi como sendo fixo é um procedimento praticamente obrigatório caso o equipamento seja usado como um servidor de rede. Sem um endereço IP pré-determinado, será muito fácil “perde-lo” na sua rede local.

Ao se definir um endereço fixo pode-se utilizar, com maior confiança, o Raspberry Pi como uma máquina headless (sem monitor) e sem a necessidade de uso de dispositivos de entrada (teclado, mouse etc), acessando-o por SSH.

Com o advento do Debian Jessie, foram introduzidas mudanças no procedimento de definição de algumas configurações de rede. Como o Raspbian é baseado no Debian, essas mudanças foram herdadas pelo SO do Raspberry. Abaixo descrevo o procedimento que deve ser adotado tanto para a versão Wheezy (item 1.1) quanto para a versão Jessie (item 1.2).

Caso você não sabia qual é a versão do Raspbian, execute no terminal:

O retorno será algo parecido com:

1.1. Raspbian Wheezy

Abrir o arquivo de configuração de interfaces de rede:

Alterar a linha iniciada como:

para ficar exatamente assim:

Adicionar as linhas:

Lembre-se: As 5 linhas acima devem ser editadas conforme a definição da sua rede local!

1.2. Raspbian Jessie

Abrir o arquivo de configuração do DHCP:

Adicionar as linhas:

Lembre-se: As linhas acima devem ser editadas conforme a definição da sua rede local!

Após a alteração, reiniciar o Raspberry Pi com o comando:

2. Adicionar um usuário comum, para ser utilizado para logar no Raspberry Pi:

O usuário a ser criado pode ter o nome (login) de sua preferência, ou seja, os comandos abaixo utilizam o usuário “oreia” apenas como exemplo.

O objetivo desse procedimento é adicionar um usuário que será utilizado em substituição ao usuário padrão do Raspbian (pi), assim consegue-se minimizar bastante tentativas de ataques por brute force.

Não é necessário preencher outras informações do usuário além do login e senha!

 3. Ativar a conta do usuário root, que por padrão é desabilitada no Raspbian:

Para ativar o login do usuário root, basta definir uma senha para ele.

Após executar esse passo, é imprescindível a execução do próximo passo (4).

4. Bloquear o acesso por SSH do usuário root:

Outro procedimento de suma importância para garantir a segurança do Raspbian, prevenindo ataques por brute force, é a revogação do privilégio de acesso por SSH do usuário “root”:

4.1. Raspbian Wheezy, alterar a linha:

para:

4.2. Raspbian Jessie, alterar a linha:

para:

Deve-se reiniciar o serviço do SSH (ou reiniciar o Raspberry Pi) para que a alteração 4 entre em vigor:

5. Testar a conexão por SSH:

Para testar a segurança do sistema, acessar por SSH utilizando o usuário root e com o usuário oreia. A autenticação do usuário root tem que falhar e o login do usuário “oreia” deve  funcionar.

Após logar como o usuário “oreia”, utilizar o comando “su -” e informar a senha do usuário root.

6. Desativar a conta do usuário padrão (pi):

Caso o teste acima funcionar, deve-se obrigatoriamente desativar/bloquear a conta do usuário pi. Para tal, execute como usuário root:

Ou, caso esteja usando o usuário oreia:

7. Conclusão:

Seguindo os passos acima, o Raspbian estará bem mais seguro pois, a partir de agora, para acessar o sistema operacional por SSH utiliza-se o usuário “oreia” e, caso seja necessário executar alguma tarefa administrativa, é obrigatório informar a senha do usuário “root”.

Para tanto, após logar com o usuário “oreia”, basta digitar:

8. Dicas:

8.1. Possibilitar que o novo usuário “oreia” possa utilizar o comando “sudo” para personificar o usuário root:

Atenção:
Esse passo torna o sistema operacional bem menos seguro.
Não é recomendável executa-lo.

Caso deseje utilizar o usuário “oreia” como o usuário “pi”, ou seja, com privilégio de utilizar o comando “sudo” (não recomendado) basta fazer as seguintes alterações:

Na seção “# User privilege specification“, adicionar a seguinte linha:

8.2. Desativar o registro de histórico de comandos (“history”):

Um procedimento para dificultar a vida de um possível invasor que por ventura tenha conseguido acessar o raspbian usando as credenciais do usuário “oreia” é desativar o registro do históricos dos comandos executados no terminal.

Edite o arquivo .bashrc do usuário “oreia”:

Inclua, no final do arquivo, a linha:

Pronto! O históricos de comandos só existirá durante a sessão atual do usuário, ou seja, continua sendo possível utilizar as setas direcionais para navegar no histórico de comandos porém ao fechar o terminal, os comandos registrados no histórico serão descartados.

Deixe uma resposta