Especificações alvo Iptables no Linux

Para a tabela de filtro, os alvos mais utilizados para as regras de firewall é DROP e ACCEPT. Se uma regra corresponde às especificações da filtragem e tem um destino de soltar, o pacote será simplesmente descartado. Se um pacote coincide com uma regra com um destino de soltar, o kernel Linux irá descartar o pacote sem consultar outras regras no firewall. Se o destino é aceitar, então o pacote é aceito sem nova consulta de regras de firewall de outros.
Uma alternativa para DROP é o alvo REJECT, que descarta o pacote, mas envia um pacote ICMP para o IP de origem do pacote. Por padrão, o alvo REJECT enviará uma porta ICMP 'inacessível' mensagem para o remetente, mas que pode ser substituído pelo "- recusar-com" interruptor.
O alvo em uma regra iptables também pode ser usado para transmitir um pacote para uma cadeia definida pelo usuário. Por exemplo, se criarmos uma nova cadeia como "iptables-N SSH", precisamos dizer ao kernel que olhar para essa cadeia produtiva para todas as conexões TCP na porta 22 como este:

  

iptables-A INPUT-p tcp - dport 22-j SSH

Outro alvo é útil LOG, que pode ser usado para registar os pacotes que combinam com uma especificação de filtragem no log do kernel, o que pode ser lido com dmesg ou syslogd. LOG opções de destino são:

 

  • - log-level nível: o nível de log pode ser um nome ou um número. Os nomes válidos são debug, info, aviso, advertência, err, crit, alerta e emergência com os números correspondentes 7-0.
  • - log-prefix prefixo: prefixo de log é seguido por uma seqüência de até 29 caracteres, colocado no início da mensagem de log.
  • - log-tcp-sequence: Registra os números de seqüência TCP.
  • - log-tcp-options: Registra o campo de opção de cabeçalhos de pacotes TCP.
  • - log-ip-options: Registra o campo de opção dos cabeçalhos de pacotes IP.
  • - log-uid: Registra o ID do processo que gerou o pacote.

 

O alvo LOG não é um alvo que encerra como ACCEPT, DROP e REJECT. Isto significa que se um pacote corresponde a uma regra que tem o alvo LOG, o kernel olha para cima das regras que se seguem também para corresponder a esse pacote. Um jogo-limite para as regras com objectivos LOG seria uma boa idéia para evitar inundações arquivos de log.

Como exemplo, criamos mais cedo da cadeia SSH e pacotes passou entrando na porta 22/tcp. Agora, queremos aceitar receber conexões SSH 192.168.0.0/27 e 10.10.15.0/24, por exemplo, e registrar todas as outras tentativas, mas vamos limitar o registo para 5 / s, porque, no caso de uma inundação de SYN porta 22/tcp, os logs encheria rapidamente.

Primeiro, vamos adicionar as regras para a cadeia de SSH para permitir conexões a partir de hosts confiáveis:

iptables-A SSH-s 192.168.0.0/27-j ACCEPT
iptables-A SSH-s 10.10.15.0/24-j ACCEPT

Em seguida, vamos adicionar a regra de log:

iptables-A SSH-m limit - limit 5 / s-j LOG

Em seguida, solte todas as outras conexões:

iptables-A SSH-j DROP

Temos de verificar a configuração, e vamos usar o iptables-L-n para isso. Vamos ver na cadeia INPUT:


root @ router: ~ / Lucix # iptables-L-n

E vamos ver a cadeia SSH:

Cadeia SSH (1) referências
target prot opt source destination
ACCEPT all - 192.168.0.0/27 0.0.0.0 / 0
ACCEPT all - 10.10.15.0/24 0.0.0.0 / 0
LOG all - 0.0.0.0 / 0 0.0.0.0 / 0 limit: avg estouro 5/sec 5 LOG flags 0 level 4
DROP all - 0.0.0.0 / 0 0.0.0.0 / 0

Para testar a cadeia SSH vamos tentar telnet porta 22 de um host não autorizado. Usando o iptables-L-n-v, veremos que o pacote combinado de LOG e DROP regras:


Cadeia SSH (1) referências
pkts bytes target prot opt in out source destination
0 0 ACCEPT all - * * 192.168.0.0/27 0.0.0.0 / 0
0 0 ACCEPT all - * * 10.10.15.0/24 0.0.0.0 / 0
1 48 LOG all - * * 0.0.0.0 / 0 0.0.0.0 / 0
limit: avg estouro 5/sec 5 LOG flags 0 level 4
1 48 DROP all - * * 0.0.0.0 / 0 0.0.0.0 / 0

Agora, se você olhar para os registros usando o comando dmesg, você vai ver:

IN = eth0 OUT = MAC = 00: D0: B7: A7: 6f: 74:00:04:23 FC:: 14: e6: 08:00 SRC = 192.168.168.168 DST = 192.168.0.1 LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 109 ID = 54250 DF PROTO = TCP SPT = 27276 DPT = 22 WINDOW = 16384 RES = 0x00 SYN URGP = 0

que nos diz que tentou ligar 192.168.168.168 na porta 22 TCP.

um artigo submetido por Philip A Clare


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "Especificações Iptables Target em Linux" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 247 users browsing the articles directory