For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/pt/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/pt/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/pt/guides/bare-metal-cloud/dedicated-servers/firewall-linux-iptable.md.
Ir para o conteúdo

Configurar o iptables num servidor dedicado Linux

Ver como Markdown

Proteja o seu servidor dedicado configurando regras de firewall iptables para filtrar o tráfego de rede em Linux

Objetivo

O seu servidor dedicado está equipado com uma firewall. As firewalls criam uma barreira entre uma rede de confiança e uma rede não fiável. As firewalls funcionam através da definição de regras que determinam o tráfego autorizado e o tráfego bloqueado. O utilitário de firewall desenvolvido para os sistemas Linux é o Iptables.

Aprenda a proteger o seu servidor dedicado com o Iptables.

Warning

A OVHcloud oferece-lhe serviços cuja configuração e gestão são da sua responsabilidade. Por isso, é da responsabilidade do cliente assegurar o seu bom funcionamento.

Disponibilizamos-lhe este guia para o ajudar da melhor forma possível nas tarefas mais comuns. No entanto, recomendamos que recorra a um prestador de serviços especializado e/ou que fale com a nossa comunidade de utilizadores se tiver dificuldades ou dúvidas relativamente à administração, à utilização ou à segurança de um servidor. Encontrará mais informações na secção "Quer saber mais?" deste guia.

Requisitos

  • Dispor de um servidor dedicado na sua conta OVHcloud
  • Dispor de um acesso de administrador (root/sudo) ao seu servidor através de SSH

Instruções

Info

Este guia indica os comandos para uma distribuição Ubuntu Server.

Este guia é de utilização geral. Poderá ter de adaptar alguns comandos em função da distribuição e/ou do sistema operativo que utiliza. Alguns conselhos poderão sugerir-lhe a utilização de ferramentas de terceiros. Em caso de dúvidas quanto à sua utilização, consulte a respetiva documentação oficial.

A maioria das regras descritas neste guia pressupõe que o seu iptables está configurado por predefinição para fazer DROP do tráfego de entrada e que autoriza seletivamente o tráfego de entrada. Se pretender implementar outro tipo de configuração, recomendamos que consulte a documentação complementar.

Etapa 1: atualizar o seu sistema

Os programadores de distribuições e de sistemas operativos propõem atualizações frequentes dos pacotes de software, muitas vezes por razões de segurança. Manter a sua distribuição ou o seu sistema operativo atualizado é fundamental para a segurança do seu servidor.

Consulte o nosso guia sobre a proteção de um servidor dedicado para mais informações.

Etapa 2: instalar a firewall Iptables em Ubuntu

Info

Existem duas versões diferentes do iptables, para IPv4 e IPv6. As regras abordadas neste tutorial sobre o Iptables em Linux dizem respeito ao IPv4. Para configurar o Iptables para IPv6, deve utilizar o utilitário ip6tables. Estes dois protocolos diferentes não funcionam em conjunto e devem ser configurados de forma independente.

O Iptables está instalado por predefinição na maioria dos sistemas Linux. Para garantir que o Iptables está instalado, utilize o seguinte comando:

sudo apt install iptables

Em geral, um comando Iptables apresenta-se da seguinte forma:

sudo iptables [option] CHAIN_rule [-j target]

Eis uma lista de algumas opções comuns do Iptables:

  • -A --append: Adiciona uma regra a uma cadeia (no fim).
  • -C --check: Procura uma regra que corresponda aos requisitos da cadeia.
  • -D --delete: Elimina as regras especificadas de uma cadeia.
  • -F --flush: Elimina todas as regras.
  • -I --insert: Adiciona uma regra a uma cadeia numa determinada posição.
  • -L --list: Apresenta todas as regras de uma cadeia.
  • -N --new-chain: Cria uma nova cadeia.
  • -v --verbose: Apresenta mais informações ao utilizar uma opção de listagem.
  • -X --delete-chain: Elimina a cadeia indicada.

Etapa 3: verificar o estado atual do iptables

Para apresentar o conjunto das regras atuais no seu servidor, introduza o seguinte comando na janela do terminal:

sudo iptables -L

O sistema apresenta o estado das suas cadeias.

A saída listará três cadeias:

Resultado do comando sudo iptables -L com as cadeias INPUT, FORWARD e OUTPUT

Etapa 4: autorizar o tráfego no localhost

Para autorizar o tráfego do seu próprio sistema (o localhost), adicione uma regra à cadeia INPUT introduzindo o seguinte:

sudo iptables -A INPUT -i lo -j ACCEPT

Este comando configura a firewall para aceitar o tráfego para a interface localhost (lo) (-i). A partir de agora, tudo o que provém do seu sistema passará pela sua firewall. Deve definir esta regra para permitir que as aplicações comuniquem com a interface localhost.

Etapa 5: autorizar o tráfego em portas específicas

Estas regras autorizam o tráfego nas diferentes portas que especificar através dos comandos indicados abaixo. Uma porta é um ponto terminal de comunicação especificado para um tipo específico de dados.

Para autorizar o tráfego web HTTP, introduza o seguinte comando:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Para autorizar apenas o tráfego SSH (Secure Shell) de entrada, introduza o seguinte (tenha em conta que utilizamos a porta 22, que é o número da porta SSH predefinida. Se o seu número de porta for diferente, ajuste os comandos seguintes em conformidade):

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Para autorizar o tráfego HTTPS da Internet, introduza o seguinte comando:

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

As opções funcionam da seguinte forma:

  • -p: Verifica o protocolo especificado (tcp).
  • --dport: Especifica a porta de destino.
  • -j jump: Executa a ação.
Warning

Em caso de perda de acesso ao seu servidor, pode sempre utilizar a ferramenta KVM/IPMI para voltar a aceder ao servidor e modificar a sua configuração ou eliminar as suas regras.

Para mais informações sobre o acesso a esta ferramenta, consulte o nosso guia Como utilizar a consola IPMI com um servidor dedicado.

Etapa 6: controlar o tráfego por endereço IP

Utilize o seguinte comando para aceitar o tráfego a partir de um endereço IP específico.

sudo iptables -A INPUT -s o_seu_endereço_IP_a_autorizar -j ACCEPT

Substitua o endereço IP no comando pelo endereço IP que pretende autorizar.

Também pode bloquear o tráfego a partir de um endereço IP:

sudo iptables -A INPUT -s o_seu_endereço_IP_a_bloquear -j DROP

Substitua o endereço IP no comando pelo endereço IP que pretende bloquear.

Pode rejeitar o tráfego a partir de um intervalo de endereços IP com o seguinte comando:

sudo iptables -A INPUT -m iprange --src-range o_seu_endereço_IP_inicial-o_seu_endereço_IP_final -j REJECT

As opções do iptables que utilizámos nos exemplos funcionam da seguinte forma:

  • -m: Carrega um módulo de correspondência, neste caso iprange.
  • iprange: Corresponde a um intervalo de endereços IP em vez de um único endereço.
  • --src-range: Identifica o intervalo de endereços IP.

Etapa 7: eliminar o tráfego indesejado

Antes de bloquear o resto do tráfego, autorize as respostas às ligações que o seu servidor estabelece por si próprio (atualizações de pacotes, consultas DNS, etc.). Sem esta regra, estas respostas também seriam bloqueadas:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Se definir regras de firewall Iptables, deve impedir os acessos não autorizados eliminando todo o tráfego proveniente de outras portas:

sudo iptables -A INPUT -j DROP

A opção -A adiciona uma nova regra à cadeia. Se uma ligação passar por portas diferentes das que definiu, será descartada.

Warning

Atenção: se introduzir este comando antes de efetuar a etapa 5, bloqueará todos os acessos, incluindo o acesso em curso, o acesso SSH. Isto é particularmente problemático numa máquina à qual acede remotamente.

Etapa 8: eliminar uma regra

Para eliminar uma regra, utilize o respetivo número de linha.

Em primeiro lugar, liste todas as regras introduzindo o seguinte:

sudo iptables -L --line-numbers
Resultado do comando sudo iptables -L --line-numbers com os números das regras

Procure a linha da regra de firewall que pretende eliminar e execute este comando:

sudo iptables -D INPUT <Number>

Substitua Number pelo número de linha da regra que pretende eliminar.

Etapa 9: guardar as suas alterações

Quando o sistema é reiniciado, o Iptables não conserva as regras que tinha criado. Sempre que configurar o Iptables em Linux, todas as alterações que efetuar aplicam-se apenas até ao próximo reinício.

Nos sistemas baseados em Ubuntu, o pacote iptables-persistent encarrega-se de restaurar as suas regras no arranque. Instale-o com o seguinte comando:

sudo apt install iptables-persistent
Info

Durante a instalação, é-lhe perguntado se pretende guardar as regras IPv4 e IPv6 atuais. Responda Yes para conservar as regras que acabou de criar.

Em seguida, pode guardar as suas regras a qualquer momento com o seguinte comando:

sudo netfilter-persistent save

As suas regras IPv4 são escritas no ficheiro /etc/iptables/rules.v4 (e as suas regras IPv6 no ficheiro /etc/iptables/rules.v6).

No próximo arranque do seu sistema, o Iptables recarregará automaticamente as regras da firewall.

A partir de agora, pode configurar regras de firewall Iptables básicas para o seu servidor Linux. Não hesite em experimentar, pois pode sempre eliminar as regras de que não precisa ou limpar todas as regras e recomeçar.

Quer saber mais?

Ativar e configurar o Edge Network Firewall

Monitorizar os ataques DDoS com o painel Anti-DDoS

Fale com a nossa comunidade de utilizadores.

Esta página foi útil?