Protegendo o Raspberry Pi com firewall

Protegendo o Raspberry Pi com firewall

Se você deseja executar algum tipo de software de servidor no seu Raspberry Pi (i.e., servidor da web, servidor de banco de dados, servidor minecraft) e disponibilizá -los publicamente na internet (hospedagem) e, em seguida, 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 de 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 da UFW para mostrar como proteger seu Raspberry Pi. Então vamos começar.

Coisas que você precisará:

Para seguir este artigo, você precisará das seguintes coisas para configurar seu Raspberry Pi no modo sem cabeça:

  1. Um computador de Raspberry Pi 3 ou Raspberry Pi 4.
  2. Um micro-USB (Raspberry Pi 3) ou USB Type-C (Raspberry Pi 4) Adaptador de energia.
  3. Um cartão microSD de 16 GB ou 32 GB com Raspberry Pi OS.
  4. Conectividade de rede no Raspberry Pi.
  5. Um laptop ou um computador de mesa para acesso a desktop remoto VNC ou acesso SSH ao Raspberry Pi.

Se você não deseja configurar seu 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 assistência para piscar a imagem Raspberry Pi OS no cartão microSD, verifique meu artigo como instalar e usar o Raspberry Pi Imager.

Se você é um iniciante do Raspberry Pi e precisa de assistência na instalação do Raspberry Pi OS no seu Raspberry Pi, verifique meu artigo como instalar o Raspberry Pi OS no Raspberry Pi 4.

Se você precisar de assistência na configuração sem cabeça do Raspberry Pi, verifique meu artigo como instalar e configurar o Raspberry Pi OS no Raspberry Pi 4 sem monitor externo.

Atualizando Raspberry Pi OS:

Enquanto tentamos garantir nosso Raspberry Pi, é uma boa ideia atualizar todos os pacotes existentes do Raspberry Pi OS. Isso tornará seu Raspberry Pi OS mais seguro, porque instalaria todas as atualizações de segurança mais recentes e correções de bugs.

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 Raspberry Pi OS, execute o seguinte comando:

$ sudo apt completo upgrade


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


O gerenciador de pacotes APT baixará todos os pacotes necessários da Internet. Pode demorar um pouco para completar.


Depois que os pacotes forem baixados, o gerenciador de pacotes apt os instalará um por um. Pode demorar um pouco para completar.


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

Para que as mudanças entrem em vigor, reinicie seu Raspberry Pi com o seguinte comando:

$ sudo reiniciar

Instalando o UFW - Firewall não complicado:

Depois que suas botas Raspberry Pi, você poderá instalar o programa de firewall da UFW com o seguinte comando:

$ sudo apt install ufw -y


Ufw deve ser instalado.


Para que as mudanças entrem em vigor, reinicie seu Raspberry Pi com o seguinte comando:

$ sudo reiniciar


Uma vez que suas botas Raspberry Pi, as ufw O serviço Systemd deve estar ativo, como você pode ver na captura de tela abaixo.

$ sudo status do SystemCTL UFW


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

$ sudo ufw status


Como você pode ver, o UFW não está ativado por padrão.


Para ativar o UFW, execute o seguinte comando:

$ sudo ufw habilitar


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

$ sudo ufw status

Permitindo acesso às portas usando perfis de aplicativos:

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

Para listar todos os perfis de aplicativos 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 seu Raspberry Pi via SSH ou VNC (como eu), você deve permitir acesso ao OpenSsh e Vnc Perfis de aplicativos. Caso contrário, na próxima vez que você inicializar seu Raspberry Pi, você não poderá 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 aplicativos (i.e., OpenSsh) com o seguinte comando:

$ sudo ufw app info OpenSsh


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


Da mesma maneira, o Porta TCP 5900 é definido no Vnc Perfil do aplicativo.

$ sudo ufw app info vnc


Para permitir o acesso às portas definidas no Vnc Perfil do aplicativo, execute o seguinte comando:

$ sudo ufw permitir vnc


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

$ sudo ufw status numerado


Da mesma maneira, permita o acesso às portas definidas no OpenSsh Perfil do aplicativo com o seguinte comando:

$ sudo ufw permitir openSsh


Como você pode ver, o OpenSsh O perfil do 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 o acesso não será definido 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 permitir 8080/tcp


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

$ sudo ufw status numerado


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

$ sudo ufw permitir 8888/udp


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

$ sudo ufw status numerado

Negando acesso a portas:

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

Por uma questão de competição, mostrarei como negar portos na UFW de qualquer maneira.

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

$ sudo ufw negar 9900/tcp


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

$ sudo ufw status numerado


Da mesma maneira, você pode negar as portas definidas em um perfil de aplicativos (i.e., Www) do seguinte modo:

$ sudo ufw negar www

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

Às vezes, pode ser necessário negar o acesso a um endereço IP específico ou sub -rede IP para proteger seu servidor Raspberry Pi do DDoS (Distributed Denial of Service) ataques. Você pode fazer isso com ufw.

Para experimentar a negação de endereços IP, usarei o Apache WebServer.

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

$ sudo apt install apache2


Para confirmar a instalação, pressione Y e depois pressione <Digitar>.


O gerenciador de pacotes APT baixará todos os pacotes da Internet e os instalará um por um. Pode demorar um pouco para completar.


Neste ponto, o servidor da web do Apache deve ser instalado.


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

$ eco "

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 status Systemctl Apache2


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

$ sudo ufw permitir www


Como você pode ver, as portas definidas no perfil do aplicativo Www é permitido 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. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.


Você deve acessar o servidor da web do Apache de outros dispositivos, como pode ver na captura de tela abaixo.


O computador que estou usando para acessar o servidor da web do 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 do firewall na parte superior (posição 1). A ordem das regras da 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 insert 1 negar de 192.168.0.109 para qualquer


A regra da UFW para negar o endereço IP 192.168.0.109 O acesso ao servidor Raspberry Pi deve ser a regra superior, como mostrado na captura de tela abaixo.

$ sudo ufw status numerado


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


Mas você pode acessar o servidor da web do 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 o acesso a todos os computador em uma sub -rede IP 192.168.20.0/24, Execute o seguinte comando:

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


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

$ sudo ufw status numerado

Removendo as regras da UFW:

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

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

$ sudo ufw status numerado


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


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

$ sudo ufw delete 10


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


A regra do UFW número 10 deve ser removida.


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

$ sudo ufw status numerado

Conclusão:

Neste artigo, mostrei como instalar o programa de firewall do UFW no seu Raspberry Pi (executando o Raspberry Pi OS). Eu também mostrei como permitir/negar portas usando o programa de firewall da 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.