Hostwinds Tutoriais

Resultados da busca por:


Índice


O que são iptables?
Como faço para instalar o IPTables?
Como faço para usar o IPTables?
Regras de lista por especificação
Regras da lista por cadeia específica
Listar regras como tabelas
Excluir regra usando especificação
Regras de descarga
Bloquear um endereço IP
Permitir todas as conexões SSH de entrada
Permitir todas as conexões SSH de entrada de IP explícito
Permitir conexões SSH de saída
Permitir todas as conexões HTTP e HTTPS de entrada
Bloquear SMTP de saída
Permitir conexões SMTP de entrada

Gerenciando Regras IPTables

Tag: CentOS Web Panel,  Firewall,  Linux 

O que são iptables?
Como faço para instalar o IPTables?
Como faço para usar o IPTables?
Regras de lista por especificação
Regras da lista por cadeia específica
Listar regras como tabelas
Excluir regra usando especificação
Regras de descarga
Bloquear um endereço IP
Permitir todas as conexões SSH de entrada
Permitir todas as conexões SSH de entrada de IP explícito
Permitir conexões SSH de saída
Permitir todas as conexões HTTP e HTTPS de entrada
Bloquear SMTP de saída
Permitir conexões SMTP de entrada

O que são iptables?

O IPTables é um utilitário de firewall baseado em linha de comando extremamente flexível construído especificamente para distribuições Linux.Iptables usa cadeias de políticas para permitir ou bloquear o tráfego.Quando uma conexão está sendo estabelecida em seu servidor, o iptables identificará uma regra em sua lista para determinar qual ação precisa ser tirada.Se nenhuma regra estiver presente para a conexão, ele irá recorrer à ação padrão definida para o seu sistema.

Como faço para instalar o IPTables?

Geralmente, o IPTables é instalado por padrão na maioria dos sistemas Linux. Para atualizá-lo ou instalá-lo, você pode recuperar o pacote IPTables emitindo os seguintes comandos:

Nota: O IPTables deve ser pré-instalado no CentOS 6.

Ubuntu

apt-get install iptables-persistent

CentOS 7

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables

Os iptables agora serão instalados em seu sistema.Vamos dar uma olhada em como usar iptables.

Como faço para usar o IPTables?

Esta seção cobrirá alguns comandos e usos básicos de IPTables e usos, como listar seu conjunto de regras atual e bloquear um endereço IP estabelecer uma conexão.

Regras de lista por especificação

Para listar o conjunto de regras atualmente ativo por especificação, você emitiria o seguinte comando:

iptables -S

Regras da lista por cadeia específica

Para exibir as regras atualmente aplicadas a uma cadeia específica, você pode usar o seguinte comando. Este exemplo mostrará todas as especificações da regra para a cadeia UDP:

iptables -S UDP

Listar regras como tabelas

Você pode listar todas as regras IPTables atuais que estão em vigor em uma visualização de tabela usando o seguinte comando que chama a opção -L. Isso irá listar todos os conjuntos de regras atuais classificados por tipo de cadeia.

iptables -L

Excluir regra usando especificação

Você pode excluir regras em iptables usando a opção -d.Você pode remover regras de regras de várias maneiras diferentes.Cobriremos a remoção de regras pela especificação.Por exemplo, se você quisesse remover a regra que permite todo o tráfego recebido na porta 443, você usaria o seguinte comando:

iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

Regras de descarga

Com IPTables, você pode liberar regras. Isso pode ser feito limpando uma única corrente ou limpando todas as correntes. Abordaremos os dois métodos abaixo.

Para liberar uma única corrente, você pode usar a opção -f ou a opção equivalente -fush, combinada com o nome da cadeia que você gostaria de lavar.Por exemplo, você pode excluir todas as regras na cadeia de entrada, utilizando o seguinte comando:

iptables -F INPUT

Para liberar todas as correntes, você usou novamente a opção -f ou equivalente -fush sem quaisquer parâmetros adicionais.Isso efetivamente removerá todas as regras de firewall que estão atualmente ativas no servidor.O comando é o seguinte:

iptables -F

Bloquear um endereço IP

Os iptables fornecem a capacidade de bloquear conexões de rede de um endereço IP específico.Por exemplo, para bloquear todas as conexões recebidas de 10.10.10.10, você executaria o seguinte comando:

iptables -A INPUT -s 10.10.10.10 -j DROP

Você também pode rejeitar a conexão, que responderá com um erro de "conexão recusado".Substitua a gota com rejeição.

iptables -A INPUT -s 10.10.10.10 -j REJECT

Você também pode bloquear conexões de um IP específico para um dispositivo de rede específico, como ETH1, usando a opção -i.

iptables -A INPUT -i eth1 -s 10.10.10.10 -j DROP

Permitir todas as conexões SSH de entrada

Para permitir TODAS as conexões SSH de entrada na porta SSH padrão (22), use os seguintes comandos:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Permitir todas as conexões SSH de entrada de IP explícito

Você também pode limitar conexões SSH para serem permitidas apenas a partir de um endereço IP específico ou sub-rede.Por exemplo, se você quiser apenas permitir o endereço IP 10.10.10.10 para se conectar ao servidor via ssh, você usaria o seguinte comando:

iptables -A INPUT -p tcp -s 10.10.10.10 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Isso também pode ser feito para uma sub-rede inteira adicionando a sub-rede ao comando, como / 27, conforme o comando a seguir ilustra:

iptables -A INPUT -p tcp -s 10.10.10.10/27 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Permitir conexões SSH de saída

Seu firewall pode não ter a política de saída definida para aceitar.Se este for o caso, talvez seja necessário permitir conexões SSH de saída se desejar se conectar a um servidor externo diretamente do seu servidor.Você pode executar os seguintes comandos para conseguir isso na porta SSH padrão (22).Se você estiver usando uma porta SSH diferente, substitua "22" no exemplo a seguir com o número da porta que você está usando:

iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Permitir todas as conexões HTTP e HTTPS de entrada

Por padrão, o tráfego HTTP é geralmente servido na porta 80, e o tráfego HTTPS é normalmente servido na porta 443. Você pode permitir os dois tipos de conexões ao seu servidor da Web usando os seguintes comandos.

Nota: Se você quiser apenas permitir um e não o outro, remova o número da porta do comando que se correlaciona no protocolo que você gostaria de permitir.

iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Bloquear SMTP de saída

Iptables permite que você bloqueie portas específicas, como a porta SMTP padrão (25). Por exemplo, você pode não querer permitir o correio de saída no seu servidor. Para parar isso usando iptables, você pode emitir o seguinte comando:

iptables -A OUTPUT -p tcp --dport 25 -j REJECT

Isso configurará iptables para rejeitar todo o tráfego de saída na porta 25. Se você quiser rejeitar o tráfego em uma porta diferente, você poderá substituir "25" pelo número da porta em questão.

Permitir conexões SMTP de entrada

Você pode permitir que seu servidor responda a todas as conexões SMTP na porta 25 executando os seguintes comandos:

iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Escrito por Hostwinds Team  /  dezembro 13, 2016