O que exatamente faz a diretiva ModSecurity SecCollectionTimeout?

1

Estou tendo um pouco de dificuldade com uma mensagem de erro recorrente "Falha ao excluir a coleção" do ModSecurity (consulte esta discussão @ GitHub para algum contexto). Na discussão deste erro, é frequentemente sugerido que a diretiva SecCollectionTimeout pode ter algum impacto. Lendo a documentação só conheço esta diretiva:

Specifies the collections timeout. Default is 3600 seconds.

No entanto, não entendo completamente o que é um "tempo limite de coleções". Alguém pode me explicar o que esta configuração faz?

Muito obrigado antecipadamente.

    
por MRA 29.01.2015 / 11:54

1 resposta

2

Se um registro de coleção não for atualizado nesse período, ele será marcado para exclusão e lixo coletado em algum momento.

Dependendo de como uma regra é escrita, é possível que o ModSecurity atualize continuamente um registro de coleta antes que o tempo limite passe, de forma que ele nunca seja sinalizado para expiração.

Você pode adicionar uma nova regra para expirar registros realmente antigos. Ivan Ristic discute isso em seu manual Mod Security no Capítulo 8 e dá algumas regras de exemplo para detectar registros realmente antigos, incluindo este de Brian Rectanus (note que desde então ele se tornou obrigatório, então seria necessário adicionar se você quisesse usar esta regra na vida real):

# Detect very old IP records
SecAction "phase:5,log,pass,chain,\
msg:'IP record older than 24 hours',\
setvar:tx.exp=%{TIME_EPOCH},\    
setvar:tx.exp=-%{IP.CREATE_TIME}"
    SecRule TX:exp "@gt 86400"

Este exemplo pode ser atualizado para excluir automaticamente o registro antigo sem o registro, alterando para o seguinte:

# Delete very old IP records
SecAction "id:12345,phase:5,nolog,pass,chain,\
setvar:tx.exp=%{TIME_EPOCH},\    
setvar:tx.exp=-%{IP.CREATE_TIME}"
    SecRule TX:exp "@gt 86400" "setvar:!IP.KEY"

Então, novamente, seu link pode ser genuinamente um bug no ModSecurity que itens expirados não estão sendo limpos, caso em que acima pode não ajudar ...

    
por 28.02.2015 / 16:17