¿Qué hace el error "X no está en el archivo sudoers. Este incidente será reportado ”. ¿Significa filosófica / lógica?

31

Junto con la pregunta "El nombre de usuario no está en el archivo sudoers. Este incidente será informado " que explica los aspectos programáticos del error y sugiere algunas soluciones, quiero saber: ¿qué significa este error?

X is not in the sudoers file.  This incident will be reported.

La primera parte del error explica, claramente, el error. ¿Pero la segunda parte dice que "este error será reportado"? ¿Pero por qué? ¿Por qué se informará el error y dónde? ¿A quien? Soy usuario y administrador y no recibí ningún informe :)!

Kasramvd
fuente
12
¿Filosóficamente? O técnicamente?
Jeff Schaller
63
xkcd obligatorio
steeldriver
99
Un sistema (bueno) registra en silencio muchas cosas. Montones y montones de cosas. Especialmente errores. Especialmente si los considera mal intencionados. Creo que al preguntar sobre "filosóficamente", OP pregunta por qué este error concreto específico le advierte de una manera tan intimidante sobre el informe, mientras que la mayoría de las otras fallas se informan en silencio. Podría ser lo que escribió el codificador original en este momento, pero después de muchas versiones, nunca ha cambiado y podría haber un significado más profundo. O tal vez no. Si este es el enfoque, creo que es una gran pregunta que me he preguntado varias veces.
xDaizu
44
Presumiblemente, esto se remonta a cuando tenía todo un edificio usando 1 computadora y un administrador / operador cuidaba la computadora como un trabajo de tiempo completo.
user253751
1
Hace años, cuando estaba en la universidad y antes sudoera una cosa, estaba tratando de hacer algo como root en mi caja personal de Linux. Entonces corrí su. Cuando rechazó mi contraseña, intenté nuevamente varias veces pensando que había escrito mal mi contraseña. Finalmente, me di cuenta de que esa terminal estaba conectada al servidor de correo electrónico de la escuela. No mucho después de eso, el servidor de correo electrónico sysadmin me preguntó por qué había tratado de rootear su sistema. Así que claramente hubo algún tipo de informe a pesar de que fue en los sudodías anteriores .
Scott Severance

Respuestas:

38

Es probable que los administradores de un sistema deseen saber cuándo un usuario no privilegiado lo intenta pero no puede ejecutar los comandos utilizando sudo. Si esto sucede, podría ser un signo de

  1. un usuario legítimo curioso que simplemente prueba cosas, o
  2. un hacker tratando de hacer "cosas malas".

Dado que sudopor sí solo no puede distinguir entre estos, los intentos fallidos de uso sudoson señalados a la atención de los administradores.

Dependiendo de cómo sudoesté configurado en su sistema, sudose registrará cualquier intento (exitoso o no) de usar . Los intentos exitosos se registran con fines de auditoría (para poder realizar un seguimiento de quién hizo qué y cuándo), y los intentos fallidos de seguridad.

En una configuración de Ubuntu bastante vainilla que tengo, esto está conectado /var/log/auth.log.

Si un usuario da la contraseña incorrecta tres veces, o si no están en el sudoersarchivo, se envía un correo electrónico a la raíz (según la configuración de sudo, ver más abajo). Esto es lo que significa "este incidente será reportado".

El correo electrónico tendrá un tema destacado:

Subject: *** SECURITY information for thehostname ***

El cuerpo del mensaje contiene las líneas relevantes del archivo de registro, por ejemplo

thehostname : Jun 22 07:07:44 : nobody : user NOT in sudoers ; TTY=console ; PWD=/some/path ; USER=root ; COMMAND=/bin/ls

(Aquí, el usuario nobodytrató de correr lsa través sudocomo root, pero no pudo ya que no estaban en el sudoersarchivo).

No se envía ningún correo electrónico si no se ha configurado el correo (local) en el sistema.

Todas estas cosas también son configurables y las variaciones locales en la configuración predeterminada pueden diferir entre las variantes de Unix.

Eche un vistazo a la mail_no_userconfiguración (y mail_*configuraciones relacionadas ) en el sudoersmanual (mi énfasis a continuación):

mail_no_user

Si está configurado, el correo se enviará al usuario mailto si el usuario que invoca no está en el sudoersarchivo. Esta bandera está activada por defecto .

Kusalananda
fuente
O, más a menudo, ime 3) alguien que escribe mal. En un empleador cuando hacía esto, solía recibir periódicamente el correo electrónico que me enviaban, con la lista de destinatarios, la firma que indicaba la ubicación de la oficina y el contenido del correo electrónico de advertencia, como rebotes fuera de la oficina. Una vez fui a su oficina para disculparme y los asusté un poco, creo. Tal vez fue que, a pesar de ser un compañero de renombre involucrado en actividades mundanas, a veces doy vueltas por el lugar con una sudadera con capucha negra y un par de DM como esos tipos en fotos de stock como @Kusalananda podrá confirmar.
Dannie
15

En Debian y sus derivados, sudose registran los informes de incidentes /var/log/auth.logque contienen información de autorización del sistema, incluidos los inicios de sesión de los usuarios y los mecanismos de autenticación que se utilizaron:

$ sudo su
[sudo] password for regularjohn: 
regularjohn is not in the sudoers file.  This incident will be reported.

[as root]

$ tail -n 1 /var/log/auth.log
Jun 21 16:30:26 marvin sudo: regularjohn : user NOT in sudoers ; TTY=pts/19 ; PWD=/home/regularjohn ; USER=root ; COMMAND=/bin/su

Normalmente, este archivo de registro solo es accesible para los usuarios del admgrupo, es decir, los usuarios con acceso a las tareas de supervisión del sistema :

$ ls -la /var/log/auth.log
-rw-r----- 1 syslog adm 76189 Jun 21 16:30 /var/log/auth.log

Del Wiki de Debian :

Group adm se usa para tareas de monitoreo del sistema. Los miembros de este grupo pueden leer muchos archivos de registro en / var / log y pueden usar xconsole. Históricamente, / var / log era / usr / adm (y luego / var / adm), de ahí el nombre del grupo.

Los usuarios del admgrupo suelen ser administradores , y este permiso de grupo está destinado a permitirles leer archivos de registro sin tener que hacerlo su.

De manera predeterminada, sudoutiliza la función Syslog authpara iniciar sesión . sudo's comportamiento de registro se puede modificar mediante la logfileo sysloglas opciones de /etc/sudoerso /etc/sudoers.d:

  • La logfileopción establece la ruta al sudoarchivo de registro.
  • La syslogopción establece la función Syslog cuando syslog(3)se usa para iniciar sesión.

El Syslog authinstalación está redirigido a /var/log/auth.logen etc/syslog.confpor la presencia de la siguiente estrofa de configuración:

auth,authpriv.*         /var/log/auth.log
Thomas Nyman
fuente
7

Técnicamente, no significa mucho. Muchos (si no todos) otros registros de inicio de sesión de software, fallaron o no. Por ejemplo sshdy su:

Jun 21 17:52:22 somehost sshd[25807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=::1  user=root
Jun 21 17:52:22 somehost sshd[25807]: Failed password for root from ::1 port 37268 ssh2
Jun 21 17:52:23 somehost sshd[25807]: Connection closed by ::1 port 37268 [preauth]
Jun 21 17:52:28 somehost su[25809]: pam_unix(su:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/15 ruser=someuser rhost=  user=root
Jun 21 17:52:28 somehost su[25809]: pam_authenticate: Authentication failure
Jun 21 17:52:28 somehost su[25809]: FAILED su for root by someuser

Además, muchos sistemas tienen algún tipo de automatización para detectar errores de autenticación excesivos para poder hacer frente a posibles intentos de fuerza bruta, o simplemente usar la información para reconstruir eventos después de que aparezcan los problemas.

sudono hace nada especialmente excepcional aquí. Todo lo que significa el mensaje es que el autor de sudoparece haber tomado una filosofía algo agresiva al comunicarse con los usuarios que ejecutan comandos que no pueden usar.

ilkkachu
fuente
6

Simplemente significa que alguien intentó usar el sudocomando (para acceder a los privilegios de administrador), que no tiene autorización para usarlo (porque no figuran en el archivo sudoers). Esto podría ser un intento de piratería o algún otro tipo de riesgo de seguridad, por lo que el mensaje dice que el intento de uso sudose informará al administrador del sistema, para que puedan investigar.

Time4Tea
fuente
1
Bueno, en mi máquina local, soy el único usuario y administrador, ¡y puedo decirle que no recibí ningún informe!
Kasramvd
44
@Kasramvd probablemente lo hiciste, en algún archivo en alguna parte. No estoy exactamente seguro de dónde sudoenvía el informe. En su situación, con un solo usuario, probablemente no sea muy importante.
Time4Tea
2
@Kasramvd ¿ha verificado un correo electrónico para el usuario root? Además, ¿eres el administrador pero no tienes sudo para tu cuenta? ¿Cómo manejas la escalada de privilegios?
doneal24
@Kasramvd No se le informó ...
Thorbjørn Ravn Andersen
1
@ Kasramvd Piensas que eres el administrador El sistema operativo está claramente le dice que usted no tiene permiso para actuar como administrador - usted es el propietario del hardware en el mejor pero eso no necesariamente hacer un administrador
slebetman