Evita la manipulación de los registros de un servicio

2

En un servicio sensible a la seguridad con las API REST, ¿cuál es la mejor manera de producir registros de auditoría resistentes a la manipulación indebida?

Firmar cada entrada de registro es una posibilidad, pero eso no impide que un operador malicioso oculte algunos de los registros.

    
pregunta MarinaLilv 29.08.2016 - 12:02
fuente

5 respuestas

2
  1. Use el servidor de registro central: puede ser tan sencillo como hacer un cron para copiar archivos de registro en un lugar o usar Syslog-NG para almacenar los registros en la base de datos. ( enlace )
  2. O puede usar el tipo de herramienta AIDE para garantizar la integridad de los registros. Gire los registros a una frecuencia basada en el tamaño y la criticidad.

También se proporciona una excelente respuesta aquí Técnicas para garantizar la verificabilidad de los archivos de registro de eventos y enlace

    
respondido por el Krishna Pandey 29.08.2016 - 13:33
fuente
1

Inicie sesión en una máquina dedicada que no hace nada más que esto y tiene acceso restringido. Una máquina de propósito especial requiere mucho menos administración que la que aloja un servicio complejo, por lo que pocas personas necesitarían tener acceso al servidor de registro.

Si realmente necesita una garantía de integridad muy alta, inicie sesión en una cinta de papel. Eso requiere acceso físico para realizar cualquier manipulación, y borrar los registros en papel tiende a dejar evidencia (papel cortado, cenizas, ...).

    
respondido por el Gilles 29.08.2016 - 23:52
fuente
0

Mi preferencia personal iría a Open TripWire , Es bastante experto en la supervisión de todo el sistema de archivos para las modificaciones locales.

Como usted dijo, la destrucción de datos siempre es un riesgo, por lo que tal vez RSync la carpeta de registro a un host remoto.

    
respondido por el J.A.K. 29.08.2016 - 12:07
fuente
0

Establezca los permisos correctos. Por ejemplo, solo los usuarios de un determinado grupo pueden escribir registros, mientras que la lectura está disponible para otro grupo. Almacene los registros en varias ubicaciones para que pueda compararlos más adelante. Si los registros se vuelven más grandes, archívelos y cifrados con encriptación asimétrica y fírmelos.

También podría utilizar un servicio en línea para externalizar todas estas operaciones.

    
respondido por el Yorick de Wid 29.08.2016 - 12:09
fuente
0

Incluya un hash de la entrada del registro anterior para cada entrada. Dependiendo de los requisitos de seguridad, se puede enviar un hash del registro a la red de bitcoin o a un servicio de cronometraje o similar, para crear una "marca de tiempo" que hará imposible modificar el registro sin ser detectado.

Cuando giras, simplemente hash todo el archivo de registro e incluyes ese hash al comienzo del siguiente archivo de registro. En el momento de la rotación de registros, también es un buen momento para realizar la marca de tiempo real, por ejemplo, mediante una red de bitcoin o un servicio de cronometraje.

Sí, un asesor puede eliminar o destruir el registro, pero eso dejará evidencia reveladora de que se ha realizado.

    
respondido por el sebastian nielsen 29.08.2016 - 15:55
fuente

Lea otras preguntas en las etiquetas