As regras de iptables podem manipular conjuntos de IP?

5

Em iptables-extensions(8) , o módulo set é descrito e é discutido que é possível para reagir à presença ou ausência de um IP ou, mais geralmente, um jogo contra um conjunto de IPs.

No entanto, não parece haver uma maneira de acrescentar itens a um conjunto de IP em tempo real usando uma regra iptables .

A ideia é que, se eu usar o módulo recent , eu poderia, então, temporariamente colocar em lista negra certos IPs que continuam tentando e adicioná-los em um conjunto de IPs (o que provavelmente é mais rápido). Isso significaria menos regras para percorrer nesses casos e a correspondência com um conjunto de IPs seria mais rápida também.

    
por 0xC0000022L 25.05.2014 / 23:42

2 respostas

5

Acontece que é possível, usando a meta SET descrita em iptables-extensions(8) .

SET
   This module adds and/or deletes entries from IP sets which can be defined by ipset(8).

   --add-set setname flag[,flag...]
          add the address(es)/port(s) of the packet to the set

   --del-set setname flag[,flag...]
          delete the address(es)/port(s) of the packet from the set

          where flag(s) are src and/or dst specifications and there can be no more
          than six of them.

   --timeout value
          when adding an entry, the timeout value to use instead of the default one
          from the set definition

   --exist
          when  adding  an  entry  if it already exists, reset the timeout value to
          the specified one or to the default from the set definition

   Use of -j SET requires that ipset kernel support is provided, which, for standard
   kernels, is the case since Linux 2.6.39.

Eu não encontrei, porque não procurei mais depois de encontrar a descrição do módulo set .

    
por 27.05.2014 / 22:30
1

Não, o iptables / netfilter não pode manipular listas de ipsets.

A extensão de correspondência set para iptables é uma visualização somente leitura em listas de ipset. As listas devem ser manipuladas apenas com o comando ipset .

A melhor maneira de fazer o que você está tentando realizar é usar a extensão iptables log combinada com fail2ban . < br> O Iptables seria configurado para registrar cada vez que alguém viola sua política e, depois de violar o número de vezes X, o fail2ban adicionaria esse host à lista negra.

    
por 26.05.2014 / 00:13