Iptables + módulo recent
Como este módulo está se difundindo bastante ultimamente, resolvi escrever um pequeno artigo descrevendo esse poderoso recurso que o iptables nos oferece. Com ele você poderá criar regras dinâmicas com uma determinada resposta ou ação quando ativada.
Parte 2: O módulo recent
Antes farei uma breve explicação do módulo recent e suas opções. Se no prompt digitarmos:
# iptables -m recent -help
Teremos o seguinte resultado (vou filtrar apenas para focar o que diz respeito ao recent):
recent v1.2.11 options
[!] --set: Add source address to list, always matches
[!] --rcheck: Match if source address in list.
[!] --update: Match if source address in list, also update last-seen time.
[!] --remove: Match if source address in list, also removes that address from list.
--seconds seconds: For check and update commands above. Specifies that the match will only occur if source address last seen within the last 'seconds' seconds.
--hitcount hits: For check and update commands above. Specifies that the match will only occur if source address seen hits times. May be used in conjunction with the seconds option
--rttl: For check and update commands above. Specifies that the match will only occur if the source address and the TTL match between this packet and the one which was set. Useful if you have problems with people spoofing their source address in order to DoS you via this module.
--name name: Name of the recent list to be used. DEFAULT used if none given.
--rsource: Match/Save the source address of each packet in the recent list table (default).
--rdest: Match/Save the destination address of each packet in the recent list table.
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net.
http://snowman.net/projects/ipt_recent/
Minha versão:
recent v1.2.11 options
[!] --set: Adiciona um endereço à lista.
[!] --rcheck: Verifica se um endereço de origem existe na lista.
[!] --update: Atualiza um endereço de origem na lista, atualizando também o seu tempo.
[!] --remove: Verifica e se estiver na lista remove o endereço de origem.
--seconds seconds: Funciona junto com os comandos de atualização e verificação citados acima. Especifica que o match ocorrerá somente se o último endereço da origem estiver dentro do último 'seconds' segundos.
--hitcount hits: Funciona com os comandos de verificação e atualização. verificando se existe entradas (hits) na lista do endereço de origem até aquele momento. Sendo muito usado com a opção --seconds.
--rttl: Funciona junto com os comandos de verificação e atualização. verificando qual o tamanho do TTL (time to Live) do endereço de origem e comparando com o da lista. Podendo ser usado quando identificar problemas de spoofing ou DoS.
--name name: Seta o nome da lista. O nome DEFAULT é usado quando não é especificado nenhum nome.
--rsource: Salva o endereço de origem de cada pacote na lista.
--rdest: Salva o endereço de destino na tabela/lista.
# iptables -m recent -help
Teremos o seguinte resultado (vou filtrar apenas para focar o que diz respeito ao recent):
recent v1.2.11 options
[!] --set: Add source address to list, always matches
[!] --rcheck: Match if source address in list.
[!] --update: Match if source address in list, also update last-seen time.
[!] --remove: Match if source address in list, also removes that address from list.
--seconds seconds: For check and update commands above. Specifies that the match will only occur if source address last seen within the last 'seconds' seconds.
--hitcount hits: For check and update commands above. Specifies that the match will only occur if source address seen hits times. May be used in conjunction with the seconds option
--rttl: For check and update commands above. Specifies that the match will only occur if the source address and the TTL match between this packet and the one which was set. Useful if you have problems with people spoofing their source address in order to DoS you via this module.
--name name: Name of the recent list to be used. DEFAULT used if none given.
--rsource: Match/Save the source address of each packet in the recent list table (default).
--rdest: Match/Save the destination address of each packet in the recent list table.
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net.
http://snowman.net/projects/ipt_recent/
Minha versão:
recent v1.2.11 options
[!] --set: Adiciona um endereço à lista.
[!] --rcheck: Verifica se um endereço de origem existe na lista.
[!] --update: Atualiza um endereço de origem na lista, atualizando também o seu tempo.
[!] --remove: Verifica e se estiver na lista remove o endereço de origem.
--seconds seconds: Funciona junto com os comandos de atualização e verificação citados acima. Especifica que o match ocorrerá somente se o último endereço da origem estiver dentro do último 'seconds' segundos.
--hitcount hits: Funciona com os comandos de verificação e atualização. verificando se existe entradas (hits) na lista do endereço de origem até aquele momento. Sendo muito usado com a opção --seconds.
--rttl: Funciona junto com os comandos de verificação e atualização. verificando qual o tamanho do TTL (time to Live) do endereço de origem e comparando com o da lista. Podendo ser usado quando identificar problemas de spoofing ou DoS.
--name name: Seta o nome da lista. O nome DEFAULT é usado quando não é especificado nenhum nome.
--rsource: Salva o endereço de origem de cada pacote na lista.
--rdest: Salva o endereço de destino na tabela/lista.
um abraço