La seguridad de la cuenta y la gestión de la seguridad del sistema, los métodos comunes de los comandos su y sudo son súper detallados

Medidas básicas de seguridad de la cuenta

En el uso diario de Linux, a veces cancelamos las calificaciones de inicio de sesión de algunos usuarios que no necesitan iniciar sesión y luego usamos el siguiente comando para cancelarlas

usermod -s /sbin/nologin 用户名  #将非登录的用户的Shell设为/sbin/nologin

Inserte la descripción de la imagen aquí

Bloquear cuentas que no se hayan utilizado durante mucho tiempo

usermod -L #锁定用户账户
passwd -l #锁定用户账户
passwd -u #解锁用户账户
usermod -U #解锁用户账户
passwd -S #查看用户账户的状态(是否被锁定)
这里额外写一种:passwd -d #清空指定用户的密码,仅使用用户名即可登录

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Eliminar cuentas inútiles

userdel [-r] 用户名    #“-r”可以将该用户的宿主目录一并删除

Inserte la descripción de la imagen aquí

Bloquear archivo de cuenta

chattr +i passwd shadow  锁定账号
chattr -i passwd shadow   解锁账号
lsattr  passwd   查看账号

Intentamos bloquear los archivos passwd y shadow, el proceso es el siguiente:
Inserte la descripción de la imagen aquí

Control de seguridad por contraseña

设置密码有效期
vim /etc/login.defs 
修改密码配置文件,适用于新建用户
chage -M 10 muzi  老用户可以使用这个。
chage -d 0 muzi   下次登陆时必须修改密码
把shadow文件中的第三个字段被修改为0

Si creamos un nuevo usuario, podemos modificar el archivo de configuración de la contraseña, de modo que el período de validez de la contraseña del nuevo usuario siga al archivo de configuración.
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Límite del historial de comandos

En uso normal, podemos consultar nuestras operaciones anteriores a través del historial, lo cual es muy conveniente, pero a veces, algunos delincuentes verificarán nuestras operaciones anteriores para realizar algunas operaciones ilegales. En este momento, podemos usar Limitar el número de comandos para reducir la ocurrencia de este riesgo.

vi /etc/profile
export HISTSIZE=200  #减少记录的命令条数
. /etc/profile     或者   source /etc/profile   #配置完输入可以重新加载

vi ~/.bashrc
echo"" >.bash_history
  #登录时自动清空记录

export TMOUT=600
闲置600秒自动注销(注销的是终端)

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

O podemos borrar el archivo .bash_history cada vez que arrancamos, de modo que no podamos encontrar nuestras últimas instrucciones de operación después del arranque.

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Módulo de autenticación PAM

3.1 Descripción general de PAM

  • Linux-PAM es un módulo de autenticación conectable a Linux, un conjunto de bibliotecas compartidas personalizables y cargables dinámicamente, para que el administrador del sistema local pueda elegir el método de autenticación del programa a voluntad.
  • PAM usa el archivo de configuración en /etc/pam.d/ para administrar el método de autenticación del programa. El programa de aplicación llama al archivo de configuración de PAM correspondiente para llamar al módulo de autenticación local.El módulo se coloca en / lib64 / security para realizar la autenticación en forma de carga de una biblioteca dinámica. Por ejemplo, cuando se usa el comando su, el sistema le pedirá que ingrese la contraseña del usuario root, lo cual se logra mediante el comando su llamando al módulo PAM.

3.2 Principios de la autenticación PAM

  • La autenticación PAM generalmente sigue el orden: Servicio (servicio) ——> PAM (archivo de configuración) ——> pam_ * .so;
  • La autenticación PAM debe determinar primero qué servicio de aplicación, luego cargar el archivo de configuración PAM correspondiente (ubicado en 7etc / pam.d) y finalmente llamar al módulo de autenticación (ubicado en / lib64 / security /) para la autenticación de seguridad.
  • Cuando un usuario accede al servidor, un determinado programa de servicio del servidor envía la solicitud del usuario al módulo PAM para su autenticación. Los módulos PAM correspondientes a diferentes aplicaciones también son diferentes.
  • Si desea verificar si un programa admite la autenticación PAM, puede usar el comando ls para verificar /etc/pam.d/.
  • Cada línea en el archivo de configuración PAM es un proceso de autenticación independiente, y el módulo PAM las llama en orden de arriba a abajo.
    Inserte la descripción de la imagen aquí

(1) La primera columna representa el tipo de módulo de autenticación PAM

  • auth: identifica la identidad del usuario, si se le solicita que ingrese una contraseña, determine si es root.
  • cuenta: Verifique los diversos atributos de la cuenta, como si está permitido iniciar sesión en el sistema, si la cuenta ha caducado, si ha alcanzado el número máximo de usuarios, etc.
  • contraseña: utilice la información del usuario para actualizar datos, como modificar las contraseñas de los usuarios.
  • sesión: define la gestión de la operación de la sesión que se realizará antes del inicio de sesión y después del cierre de sesión, como la información de conexión de inicio de sesión, la apertura y cierre de datos del usuario y el montaje del sistema de archivos.

(2) La segunda columna representa la marca de control PAM

  • obligatorio: indica que se debe devolver un valor de éxito. Si la devolución falla, el resultado de la falla no se devolverá inmediatamente, pero la siguiente verificación del mismo tipo continuará. Después de que se ejecuten todos los módulos de este tipo, la falla ser devuelto.

  • requisito: similar al requerido, pero si este módulo devuelve una falla, regresará inmediatamente e indicará que este tipo de falla ha fallado.

  • Suficiente: Si este módulo devuelve éxito, devuelve éxito directamente al programa, lo que indica que este tipo de éxito, si falla, no afecta el valor de retorno de este tipo.

  • opcional: no devuelve éxito o fracaso, generalmente no se usa para verificación, solo muestra información (generalmente se usa para el tipo de sesión).

  • incluir: significa llamar a otros archivos de configuración PAM durante el proceso de verificación. Por ejemplo, muchas aplicaciones implementan la autenticación llamando completamente a /etc/pam.d/system-auth (principalmente responsable de la autenticación del sistema de inicio de sesión del usuario) sin la necesidad de escribir elementos de configuración uno por uno.

    (3) La tercera columna representa el módulo PAM

  • El predeterminado está en el directorio / lib64 / security /. Si no está en la ruta predeterminada, complete la ruta absoluta.

  • El mismo módulo puede aparecer en diferentes tipos de módulo y realiza diferentes operaciones en diferentes tipos, esto se debe a que cada módulo tiene diferentes funciones de ejecución para diferentes tipos de módulo.

(4) La cuarta columna representa los parámetros del módulo PAM

  • Esto debe agregarse de acuerdo con el módulo utilizado.
  • Los parámetros pasados ​​al módulo. Puede haber varios parámetros, separados por espacios.

Descripción complementaria de las marcas de control:

  • required: Indica que el éxito de la línea y el módulo involucrado es una [condición necesaria] para que el usuario pase la autenticación. En otras palabras, solo cuando todos los módulos requeridos correspondientes al programa de aplicación hayan tenido éxito, el programa puede pasar la autenticación. Al mismo tiempo, si algún módulo con la marca requerida tiene un error, PAM no devuelve inmediatamente el mensaje de error al programa de aplicación, sino que devuelve el mensaje de error al programa que lo llamó después de que se hayan llamado todos los módulos de este tipo.
    Para decirlo sin rodeos de todos modos, todos los módulos de este tipo deben ejecutarse una vez. Si alguno de los módulos no logra verificar, la verificación continuará y el mensaje de error se devolverá después de que se complete la ejecución. El propósito de esto es evitar que los usuarios sepan qué módulo son rechazados y proteger los servicios del sistema de forma oculta. Al igual que cuando se configuran las reglas de firewall, las reglas de denegación se establecen en forma de caída, de modo que cuando el usuario accede a la red sin éxito, es imposible determinar con precisión si está denegada o si la red de destino es inaccesible.
  • requisito: similar al requerido, solo después de que el módulo con esta marca regrese con éxito, el usuario puede pasar la autenticación. La diferencia radica en uno de ellos: si falla, los otros módulos detrás del montón no se ejecutarán y el proceso de autenticación finalizará y se devolverá un mensaje de error de inmediato. Comparado con lo anterior requerido, parece ser más abierto y justo.
  • Suficiente: indica que la verificación exitosa de la línea y el módulo involucrado es una [condición suficiente] para que el usuario pase la autenticación. Es decir, siempre que el módulo marcado como suficiente una vez inspeccione la bandera de control, es el mismo. Cuando el módulo marcado como suficiente falla, el módulo suficiente se tratará como opcional. Por lo tanto, la bandera de control de configuración con suficiente bit de bandera es la misma. Cuando el módulo marcado como suficiente falla, el módulo suficiente se tratará como opcional. Por lo tanto, el elemento de configuración con indicador suficiente no hará que falle la verificación completa cuando la verificación se realiza incorrectamente, pero la puerta se abre cuando la verificación es exitosa. Por lo tanto, el uso de este bit de control debe ser cauteloso.
  • opcional: Significa que el usuario aún puede pasar la autenticación incluso si falla la verificación del módulo involucrado en la línea. En el sistema PAM, el módulo con esta marca continuará procesando el siguiente módulo después de que falle. En otras palabras, incluso si falla la verificación del módulo especificado por el banco, el usuario puede disfrutar de los servicios que brinda la aplicación. Al usar esta bandera, el marco PAM ignorará el error de verificación generado por este módulo y continuará ejecutando el siguiente módulo de pila en secuencia.

Usa el comando su para cambiar de usuario

Esto es relativamente simple, simplemente agregue el nombre de usuario al que desea ir después de su, pero debe tenerse en cuenta que puede ir directamente del usuario raíz su a otro usuario, pero cuando regrese a la raíz de otros usuarios su En ese momento, Se requieren contraseñas y autorización.

su - 用户名

Restringir a los usuarios que usan el comando su

En algunos casos, debido a que el comando su puede cambiarse a otros usuarios, es fácil ser forzado brutalmente por otros. En este momento, necesitamos usar su para empoderar, y solo dar comandos su a personas en las que confiamos.
Establecer en el archivo /etc/pam.d/su para prohibir a los usuarios usar el comando su

vim /etc/pam.d/su
auth sufficient pam_rootok.so
..........
#auth required pam_wheel.so use_uid
..........
  • Las dos líneas anteriores son el estado predeterminado (abra la primera línea, comente la segunda línea), este estado permite a todos los usuarios usar el comando su para cambiar.
  • Si se comentan ambas líneas , el comando su aún se puede ejecutar entre todos los usuarios, pero cuando el usuario root su llega a otros usuarios, se debe ingresar la contraseña; en términos simples, la función principal del módulo pam_rootok.so permite que el root que el usuario pase directamente Authenticate sin ingresar una contraseña.
  • Si habilita la segunda línea , significa que solo el usuario root y los usuarios del grupo wheel pueden usar el comando su.
  • Si comenta la primera línea y abre la segunda línea , significa que solo los usuarios del grupo de rueda pueden usar el comando su, e incluso el usuario root no debe deshabilitar el comando su.

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

  • Agregue usuarios autorizados a usar el comando su al grupo de ruedas
  • Habilitar el módulo de autenticación pam_wheel
gpasswd -a muzi wheel #将muzi加入到wheel组中
vi /etc/pam.d/su
#%PAM-1.0
auth  sufficient pam_rootok.so
auth  required pam_wheel.so use_uid
  • Ver los registros de su operación
    Puede ver los registros de su operación en (archivo de registro de seguridad)

Utilice el mecanismo sudo para elevar los permisos

Propósito y uso de sudo
propósitos: comando autorizado para funcionar como
comando de otro usuario (como root)

sudo 授权命令

Ahora estoy cambiando un usuario común para modificar la tarjeta de red, pero me indica que la autoridad es insuficiente. En este momento, necesitamos usar el comando sudo para escalar la autoridad de nuestro usuario común.
Inserte la descripción de la imagen aquí
En este momento, ingresamos al archivo visudo, modificamos la autorización del usuario nannan, y le damos el poder de modificar la tarjeta de red y reiniciar, en
Inserte la descripción de la imagen aquí
1
este caso nuestro reinicio de la tarjeta de red es exitoso. Pero al usar el comando, debe agregar el comando sudo antes del comando; de lo contrario, no se puede usar el comando.
Autorizar

Formato de sintaxis:
nombre de host de usuario = lista de programas de comando nombre de host de usuario = lista de programas de comando
(usuario)

  • Usuario: autoriza directamente el nombre de usuario especificado, o usa la forma de "% nombre de grupo" (autoriza a todos los usuarios de un grupo).
  • Nombre de host: el nombre de host que utiliza esta regla. Se puede usar localhost si el nombre de host no está configurado, el nombre de host real se usa si el nombre de host está configurado y TODOS significa todos los hosts
  • (Usuario): En qué identidad el usuario puede ejecutar el comando. Este elemento se puede omitir. De forma predeterminada, el comando se ejecuta como usuario root
  • Lista de programas de comandos: permite a los usuarios autorizados ejecutar comandos privilegiados a través de sudo. Es necesario completar la ruta completa del programa de comandos. Los comandos múltiples están separados por comas ",". TODOS significa todos los comandos (privilegiados) en el sistema

Inserte la descripción de la imagen aquí

Iniciar el registro de operaciones de sudo

Se usa principalmente para grabar otros hosts usando registros sudo

visudo
Defaults logfile = /var/log/sudo

Inserte la descripción de la imagen aquí

查看sudo使用情况
cd /var/log/
cat sudo

Supongo que te gusta

Origin blog.csdn.net/weixin_51614581/article/details/110420848
Recomendado
Clasificación