Table of Contents

Exemplos do comando iptables

Nível Básico

Nível Intermediário

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  1. Permite conexões de entrada nas portas `80` (HTTP) e `443` (HTTPS) para servidores web.
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
  1. Registra no log os pacotes de entrada do IP `192.168.1.100` antes de bloqueá-los.
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 3 -j DROP
  1. Limita as tentativas de conexão SSH a 3 por minuto por IP, para evitar ataques de força bruta.

Nível Avançado

Nível Especializado

sudo iptables -A INPUT -p tcp --dport 7000 -m recent --name knock1 --set -j DROP
  1. Segunda porta (habilita a regra após a primeira tentativa):
sudo iptables -A INPUT -p tcp --dport 8000 -m recent --name knock1 --rcheck -m recent --name knock2 --set -j DROP
  1. Terceira porta (habilita acesso SSH após sequência correta):
sudo iptables -A INPUT -p tcp --dport 9000 -m recent --name knock2 --rcheck -j ACCEPT
  1. Implementa port knocking simples: acesso SSH só é permitido após tentativas de conexão nas portas `7000`, `8000`, e `9000` em sequência.
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
  1. Configura o iptables como firewall de estado, permitindo apenas conexões válidas e estabelecidas, e bloqueando pacotes inválidos.
sudo iptables -A INPUT -p tcp --dport 1234 -j MINHACHAINA

<br>

    <code>sudo iptables -A MINHACHAINA -s 192.168.1.100 -j ACCEPT</code><br>
    <code>sudo iptables -A MINHACHAINA -j DROP</code>
  - Cria uma cadeia personalizada chamada `MINHACHAINA` e redireciona pacotes da porta `1234` para essa cadeia, onde são filtrados por IP.