Aplicaciones y seguridad del sistema Linux (control de cuentas, su, sudo, control de seguridad de la máquina de conmutación, control de seguridad de inicio de sesión de terminal, etc.)

1. Control de seguridad de la cuenta

1. Limpieza de la cuenta del sistema

  • Configure el shell de los usuarios que no inician sesión en / sbin / nologin o / bin / falsh
usermod -s /sbin/nologin 用户名
  • Bloquear cuentas que no se hayan utilizado durante mucho tiempo
usermod -L 用户名             锁定用户账户  
passwd  -l  用户名            锁定用户密码
passwd  -S  用户名            查看用户状态
  • Eliminar cuentas inútiles
userdel [-r] 用户名           删除用户-r宿主目录一起删除
  • Bloquear archivos de cuenta passwd, shadow
chattr +i /etc/passwd /etc/shadow      锁定文件
lsattr /etc/passwd /etc/shadow         查看文件状态
chattr -i /etc/passwd /etc/shadow      解锁文件

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

2. Control de seguridad por contraseña

2.1 Establecer el período de validez de la contraseña

方法一:修改密码配置文件适用于新建用户
vim /etc/login.defs     
……
PASS_MAX_DAYS 30
方法二:适用于已有用户
[root@localhost ~]# chage -M 30 用户
[root@localhost ~]# cat /etc/shadow | grep 用户

Demostración del método uno: Demostración del
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
método dos:
Inserte la descripción de la imagen aquí

2.2 Solicitar al usuario que cambie la contraseña la próxima vez que inicie sesión

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

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

3. Límite del historial de comandos

  • Reducir la cantidad de comandos grabados
[root@localhost ~]# vim /etc/profile           #编辑profile文件    
 export HISTSIZE=20                            #保存20条历史记录
[root@localhost ~]# source /etc/profile        #执行一次配置文件,让配置文件生效

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

  • Limpia automáticamente el historial de comandos al iniciar sesión
[root@localhost ~]#vi ~/.bashrc
 echo " " > ~/.bash_history    

Demostración:
Inserte la descripción de la imagen aquí
después de reiniciar, puede ver que todos los comandos anteriores están borrados
Inserte la descripción de la imagen aquí

4. La terminal se desconecta automáticamente.

  • Cerrar sesión automáticamente después de 600 segundos de inactividad
vim /etc/profile                #编辑profile文件
export TMOUT=600                #设定时间600[root@localhost ~]# source /etc/profile    #调用配置文件

Inserte la descripción de la imagen aquí

Dos, su comando

1. Utilice el comando su para cambiar de usuario

■ Finalidad y uso

  • Propósito: usuario sustituto, cambiar de usuario
  • Dar formato al usuario de su-target

■ Verificación de contraseña

  • root → cualquier usuario, sin verificación de contraseña
  • Usuario ordinario → otros usuarios, verifique la contraseña del usuario de destino
[root@localhost ~]$ su - root     带-选项表示将使用目标用户的登陆Shell环境
口令:
[root@localhost ~]# whoami
 root

2. Prohibir a los usuarios utilizar el comando su

Paso 1: agregue usuarios autorizados a usar el comando su al grupo de ruedas

gpasswd -a 用户 wheel    #添加用户到wheel组中
grep wheel /etc/group    #确定wheel组成员

Inserte la descripción de la imagen aquí
Paso 2: Habilite el módulo de autenticación pam_wheel
. Establezca en el archivo /etc/pam.d/su para prohibir a los usuarios usar el comando su

在/etc/pam.d/su文件里设置禁止用户使用su命令
vim /etc/pam.d/su                            编辑/etc/pam.d/su文件
2  // auth sufficient pam_rootok.so  

...      
6  // #auth required pam_wheel.so use_uid          #去掉此行开头的注释
...

【1】以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。

【2】两行都注释也是允许所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码;
如果第一行不注释,则root使用su切换普通用户就不需要输入密码
(pam_rootok.so模块的主要作用是使uid为0的用户,即 root用户能够直接通过认证而不用输入密码)

【3】如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令。

【4】如果注释第一行,开启第二行,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令。

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

3. Ver registros de operaciones de su

  • Archivo de registro de seguridad: / var / log / secure
 cat /var/log/secure      查看su命令操作记录

Inserte la descripción de la imagen aquí

Tres, autenticación de seguridad PAM en Linux

  • Linux-PAM es un módulo de autenticación conectable a Linux, un conjunto de bibliotecas compartidas personalizables y cargables dinámicamente, de modo que el administrador del sistema local puede 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, al usar 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.

1. Principio de autenticación PAM

  • Generalmente siga la orden
    Servicio (servicio) -> PAM (archivo de configuración) -> pam _ *. Entonces
  • PAM primero determina qué servicio, luego carga el archivo de configuración PAM correspondiente y finalmente llama al módulo de autenticación PAM 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 la misma aplicación también son diferentes
如果想查看某个程序是否支持 PAM 认证,可以用 ls 命令进行查看/etc/pam.d/。
示例:查看su是否支持PAM模块认证
ls /etc/pam.d | grep su

Inserte la descripción de la imagen aquí

2. La composición de la certificación PAM

  • Cada línea es un proceso de certificación independiente
  • Cada línea se puede dividir en tres campos: tipo de autenticación, tipo de control, módulo PAM, parámetros del módulo PAM, la
    Inserte la descripción de la imagen aquí
    lista del primer párrafo tipo de módulo de autenticación PAM
Tipo de módulo de autenticación efecto
auth Identifique la identidad del usuario, si se le solicita que ingrese una contraseña, determine si es root.
cuenta Verifique los atributos de la cuenta, como si está permitido iniciar sesión en el sistema, si la cuenta ha caducado, si se ha alcanzado el número máximo de usuarios, etc.
contraseña Utilice la información del usuario para actualizar datos, como cambiar las contraseñas de los usuarios.
sesión Defina la gestión de operaciones 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 los datos del usuario y el montaje del sistema de archivos.

La segunda columna representa la bandera de control PAM

Tipo de control efecto
requerido Indica que se debe devolver un valor de éxito. Si la devolución falla, el resultado de la falla no se devolverá inmediatamente, pero continuará la siguiente verificación del mismo tipo. Después de que se ejecuten todos los módulos de este tipo, se devolverá la falla.
requisito Similar a requerido, pero si este módulo devuelve una falla, regresará inmediatamente e indicará que este tipo ha fallado.
suficiente Si este módulo devuelve éxito, devolverá el éxito directamente al programa, indicando dicho éxito. Si falla, este tipo de valor de retorno no se verá afectado.
Opcional No devuelve si se ha realizado correctamente o no. Generalmente no se utiliza para la verificación, sino que solo muestra información (normalmente se utiliza para los tipos 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 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 reescribir los elementos de configuración uno por uno.

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

La cuarta columna representa los parámetros del módulo PAM:

  • Agregar según el módulo utilizado
  • Los parámetros pasados ​​al módulo, puede haber múltiples parámetros, separados por espacios

3. 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 están configuradas para eliminarse, por lo que los usuarios no pueden determinar con precisión si se les niega o si la red de destino es inaccesible cuando el acceso a la red no tiene éxito.
  • 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 es que una vez que falla, ya no ejecuta los otros módulos en el montón, y el proceso de autenticación termina aquí, y el mensaje de error se devuelve inmediatamente. 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 se verifique con éxito, PAM devolverá inmediatamente un resultado exitoso a la aplicación sin tener que probar ningún otro módulo. Es lo mismo incluso si los indicadores de control requeridos o requeridos se utilizan en los módulos en cascada posteriores. 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 el bit de bandera suficiente es injusto cuando la verificación se realiza incorrectamente, lo que hace que falle la verificación completa, pero cuando la verificación es exitosa, la puerta se abre. 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 fila. 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 proporcionados por la aplicación. Con este indicador, el marco PAM ignorará el error de verificación generado por este módulo y continuará ejecutando el siguiente módulo en cascada en secuencia.

4. Proceso de certificación de seguridad PAM

Inserte la descripción de la imagen aquí
1. Si la verificación requerida falla, continuará, pero devolverá Falla.
2. Si la verificación requerida falla, el proceso de verificación completo finalizará inmediatamente.
Se devolverá la falla . 3. Si la verificación suficiente es exitosa, regrese inmediatamente y no continúe. De lo contrario, ignore el resultado y continúe.
4. Opcional no se usa para la verificación., Solo muestra información (generalmente se usa para el tipo de sesión)

Cuarto, use el mecanismo sudo para aumentar los permisos (sudo)

  • Propósito: ejecutar comandos autorizados como otros usuarios (como root)
  • Uso: comando de autorización sudo

1. Configurar la autorización de sudo

visudo
或者
vim /etc/sudoers
注意:保存退出时必须执行:wq!才能保存

2. Formato de autorización

Formato de sintaxis:

用户 主机名=命令程序列表
用户 主机名=(用户) 命令程序列表
  • 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: 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.
    Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí
    Aquí le damos a lisi un privilegio elevado

[root@localhost ~]# vim /etc/sudoers

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

3. Ver registros de operaciones de sudo

  • Necesita habilitar la configuración predeterminada del archivo de registro
  • Archivo de registro predeterminado: / var / log / sudo

Habilitar el registro de operaciones de sudo

visudo                             
Defaults logfile = /var/log/sudo

Inserte la descripción de la imagen aquí
Aquí vamos al directorio / var / log y encontramos que no hay un archivo de registro sudo, porque no se ejecuta ningún comando sudo aquí y no se genera ningún archivo de registro.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

4. Creación de alias

用户别名 User_Alias
主机别名 Host_Alias
命令别名 Cmnd_Alias

Jerry localhost=/sbin/*,!/sbin/reboot,!/sbin/poweroff
通配符“*”表示所有,取反符号“!”表示排除

%whell ALL=NOPASSWD:ALL
表示wheel组成员无需验证密码即可使用sudo执行任何命令

使用关键字 User_Alias    Host_Alias     Cmnd_Alias 来进行设置别名(别名必须为大写)
User_Alias USERS=Tom,Jerry,Mike             用户的别名users包括:Tom,Jerry,Mike
Host_Alias HOSTS=localhost,bogon   主机别名hosts包括:localhost,bogon
Cmnd_Alias CMNDS=/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel
USERS HOSTS=CMNDS                   用户组   主机组  =  命令程序列表

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)
  • Establecer el nivel de seguridad para configurar y establecer 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

2.1 Restricción para modificar los parámetros de arranque de GRUB

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. 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 grub.pbkdf2…… 		#省略部分内容为经过加密生成的密码字符串

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 grub.pbkdf2……		#设置密码,省略部分内容为经过加密生成的密码字符串
EOF
grub2-mkconfig -o /boot/grub2/grub.cfg	#生成新的 grub.cfg 文件

Puede ingresar al menú de GRUB sin establecer una contraseña aquí, lo que representa una amenaza para el sistema.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
1. Configure la contraseña de acuerdo con el mensaje
Inserte la descripción de la imagen aquí
2. Modifique el archivo /etc/grub.d/00_header y agregue un registro de contraseña
Inserte la descripción de la imagen aquí
3. Genere un nuevo archivo grub.cfg
Inserte la descripción de la imagen aquí
4. Reinicie en el menú de GRUB y vea que se requiere una contraseña
Inserte la descripción de la imagen aquí

Seis, control de seguridad de inicio de sesión de terminal

1. Restringir root para iniciar sesión solo en terminales seguras

  • Configuración de terminal segura: / etc / securetty
[root@localhost ~]# vim /etc/securetty
#tty5        #禁止root用户从终端tty5,tty6登录
#tty6

2. Prohibir que los usuarios normales inicien sesión

  • Crear archivo / etc / nologin
  • Después de eliminar el archivo nologin o reiniciar, volverá a la normalidad
touch /etc/nologin			#禁止普通用户登录
rm -rf /etc/nologin			#取消登录限制

Supongo que te gusta

Origin blog.csdn.net/IHBOS/article/details/113575199
Recomendado
Clasificación