Control de seguridad de la cuenta de administración del sistema Linux y comandos de autorización sudo CentOS 7

1. Control de seguridad de la cuenta

(1) Limpieza de la cuenta del sistema

1. Configure el shell del usuario que no ha iniciado sesión en / sbin / nologin o / bin / falsh

usermod -s /sbin/nologin 用户名

2. Bloquear cuentas que no se hayan utilizado durante mucho tiempo

usermod -L 用户名           锁定用户账户  
usermod -U 用户             解锁用户账户

passwd -l 用户名            锁定用户密码
passwd -u 用户名            解锁用户账户
passwd -S 用户名            查看用户状态

3. Eliminar cuentas inútiles

userdel -r 用户名           删除用户及其宿主目录 

4. Borre la contraseña de una cuenta

passwd -d 用户名            清空账户密码

5. Bloquear archivos de cuenta passwd, shadow

chattr +i /etc/passwd /etc/shadow      锁定文件 (passwd和shadow可以同时锁定)
lsattr /etc/passwd /etc/shadow         查看文件状态
chattr -i /etc/passwd /etc/shadow      解锁文件

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

La información de la cuenta de usuario almacenada en / etc / passwd y / etc / shadow, lock one no puede crear usuarios y cambiar contraseñas

(2) Control de seguridad por contraseña

1. Establezca el período de validez de la contraseña

chage -M 日期 用户 用户名       设置用户密码有效期 (适用已有用户)
chage -E xxxx-xx-xx 用户名     设置账户过期日期

Inserte la descripción de la imagen aquí

vi /etc/login.defs            修改密码配置文件(适用于新建用户)

PASS_MAX_DAYS 30              修改之后的所有创建的用户有效期都会默认成30天

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

cat /etc/shadow | grep 用户名   查看密码有效日期是否配置成功

2. Obligar a cambiar la contraseña para el próximo inicio de sesión

chage -d 0 用户                    强制在下次登陆时更改密码               
cat /etc/shadow | grep 用户        shadow文件中的第三个字段被修改为0

(3) Restricciones del historial de comandos

1. Reducir la cantidad de comandos grabados

El archivo / etc / profile es el archivo de configuración de la variable global del sistema, que se puede leer y volver a cargar reiniciando el sistema o ejecutando el comando source / etc / profile.

[root@localhost ~]# vim /etc/profile          编辑全局变量配置文件    
export HISTSIZE=150                 默认1000条 输入=150
:wq
[root@localhost ~]# source /etc/profile       相当使/etc/profile内的命令重载一遍
[root@promote ~]#history

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

2. Borrar automáticamente el comando de historial al iniciar sesión

Los comandos en el archivo ~ / .bashrc se ejecutarán cada vez que se abra un nuevo shell bash (incluido el sistema de inicio de sesión)

[root@localhost ~]# vim ~/.bashrc
echo " " > ~/.bash_history       
:wq
init 6
history

(4) Cerrar sesión automáticamente en el terminal

Cerrar sesión automáticamente después de 600 segundos de inactividad, similar a la reducción del número de registros históricos anterior, sin demostración

vi /etc/profile        //编辑全局变量配置文件
export TMOUT=300       //输出timeout=300
. /etc/profile

Dos, use el comando su para cambiar de usuario

1. Finalidad y uso
Finalidad: Usuario sustituto, cambiar de usuario
Formato: usuario su-objetivo
2. Verificación de contraseña

  • root: cualquier usuario, sin verificación de contraseña
  • Usuario normal: otros usuarios, verifique la contraseña del usuario de destino.

su-root with-option significa que se utilizará el entorno de shell de inicio de sesión del usuario de destino

(1) Impedir que los usuarios utilicen el comando su

  • Agregue usuarios autorizados a usar el comando su al grupo de ruedas
  • Habilitar el módulo de autenticación pam_wheel

El comando su tiene riesgos de seguridad: el
comando su hace que cada usuario tenga que probar repetidamente la contraseña de inicio de sesión de otros usuarios, si es el usuario root, el riesgo es aún mayor.
Por lo tanto, es necesario fortalecer el control del uso del comando su. Puede usar el módulo de autenticación PAM para permitir que solo un número muy pequeño de usuarios designados utilicen el comando su para cambiar

Agregue usuarios autorizados a usar el comando su al grupo de ruedas

 gpasswd -a admin wheel     将用户“admin”加入到wheel组中

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
............

Inserte la descripción de la imagen aquí

  • Las dos líneas anteriores están en el estado predeterminado (es decir, abra la primera línea y comente la segunda línea). En este estado, todos los usuarios pueden usar el comando su para cambiar
  • Comentar ambas líneas también permite que todos los usuarios usen el comando su, pero usar su debajo de root para cambiar a otros usuarios comunes requiere una contraseña; si la primera línea no está comentada, root usa su para cambiar de usuario común sin ingresar una contraseña
    (pam_rootok. La función principal del módulo so es habilitar a los usuarios cuyo uid es 0, es decir, el usuario root puede pasar directamente la autenticación sin ingresar una contraseña)
  • Si activa la segunda línea, significa que solo el usuario root y los usuarios del grupo de rueda 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, y el usuario root también está deshabilitado.

Ver su registro de operaciones
Archivo de registro de seguridad: / var / log / secure

cat /var/log/secure

Tres, autenticación de seguridad PAM en linux

1. Los peligros ocultos de su comando

  • De forma predeterminada, cualquier usuario puede usar el comando su y tiene la oportunidad de probar repetidamente la contraseña de inicio de sesión de otros usuarios (como root), lo que conlleva riesgos de seguridad.
  • Para fortalecer el control del uso del comando su, el módulo de autenticación PAM se puede usar para permitir que solo unos pocos usuarios usen el comando su para cambiar

2. Módulo de autenticación conectable PAM

  • Es un método de autenticación a nivel de usuario eficiente, flexible y conveniente.
  • También es un método de autenticación de uso común para servidores Linux.

3. Principios de la autenticación PAM

  • La autenticación PAM generalmente sigue la ley
    Servicio (servicio) → PAM (archivo de configuración) → pam _ *. Autenticación soPAM
  • Primero determine qué servicio, luego cargue el archivo de configuración PAM correspondiente (ubicado en /etc/pam.d), y finalmente llame al archivo 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 son diferentes

Si desea verificar si un programa admite la autenticación PAM, puede usar el comando ls para verificar /etc/pam.d/

vim /etc/pam.d/su 

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 los datos, como cambiar 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 información de conexión de inicio de sesión, apertura y cierre de datos de usuario, sistema de archivos de montaje

2. La segunda columna representa la marca de control PAM.

  • required: 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á regresó
  • requisito: similar al requerido, pero si este módulo devuelve una falla, inmediatamente devolverá la falla e indicará que este tipo de falla
  • Suficiente: Si este módulo devuelve éxito, devuelve el éxito directamente al programa, lo que significa este tipo de éxito, si falla, no afecta el valor de retorno de este tipo.
  • opcional: no devuelve el éxito o el fracaso, generalmente no se usa para la verificación, solo muestra información (generalmente se usa para el tipo de sesión)
  • incluir: indica que se llaman a otros archivos de configuración de PAM durante el proceso de verificación. Por ejemplo, muchas aplicaciones para lograr la certificación completa llamando a /etc/pam.d/system-auth (principalmente responsable de la certificación del sistema de inicio de sesión del usuario) sin la necesidad de volver a configurar los elementos uno por uno para escribir
    ejemplos PAM
Usuario 1 Usuario 2 Usuario 3 Usuario 4
auth requerido Módulo 1 pasar fallar pasar pasar
auth suficiente Módulo 2 pasar pasar fallar pasar
auth requerido Módulo 3 pasar pasar pasar fallar
resultado pasar fallar pasar pasar

3. La tercera columna representa el módulo PAM, el valor predeterminado está en el directorio / lib64 / security /, si no está en la ruta predeterminada, complete la ruta absoluta

4. La cuarta columna representa los parámetros del módulo PAM, que deben agregarse de acuerdo con el módulo utilizado.

Inserte la descripción de la imagen aquí

Cuarto, use el mecanismo sudo para escalar derechos

(I. Resumen

1. sudo es un comando autorizado
Propósito: ejecutar comandos autorizados como otros usuarios (como root)

(2) Configurar la autorización de sudo

1. Comando:

 visudo
 或者
 vi /etc/sudoers(此文件的默认权限为 440,保存退出时必须执行“:wq!”命令来强制操作)

2. Formato
Nombre de host de usuario = lista de programas de comando nombre de host de usuario = lista de programas de comando
(usuario)

  • Usuario: autorice directamente el nombre de usuario especificado o utilice la forma de "% nombre de grupo" (autorice 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: los comandos privilegiados que los usuarios autorizados pueden ejecutar a través del modo sudo. Es necesario completar la ruta completa del programa de comandos y los comandos múltiples están separados por comas ",". TODOS significa todos los comandos en el sistema

caso de estudio:

admin ALL=/sbin/ifconfig          //说明admin在所有主机上拥有ifconfig权限
admin1 localhost=/sbin/*,!/sbin/reboot,!/sbin/poweroff	  //通配符“*”表示所有、取反符号“!”表示排除   //说明admin1拥有除了重启和关机的所有权限
%wheel ALL=NOPASSWD: ALL	  //表示wheel组成员无需验证密码即可使用sudo执行任何命令
admin2 ALL=(root)NOPASSWD: /bin/kill, /usr/bin/killall    //说明admin2用户不需要输入密码即可执行kill和killall命令

(3) Iniciar el registro de operaciones de sudo

visudo                             //进入编辑
Defaults logfile = /var/log/sudo   //将该命令添加至最后一行:wq保存并退出即可

(4) Creación de alias

1. Formato:
Alias ​​de usuario User_Alias ​​Alias ​​de
host Host_Alias
Alias ​​de comando Cmnd_Alias
2. Análisis de ejemplo:

User_Alias ADMIN=admin1,admin2,admin3             用户的别名users包括:admin1,admin2,admin3
Host_Alias HOST=localhost   主机别名hosts包括:localhost,hellolee
Cmnd_Alias CMD=/sbin/*,!/sbin/reboot,!/sbin/poweroff
ADMIN HOST=CMD        相当于:用户组   主机组  =  命令程序列表

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

Cinco, control de seguridad de la máquina de conmutación

1. Ajuste la configuración de arranque del BIOS

  • Configure el primer dispositivo de arranque en el disco duro donde se encuentra el sistema actual
  • Prohibir el arranque del sistema desde otros dispositivos (CD, disco U, red)
  • Establezca el nivel de seguridad para configurar y establezca la contraseña de administrador
    2, restricciones de GRUB
  • Utilice grub2-mkpasswd-pbkdf2 para generar una clave
  • Modifique el archivo /etc/grub.d/00_header, agregue el registro de contraseña
  • Genere un nuevo archivo de configuración grub.cfg

(1) Restringir los cambios en los parámetros de arranque de GRUB

1. En circunstancias normales, cuando el sistema se inicia en el menú de GRUB, presione la tecla e para ver y modificar los parámetros de inicio de GRUB, que es una gran amenaza para el servidor.
2. Se puede establecer una contraseña para el menú de GRUB y solo se permite la contraseña correcta para modificar los parámetros de arranque.

grub2-mkpasswd-pbkdf2 	    //根据提示设置GRUB 菜单的密码
PBKDF2 hash of your password is ……  //省略部分内容为经过加密生成的密码字符串

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak  //备份文件
cp /etc/grub.d/00_header /etc/grub.d/00_header.bak

vim /etc/grub.d/00_header

cat << EOF
set superusers="root"		  //设置用户名为root
password_pbkdf2 root 密码字符串	//设置密码,省略部分内容为经过加密生成的密码字符串
EOF

grub2-mkconfig -o /boot/grub2/grub.cfg	//生成新的 grub.cfg 文件

1. Agregue una cadena de generación de contraseña

Inserte la descripción de la imagen aquí
2. Archivos de respaldo

Inserte la descripción de la imagen aquí
3. Modifique el archivo de configuración

vim /etc/grub.d/00_header

Inserte la descripción de la imagen aquí
4. Resultado de la verificación
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

(2) Prohibir el inicio de sesión de usuario root

En un sistema Linux, el programa de inicio de sesión leerá el archivo / etc / securetty para determinar qué terminales (terminales seguros) pueden iniciar sesión en el sistema desde el usuario root.

vi /etc/securetty           
#tty5           //想要不让在哪个终端登陆就在该终端前加注释#
tty6         

(3) Se prohíbe a los usuarios comunes iniciar sesión

El programa de inicio de sesión comprobará si existe el archivo / etc / nologin y, si existe, rechazará a los usuarios normales a iniciar sesión en el sistema (los usuarios root no están restringidos).

touch /etc/nologin			//创建/etc/nologin文件即禁止普通用户登录
rm -rf /etc/nologin			//删除该文件即取消登录限制

Supongo que te gusta

Origin blog.csdn.net/weixin_53567573/article/details/113844575
Recomendado
Clasificación