Skip to main content

Firewall | Linux

Iptables | Linux

  • Iptables

  • iptables -L -v

    • mostra todas as regras com informações detalhadas
  • sudo iptables -A INPUT -i lo -j ACCEPT

    • For this iptables tutorial, we use lo or loopback interface. It is utilized for all communications on the localhost. The command above will make sure that the connections between a database and a web application on the same machine are working properly.

    Enabling Connections on HTTP, SSH, and SSL Port

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    sudo iptables -A INPUT -p tcp --src domain_name --dport 5984 -j ACCEPT

    Filtering Packets Based on Source

    • sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT
      • Bloquear pacotes por um IP
      • Podemos utilizar ACCEPT ou DROP
    • Range IP
      • sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j DROP

    Dropping all Other Traffic

    • sudo iptables -A INPUT -j DROP

    Deleting Rules

    • sudo iptables -F

UFW

Explicação da ordem que o UFW segue

O UFW (Uncomplicated Firewall) aplica as regras de firewall em uma sequência específica, que é fundamental para entender como o tráfego é permitido ou negado em seu sistema. A ordem de avaliação das regras pelo UFW é a seguinte:

1. Regras de Usuário para Tráfego de Entrada

Primeiro, o UFW verifica as regras definidas pelo usuário para o tráfego de entrada (incoming). Isso inclui todas as regras específicas que você criou para permitir ou negar tráfego de entrada para serviços, portas ou endereços IP específicos. As regras são avaliadas na ordem em que foram adicionadas, a menos que você especifique prioridades diferentes manualmente.

2. Regras de Usuário para Tráfego de Saída

Em seguida, o UFW aplica as regras definidas pelo usuário para o tráfego de saída (outgoing). Assim como as regras de entrada, elas são processadas na ordem em que foram adicionadas. Por padrão, a maioria das configurações do UFW permite todo o tráfego de saída, a menos que regras específicas de saída tenham sido definidas para restringi-lo.

3. Regras Padrão (Default Rules)

Se o tráfego não corresponder a nenhuma das regras específicas de entrada ou saída, o UFW aplicará suas políticas padrão. Você pode definir essas políticas padrão para permitir ou negar tráfego de entrada ou saída que não corresponde a nenhuma regra específica. Por exemplo, você pode ter uma política padrão para negar todo o tráfego de entrada não solicitado, enquanto permite todo o tráfego de saída.

4. Regras de Aplicativo

O UFW também permite definir regras baseadas em "perfis de aplicativo". Esses perfis são arquivos de configuração que especificam as regras de firewall para aplicativos específicos. Se você tiver perfis de aplicativo definidos e aplicados, as regras contidas nesses perfis seguirão as mesmas regras gerais de ordenação (baseadas em quando a regra do perfil foi aplicada).

Como Modificar a Ordem das Regras

Embora as regras sejam processadas na ordem em que são adicionadas, o UFW permite ajustar esta ordem:

  • Listando Regras com Números: Use sudo ufw status numbered para ver todas as regras ativas, listadas com números.
  • Excluindo Regras Específicas: Para modificar a ordem, você pode precisar remover e re-adicionar regras. Use sudo ufw delete NUMERO_DA_REGRA para excluir uma regra específica, onde NUMERO_DA_REGRA é o número da regra mostrado pelo comando status numbered.
  • Adicionando Regras Novamente: Após excluir uma regra, adicione-a novamente na ordem desejada.

Liberar a porta para um IP

    ufw allow from 1.2.3.4 to any port 3100
sudo ufw reload

Bloquear porta para todos

    ufw deny 3100
sudo ufw reload

Bloquear porta por interface de rede

info

Com o comando abaixo, é mostrado os nomes das interface como eth0, etc

 ip a s
sudo ufw deny in on eth0 to any port 22
sudo ufw reload