Raspberry Pi

Protegendo Raspberry Pi com Firewall

Protegendo Raspberry Pi com Firewall

Se você deseja executar algum tipo de software de servidor no seu Raspberry Pi (i.e., servidor web, servidor de banco de dados, servidor Minecraft) e torná-los publicamente disponíveis na internet (hospedagem), então proteger seu servidor Raspberry Pi com um programa de firewall é muito importante.

Existem muitos programas de firewall gratuitos e de código aberto disponíveis no Raspberry Pi OS (o sistema operacional oficial dos computadores de placa única Raspberry Pi). Entre esses programas, UFW e Firewalld são os programas de firewall mais comuns.

Neste artigo, usarei o programa de firewall UFW para mostrar como proteger seu Raspberry Pi. Então vamos começar.

Coisas que você vai precisar:

Para seguir este artigo, você precisará dos seguintes itens para configurar o Raspberry Pi no modo sem cabeça:

  1. Um computador de placa única Raspberry Pi 3 ou Raspberry Pi 4.
  2. Um adaptador de alimentação micro-USB (Raspberry Pi 3) ou USB Type-C (Raspberry Pi 4).
  3. Um cartão microSD de 16 GB ou 32 GB com sistema operacional Raspberry Pi piscou.
  4. Conectividade de rede no Raspberry Pi.
  5. Um laptop ou computador de mesa para acesso remoto VNC à área de trabalho ou acesso SSH ao Raspberry Pi.

Se não quiser configurar o Raspberry Pi 4 no modo sem cabeça, você também precisará:

  1. Um monitor
  2. Um cabo HDMI ou micro-HDMI
  3. Um teclado
  4. Um rato.

Se você precisar de ajuda para atualizar a imagem do Raspberry Pi OS no cartão microSD, consulte o meu artigo Como instalar e usar o Raspberry Pi Imager.

Se você for um iniciante do Raspberry Pi e precisar de ajuda para instalar o Raspberry Pi OS no seu Raspberry Pi, consulte meu artigo Como instalar o Raspberry Pi OS no Raspberry Pi 4.

Se você precisar de ajuda na configuração sem cabeça do Raspberry Pi, consulte meu artigo Como instalar e configurar o sistema operacional Raspberry Pi no Raspberry Pi 4 sem monitor externo.

Atualizando o Raspberry Pi OS:

Como estamos tentando proteger nosso Raspberry Pi, é uma boa ideia atualizar todos os pacotes existentes do sistema operacional Raspberry Pi. Isso tornará o seu sistema operacional Raspberry Pi mais seguro, pois instalará todas as atualizações de segurança e correções de bugs mais recentes.

Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:

$ sudo apt update


Para atualizar todos os pacotes existentes do seu sistema operacional Raspberry Pi, execute o seguinte comando:

$ sudo apt full-upgrade


Para confirmar a instalação das atualizações, pressione Y e então pressione <Entrar>.


O gerenciador de pacotes APT irá baixar todos os pacotes necessários da internet. Pode demorar um pouco para ser concluído.


Assim que os pacotes forem baixados, o gerenciador de pacotes APT irá instalá-los um por um. Pode demorar um pouco para ser concluído.


Neste ponto, todas as atualizações devem ser instaladas.

Para que as alterações tenham efeito, reinicie o Raspberry Pi com o seguinte comando:

$ sudo reboot

Instalando UFW - Firewall Descomplicado:

Depois de inicializar o Raspberry Pi, você pode instalar o programa de firewall UFW com o seguinte comando:

$ sudo apt install ufw -y


UFW deve ser instalado.


Para que as alterações tenham efeito, reinicie o Raspberry Pi com o seguinte comando:

$ sudo reboot


Assim que seu Raspberry Pi for inicializado, o ufw O serviço systemd deve estar ativo, como você pode ver na captura de tela abaixo.

$ sudo systemctl status ufw


Você pode verificar se o UFW está habilitado com o seguinte comando:

$ sudo ufw status


Como você pode ver, o UFW não é habilitado por padrão.


Para ativar o UFW, execute o seguinte comando:

$ sudo ufw enable


Como você pode ver, o UFW agora está habilitado.

$ sudo ufw status

Permitindo acesso às portas usando perfis de aplicativos:

UFW tem alguns perfis de aplicativo padrão. Cada um dos perfis de aplicativo tem algumas portas predefinidas que você pode permitir / negar acesso.

Para listar todos os perfis de aplicativo disponíveis, execute o seguinte comando:

lista de aplicativos $ sudo ufw


Todos os perfis de aplicativos instalados devem ser listados.

Se você estiver conectado ao Raspberry Pi via SSH ou VNC (como eu), deverá permitir o acesso ao OpenSSH e VNC perfis de aplicativos. Caso contrário, da próxima vez que você inicializar o Raspberry Pi, não será possível acessá-lo remotamente, pois o firewall bloqueará todas as portas, incluindo as portas SSH e VNC. Então, isso é muito importante.


Você pode ver quais portas são definidas em um perfil de aplicativo (i.e., OpenSSH) com o seguinte comando:

$ sudo ufw informações do aplicativo OpenSSH


Como você pode ver, Porta TCP 22 é definido no perfil do aplicativo OpenSSH.


Da mesma forma, o Porta TCP 5900 é definido no VNC perfil de aplicativo.

$ sudo ufw informações do aplicativo VNC


Para permitir o acesso às portas definidas no VNC perfil de aplicativo, execute o seguinte comando:

$ sudo ufw permitir VNC


Como você pode ver, o VNC perfil de aplicativo é permitido através do firewall.

$ sudo ufw status numerado


Da mesma forma, permite o acesso às portas definidas no OpenSSH perfil de aplicativo com o seguinte comando:

$ sudo ufw permitir OpenSSH


Como você pode ver, o OpenSSH perfil de aplicativo é permitido através do firewall.

$ sudo ufw status numerado

Permitindo acesso às portas usando o número da porta:

Às vezes, a porta que você deseja permitir / negar acesso não será definida em nenhum perfil de aplicativo disponível. Portanto, você precisará permitir / negar acesso a essas portas usando o número da porta.

Por exemplo, você pode permitir o acesso ao Porta TCP 8080 com o seguinte comando:

$ sudo ufw allow 8080 / tcp


Como você pode ver, o Porta TCP 8080 é permitido o acesso através do firewall.

$ sudo ufw status numerado


Da mesma forma, você pode permitir o acesso ao Porta UDP 8888 com o seguinte comando:

$ sudo ufw allow 8888 / udp


Como você pode ver, o Porta UDP 8888 é permitido o acesso através do firewall.

$ sudo ufw status numerado

Negar acesso às portas:

O comportamento padrão do programa de firewall UFW é negar tudo o que não é permitido. Então, você não precisa fazer nada para negar o acesso a nenhuma porta.

Por uma questão de competição, vou mostrar a você como negar portas no UFW de qualquer maneira.

Por exemplo, para negar acesso ao Porta TCP 9900, execute o seguinte comando:

$ sudo ufw deny 9900 / tcp


Como você pode ver, o Porta TCP 9900 tem acesso negado através do firewall.

$ sudo ufw status numerado


Da mesma forma, você pode negar as portas definidas em um perfil de aplicativo (i.e.,  WWW) do seguinte modo:

$ sudo ufw deny WWW

Negando acesso de endereços IP específicos ao servidor:

Às vezes, você pode precisar negar acesso a um endereço IP específico ou sub-rede IP para proteger seu servidor Raspberry Pi contra ataques DDoS (Negação de Serviço Distribuída). Você pode fazer isso com UFW.

Para experimentar negar endereços IP, vou usar o servidor web Apache.

Você pode instalar o servidor da web Apache em seu Raspberry Pi com o seguinte comando:

$ sudo apt install apache2


Para confirmar a instalação, pressione Y e então pressione <Entrar>.


O gerenciador de pacotes APT irá baixar todos os pacotes da internet e instalá-los um por um. Pode demorar um pouco para ser concluído.


Neste ponto, o servidor web Apache deve ser instalado.


Depois que o servidor da web Apache estiver instalado, crie uma página de índice simples com o seguinte comando:

$ echo "

Bem-vindo ao LinuxHint

"| sudo tee / var / www / html / index.html


O apache2 O serviço systemd deve estar em execução, como você pode ver na captura de tela abaixo.

$ sudo systemctl status apache2


Permitir acesso à porta do servidor web Apache (Porta TCP 80) usando o perfil de aplicativo WWW do seguinte modo:

$ sudo ufw allow www


Como você pode ver, as portas definidas no perfil do aplicativo WWW é permitido o acesso através do firewall.


Encontre o endereço IP do seu Raspberry Pi com o seguinte comando:

$ hostname -I


Como você pode ver, o endereço IP do meu Raspberry Pi é 192.168.0.106. Será diferente para você. Portanto, certifique-se de substituí-lo pelo seu a partir de agora.


Você deve acessar o servidor web Apache de outros dispositivos, como você pode ver na imagem abaixo.


O computador que estou usando para acessar o servidor web Apache tem o endereço IP 192.168.0.109.


Para negar o endereço IP 192.168.0.109 acesso ao seu servidor Raspberry Pi, você deve adicionar a regra de firewall no topo (posição 1). A ordem das regras do UFW é muito importante. As regras mais restritivas devem ir primeiro.

$ sudo ufw status numerado


Para negar o endereço IP 192.168.0.109 acesso ao servidor Raspberry Pi, execute o seguinte comando:

$ sudo ufw inserir 1 negar de 192.168.0.109 para qualquer


A regra UFW para negar o endereço IP 192.168.0.109 o acesso ao servidor Raspberry Pi deve ser a regra superior, conforme mostrado na imagem abaixo.

$ sudo ufw status numerado


Você não conseguirá acessar o servidor da web Apache em execução no seu Raspberry Pi a partir do computador com o endereço IP 192.168.0.109 mais, como você pode ver na imagem abaixo.


Mas, você pode acessar o servidor da web Apache em execução no seu Raspberry Pi de outros computadores.


Se você deseja negar o acesso a uma sub-rede IP, você deve adicionar a regra UFW necessária antes da regra que você adicionou anteriormente, pois é uma regra mais restritiva.

$ sudo ufw status numerado


Por exemplo, para negar acesso a todos os computadores em uma sub-rede IP 192.168.20.0/24, execute o seguinte comando:

$ sudo ufw inserir 1 negar de 192.168.20.0/24 para qualquer


A regra UFW deve ser adicionada na posição correta, conforme mostrado na imagem abaixo. Agora, nenhum computador da sub-rede IP 192.168.20.0/24 deve ser capaz de acessar seu servidor Raspberry Pi.

$ sudo ufw status numerado

Removendo regras UFW:

Às vezes, pode ser necessário remover algumas regras UFW. É muito fácil fazer isso.

Você pode listar todas as regras UFW disponíveis com o seguinte comando:

$ sudo ufw status numerado


Todas as regras UFW disponíveis devem ser listadas. Digamos que você queira remover a regra UFW número 10 (regra na 10ª posição).


Para remover a regra UFW número 10, execute o seguinte comando:

$ sudo ufw delete 10


Para confirmar a operação de remoção, pressione Y e então pressione <Entrar>.


A regra UFW número 10 deve ser removida.


Como você pode ver, a regra UFW foi removida e as regras foram reordenadas (A regra UFW que estava na posição 11 agora está na posição 10).

$ sudo ufw status numerado

Conclusão:

Neste artigo, mostrei como instalar o programa de firewall UFW em seu Raspberry Pi (executando o Raspberry Pi OS). Também mostrei como permitir / negar portas usando o programa de firewall UFW. Eu mostrei como negar um endereço IP específico ou uma sub-rede IP de acessar o Raspberry Pi usando o programa de firewall UFW também.

Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...
0 A.D. Tutorial
Dos muitos jogos de estratégia que existem, 0 A.D. consegue se destacar como um título abrangente e um jogo muito profundo e tático, apesar de ser de ...
Tutorial Unity3D
Introdução ao Unity 3D Unity 3D é um poderoso motor de desenvolvimento de jogos. É uma plataforma cruzada que permite criar jogos para celular, web, d...