LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

En Linux y otros sistemas operativos similares a Unix, solo el usuario root puede ejecutar todos los comandos y realizar ciertas operaciones críticas en el sistema, como instalar y actualizar, eliminar paquetes, crear usuarios y grupos, modificar archivos importantes de configuración del sistema, etc.

Sin embargo, un administrador del sistema que asume el rol de usuario root puede permitir que otros usuarios normales del sistema con la ayuda del comando sudo y algunas configuraciones ejecuten algunos comandos, así como también lleven a cabo una serie de operaciones vitales del sistema, incluidas las mencionadas anteriormente.

Alternativamente, el administrador del sistema puede compartir la contraseña del usuario root (que no es un método recomendado) para que los usuarios normales del sistema tengan acceso a la cuenta del usuario root a través del comando su.

sudo permite que un usuario autorizado ejecute un comando como root (u otro usuario), según lo especificado por la política de seguridad:

  1. Lee y analiza /etc/sudoers, busca el usuario que invoca y sus permisos,
  2. luego solicita al usuario que invoca una contraseña (normalmente la contraseña del usuario, pero también puede ser la contraseña del usuario de destino. O se puede omitir con la etiqueta NOPASSWD),
  3. después de eso, sudo crea un proceso secundario en el que llama a setuid() para cambiar al usuario objetivo
  4. a continuación, ejecuta un shell o el comando proporcionado como argumento en el proceso secundario anterior.

A continuación se muestran diez configuraciones de archivos /etc/sudoers para modificar el comportamiento del comando sudo mediante las entradas predeterminadas.

$ sudo cat /etc/sudoers
/etc/archivo sudoers
#
# Este archivo DEBE ser editado con el comando 'visudo' como root.
#
# Considere agregar contenido local en /etc/sudoers.d/ en lugar de
# modificar directamente este archivo.
#
# Consulte la página del manual para obtener detalles sobre cómo escribir un archivo sudoers.
#
Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults logfile="/var/log/sudo.log" Defaults lecture="always" Defaults badpass_message="Password is wrong, please try again" Defaults passwd_tries=5 Defaults insults Defaults log_input,log_output

Tipos de entradas predeterminadas

Defaults                parameter,   parameter_list     # Afecta a todos los usuarios en cualquier host
Defaults@Host_List parameter, parameter_list # Afecta a todos los usuarios en un host específico
Defaults:User_List parameter, parameter_list # Afecta a un usuario específico
Defaults!Cmnd_List parameter, parameter_list # Afecta a un comando específico
Defaults>Runas_List parameter, parameter_list # Afecta a los comandos que se ejecutan como un usuario específico
Para el alcance de esta guía, nos concentraremos en el primer tipo de Defaults (valores predeterminados) en los formularios a continuación. Los parámetros pueden ser indicadores, valores enteros, cadenas o listas.

Debe tener en cuenta que las banderas son implícitamente booleanas y se pueden desactivar con el operador,'!' y las listas tienen dos operadores de asignación adicionales +=(agregar a la lista) y -=(eliminar de la lista).

Defaults     parameter
O
Defaults     parameter=value
O
Defaults     parameter -=value   
Defaults     parameter +=value  
O
Defaults     !parameter    

1. Establecer una RUTA segura

Esta es la ruta utilizada para cada comando que se ejecuta con sudo, tiene dos importancias:

  1. Se usa cuando un administrador del sistema no confía en que los usuarios de sudo tengan una variable de entorno PATH segura
  2. Para separar la "ruta root" y la "ruta del usuario", solo los usuarios definidos por exempt_group no se ven Afectados por esta configuración.

Para configurarlo, agregue la línea:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

2. Habilite sudo en la sesión de inicio de sesión de usuario de TTY

Para habilitar la invocación de sudo desde un tty real, pero no a través de métodos como scripts cron o cgi-bin, agregue la línea:

Defaults  requiretty   

3. Ejecute el comando Sudo usando un pty

Algunas veces, los atacantes pueden ejecutar un programa malicioso (como un virus o malware) usando sudo, lo que nuevamente bifurcaría un proceso en segundo plano que permanece en el dispositivo terminal del usuario incluso cuando el programa principal ha terminado de ejecutarse.

Para evitar tal escenario, puede configurar sudo para ejecutar otros comandos solo desde un psuedo-pty usando el parámetro,use_pty ya sea que el registro de E/S esté activado o no, de la siguiente manera:

Defaults  use_pty

4. Crear un archivo de registro de Sudo

De forma predeterminada, sudo inicia sesión a través de syslog(3). Sin embargo, para especificar un archivo de registro personalizado, use el parámetro de archivo de registro de la siguiente manera:

Defaults  logfile="/var/log/sudo.log"

Para registrar el nombre de host y el año de cuatro dígitos en el archivo de registro personalizado, use los parámetros log_host y log_year respectivamente de la siguiente manera:

Defaults  log_host, log_year, logfile="/var/log/sudo.lo

5. Registro de entrada/salida del comando Sudo

Los parámetros log_input y log_output permiten que sudo ejecute un comando en pseudo-tty y registre todas las entradas y salidas del usuario enviadas a la pantalla de manera receptiva.

El directorio de registro de E/S predeterminado es /var/log/sudo-io y, si hay un número de secuencia de sesión, se almacena en este directorio. Puede especificar un directorio personalizado a través del parámetro iolog_dir.

Defaults   log_input, log_output

Se admiten algunas secuencias de escape, como %{seq}la que se expande a un número de secuencia de base 36 que aumenta monótonamente, como 000001, donde cada dos dígitos se utilizan para formar un nuevo directorio, por ejemplo, 00/00/01 como en el siguiente ejemplo:

$ cd /var/log/sudo-io/
$ ls
$ cd  00/00/01
$ ls
$ cat log
 

Registrar sudo Entrada / Salida

Puede ver el resto de los archivos en ese directorio usando el comando cat.

6. Sermonear a los usuarios de Sudo

Para dar lecciones a los usuarios de sudo sobre el uso de contraseñas en el sistema, use el parámetro de lectura como se muestra a continuación.

Tiene 3 valores posibles:

  1. always (siempre): siempre sermonear a un usuario.
  2. once (una vez): solo sermonee a un usuario la primera vez que ejecute el comando sudo (esto se usa cuando no se especifica ningún valor)
  3. never (nunca), nunca sermonee al usuario.
Defaults  lecture="always"

Además, puede configurar un archivo de conferencia personalizado con el parámetro conference_file, escriba el mensaje apropiado en el archivo:

Valores predeterminados
Defaults  lecture_file="/ruta/al/archivo"

Usuarios de Sudo de conferencias

7. Muestra un mensaje personalizado cuando ingresas una contraseña sudo incorrecta

Cuando un usuario ingresa una contraseña incorrecta, se muestra un mensaje determinado en la línea de comando. El mensaje predeterminado es " lo siento, inténtalo de nuevo ", puedes modificar el mensaje usando el parámetro badpass_message de la siguiente manera:

Defaults  badpass_message="Password is wrong, please try again"

8. Aumente el límite de intentos de contraseña de sudo

El parámetro passwd_tries se usa para especificar la cantidad de veces que un usuario puede intentar ingresar una contraseña.

El valor predeterminado es 3:

Defaults   passwd_tries=5 

Aumentar los intentos de contraseña de Sudo

Para establecer un tiempo de espera de contraseña (el valor predeterminado es 5 minutos) usando el parámetro passwd_timeout, agregue la siguiente línea:

Defaults   passwd_timeout=2

9. Deja que Sudo te insulte cuando ingresas una contraseña incorrecta

En caso de que un usuario escriba una contraseña incorrecta, sudo mostrará insultos en el terminal con el parámetro de insultos. Esto desactivará automáticamente el parámetro badpass_message.

Defaults  insults 

Vamos a configurar Sudo para insultarte cuando ingreses una contraseña incorrecta

10. Más información sobre configuraciones de Sudo

Además, puede aprender más configuraciones de comandos sudo leyendo: Diferencia entre su y sudo y Cómo configurar sudo en Linux.

¡Eso es todo! Puede compartir otras configuraciones útiles de comandos sudo o trucos y consejos con los usuarios de Linux a través de la sección de comentarios a continuación.

Pin It

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías