¿Por qué es posible que el usuario root elimine los registros?
Porque necesitas poder administrar el servidor.
¿Qué impide que un pirata informático con acceso de raíz elimine los registros para cubrir sus huellas?
Con respecto al registro local, solo su propia estupidez. Con respecto al registro externo, su conjunto de habilidades y el suyo.
Hay muchas, muchas formas diferentes de "iniciar sesión". De hecho, podría tener el registro de la máquina enraizado en un dispositivo oculto separado que no se puede sobrescribir fácilmente, como un registrador de frambuesa pi / arduino, del cual tengo algunos.
En Linux, se supone que la raíz es capaz de hacer casi todo. En Windows, se aplica el mismo concepto; Si tiene acceso de root a una máquina, podrá hacer casi todo lo que quiera en esa máquina, lo que incluye eliminar registros.
También puede registrar todas las conexiones a una determinada máquina, especialmente si se supone que no se debe "acceder" en primer lugar.
¿Cómo descubriría lo que está pasando y cómo lo evitaría?
Esta es una manera de encontrar todos los cambios en los últimos 120 minutos:
find / -mmin -120 -printf '%p\t%a\n'
Bien, ¿eh? Gotcha, hacker! Mwahahaha ... pero puedes cambiar estos atributos si sabes lo que estás haciendo, así:
touch -d "24 hours ago" <file>
Peor aún, automatizándolo:
find / -print | while read file; do
touch -d "$(date -r "$file") - 24 hours" "$file"
done
Pero espera, Mark Hulkalo! Si todos los archivos se editaron por última vez hace 24 horas, ¡eso demuestra claramente que tenemos un haxor! Es cierto, pero también puede aplicar $RANDOM
donde exista 24. Aquí hay un ejemplo de un número de 1-24: $((RANDOM % 10) + 1)
. Ahora no parece tan fácil de descubrir, ¿verdad?
Pero, ¿qué pasa si todos los archivos se ven así, especialmente los archivos que no se deben cambiar? Limite el alcance a un directorio determinado, como /root
. Hay muchas formas de enmascarar tu presencia localmente.
A menos que el atacante olvide limpiar ~/.bash_history
, estarás volando a ciegas. Realmente, si el único "registro" que tiene es ~/.bash_history
, entonces está en problemas si su atacante es al menos moderadamente inteligente. Eso se puede borrar en cada cuenta de usuario con una facilidad asombrosa, siempre y cuando tengas los permisos adecuados.
Es mucho más fácil registrar entradas en un lugar donde no se detectará o modificará fácilmente, como un dispositivo externo. Si bien es posible usar el análisis forense para recuperar las huellas de su atacante, es muy, muy fácil de eludir si sabe lo que está haciendo. Es por esto que el registro externo es una solución mucho mejor.
Y esa es la historia de por qué el registro externo es generalmente la respuesta ... tenga en cuenta que también hay formas de evitar el registro externo. Nada es 100% seguro; solo puedes hacerlo más difícil para tu atacante, no imposible.