Como desativar o registro de base64 no modsecurity

1

No meu log de auditoria do modsecurity, há imagens codificadas na base64 que foram registradas a partir de uploads do owncloud.

Como posso adicionar uma regra personalizada na minha definição de virtualhost para que os uploads não sejam registrados como texto codificado na base64?

Euencontreialgoquedeveriafuncionarparaexcluiraopçãodelogardonolog,casosejaumaimagem:

#SecRuleREQUEST_HEADERS:Content-Type"(?:image/gif|image/jpg|image/png|image/bmp)"
SecRule REQUEST_HEADERS:Content-Type "image/" \
        "id:333837,t:none,t:lowercase,pass,nolog,skip:1"
        SecAction "phase:2,id:334385,t:none,pass,nolog,skipAfter:END_IMAGE_CHECKS"

Mas eu só quero parar o registro de imagens como texto de base 64 (porque é inchaço dos arquivos de log), não o registro de quais arquivos foram enviados.

    
por markgraeflerland 11.05.2018 / 10:16

1 resposta

0

Eu posso pensar em algumas opções, mas você tem que escolher de acordo com suas necessidades.

  1. Você pode avaliar usando a opção SecAuditLogParts :

O padrão SecAuditLogParts é: ABCFHZ

Partes do log de auditoria disponíveis:

A – audit log header (mandatory)

B – request headers

C – request body (present only if the request body exists and ModSecurity is configured to intercept it)

D - RESERVED for intermediary response headers, not implemented yet.

E – intermediary response body (present only if ModSecurity is configured to intercept response bodies, and if the audit log engine is configured to record it). Intermediary response body is the same as the actual response body unless ModSecurity intercepts the intermediary response body, in which case the actual response body will contain the error message (either the Apache default error message, or the ErrorDocument page).

F – final response headers (excluding the Date and Server headers, which are always added by Apache in the late stage of content delivery).

G – RESERVED for the actual response body, not implemented yet.

H - audit log trailer

I - This part is a replacement for part C. It will log the same data as C in all cases except when multipart/form-data encoding in used. In this case it will log a fake application/x-www-form-urlencoded body that contains the information about parameters but not about the files. This is handy if you don't want to have (often large) files stored in your audit logs.

J - RESERVED. This part, when implemented, will contain information about the files uploaded using multipart/form-data encoding.

Z – final boundary, signifies the end of the entry (mandatory)

Se não estou enganado, você pode filtrar a opção C , deixando ABFHZ em vez disso, quando o tipo é image/ para evitar que o corpo entre no log .

  1. Outra opção seria definir SecAuditEngine para a opção RelevantOnly , em vez de On/Off :

SecAuditEngine

Configura o mecanismo de log de auditoria. Os valores possíveis são:

On - log all transactions by default.

Off - do not log transactions by default.

RelevantOnly - by default only log transactions that have triggered a warning or an error, or have a status code that is considered to be relevant (see SecAuditLogRelevantStatus).
  1. E uma terceira opção, pode ser alterar o tratamento do corpo de resposta e evitar arquivos estáticos, configurando em modsecurity.conf:

SecResponseBodyMimeType text/plain text/html text/xml

Fontes:

por 19.05.2018 / 03:09