Cómo restringir el acceso de los usuarios en una máquina Linux

Cómo restringir el acceso de los usuarios en una máquina Linux

Objetivo

Aprenda a restringir el acceso de los usuarios en una máquina Linux

Sistema operativo y versiones de software

  • Sistema operativo: - Todas las distribuciones de Linux

Requisitos

  • Permisos de raíz

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz
    directamente como usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

En este tutorial vamos a aprender a restringir el acceso a una máquina Linux interactuando con dos archivos: /ETC/SEGURO, que permitamos especificar de qué consola es posible iniciar sesión directamente como root, y /etc/seguridad/acceso.confusión, en el que podemos establecer algunas reglas para restringir el acceso a los usuarios o grupos especificados de ciertos orígenes.

Restringir el inicio de sesión de la raíz

Lo primero que vamos a hacer, es aprender a editar el /ETC/SEGURO Archivo para permitir el acceso a la raíz directa solo en algunas consolas específicas. Echemos un vistazo al archivo: así es como se ve en una máquina CentOS7:



Consola VC/1 VC/2 VC/3 VC/4 VC/5 VC/6 VC/7 VC/8 VC/9 VC/10 VC/11 TTY1 TTY2 TTY3 TTY4 TTY5 TTY6 TTY7 TTY8 TTY9 TTY9 TTY10 TTY11 TTYS0 TTYSCLP0 SCLP_LINE0 3270/ TTY1 HVC0 HVC1 HVC2 HVC3 HVC4 HVC5 HVC6 HVC7 HVSI0 HVSI1 HVSI2 XVC0 

Lo que vemos allí es solo una lista de todos los terminales desde los que se permite el acceso directo como usuario root. Centrémonos en el tty dispositivos por ahora. Abra el archivo con un editor de texto y comente el tty1 entrada:

[…] #Tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11 […] 

Guardar y salir del editor de texto. Ahora, si cambiamos al primero tty presionando CTRL + ALT + 1 o corriendo CHVT 1, e intente iniciar sesión como root, tendremos el siguiente resultado:

Como se esperaba, el sistema nos negó el acceso como root desde el TTY especificado. Para obtener privilegios raíz y realizar tareas administrativas, debemos iniciar sesión como usuario normal y luego usar sudo o SU (o iniciar sesión en otro TTY si se permite).

Tenga en cuenta que esto no afectará la capacidad de iniciar sesión como root cuando use SSH. Para evitar ese comportamiento específico, debe configurar el servidor SSH, modificando el /etc/ssh/sshd_config archivo y configure el Permitrootlogin directivo a No



Configuración de reglas de acceso en/etc/seguridad/acceso.confusión

Si el /ETC/SEGURO El archivo nos permite especificar desde qué terminal es posible iniciar sesión directamente como root, configurando las reglas de acceso en el /etc/seguridad/acceso.confusión Archivo, podemos permitir o negar el acceso a usuarios o grupos específicos desde orígenes específicos.

Inserte el pam_access.Entonces módulo

Antes de configurar nuestras reglas, necesitamos modificarnos /etc/pam.D/Iniciar sesión, Para agregar el pam_access.entonces módulo que permitirá pam para escanear el acceso.confusión Archivo para las reglas que definiremos. Use su editor de texto favorito para modificar el archivo para que se vea de esta manera:

#%PAM-1.0 Auth [user_unknown = ignore stritces = ok ignore = ignore default = bad] pam_securetty.Por lo tanto, la autenticación del sistema de autenticación: la cuenta posterior a la cuenta posterior a Postlogin.Entonces, la cuenta requería pam_access.Entonces, la cuenta incluye la contraseña de autos de sistema incluye el sistema de autores del sistema # PAM_SELINUX.Tan Cerrar debería ser la primera regla de sesión requerida PAM_SELINUX.Entonces se requiere una sesión de cierre pam_loginuid.Entonces la sesión opcional pam_console.Entonces # pam_selinux.Por lo tanto, solo debe ser seguido por las sesiones que se ejecutarán en la sesión de contexto del usuario requerida PAM_SELINUX.Entonces, la sesión abierta requerida PAM_NAMESPACE.Entonces la sesión opcional PAM_KEYINIT.Por lo tanto, la sesión de revocación de la fuerza incluye la sesión de autos de sistema incluye postlogin -session opcional pam_ck_connector.entonces 

Lo que hemos hecho es agregar el Cuenta requerida PAM_ACCESS.entonces línea al final del cuenta sección. Ahora que nos configuramos pam Podemos comenzar a hablar sobre las reglas de acceso.

La sintaxis de las reglas

Para definir una regla en el acceso.confusión Archivo, debemos respetar una sintaxis muy simple y clara. Una regla está compuesta de tres secciones, separadas por un colon:

Permiso: Usuarios: Orígenes

La primera parte de la regla especifica los permisos y consiste en un - o + signo: el primero crea lo que podemos llamar una regla de 'negar', mientras que la segunda especifica una regla donde se otorgan permisos de acceso.

En la segunda parte proporcionamos los sujetos de la regla. La sección consta de una lista de grupos o nombres de inicio de sesión. Para evitar conflictos entre usuarios y grupos que se pueden nombrar de la misma manera, las entradas del grupo se pueden especificar en los soportes, pero solo si el nodefgroup La opción se establece en el /etc/pam.D/Iniciar sesión Archivo que modificamos anteriormente, al final de la línea que agregamos.

La tercera parte de la regla especifica la fuente desde la cual se permite o denegado el acceso, ya que es una o más ttys, Nombres de host, direcciones de host o dominios.



Palabras clave

La sintaxis de la regla incluso usemos algunas palabras clave poderosas. En primer lugar que tenemos TODO. Esta palabra clave siempre coincidirá: por ejemplo, cuando se use en la segunda sección, coincidirá con todos los usuarios o grupos posibles, o cuando se use en la tercera, todas las fuentes posibles.

El NINGUNO La palabra clave tiene el efecto exacto opuesto de TODO, y LOCAL, que tiene sentido solo en el orígenes La sección de la regla coincidirá con cada cadena que no contenga un '.'. Finalmente, una palabra clave muy poderosa es EXCEPTO que nos permite especificar excepciones a una regla establecida.

Algunos ejemplos

El archivo proporciona algunos ejemplos útiles, veamos algunos de ellos. En primer lugar, tenemos lo siguiente:

- : Todos excepto raíz: tty1

Esta línea nos permitiría obtener el resultado opuesto que hemos obtenido antes modificando el /ETC/SEGURO Archivo: en primer lugar tenemos el - signo, lo que significa que es un denegar regla. En la siguiente sección, separada por un colon, tenemos Todos excepto la raíz,que especifica que la regla debe aplicarse a todos los usuarios excepto raíz, y en la tercera sección, vemos que la regla especificada es válida solo cuando alguien intenta acceder desde tty1.

Otro ejemplo, esta vez con múltiples nombres de usuario:

-: wsbscaro wsbsecr wsbspac wsbsym wscosor wstaiwde: todos

La regla prohíbe el acceso a los usuarios de WSBSCARO, WSBSECR, WSBSPAC, WSBSYM, WSCOSOR y WSTAIWDE de todas las fuentes (consulte el TODO Palabra clave en acción)

Algo más complejo. Esta vez la regla niega el acceso a todos los usuarios que no son miembros del grupo de ruedas en local Iniciar sesión:

-: Todos excepto (rueda): local

Finalmente, un ejemplo que especifica una regla para un inicio de sesión remoto:

+ : raíz: 192.168.200.1 192.168.200.4 192.168.200.9

Como ahora deberíamos entender, esta regla permite raíz Para acceder al sistema solo desde las direcciones IP especificadas.

Un caso de prueba

Podemos verificar lo que dijimos anteriormente con un caso de prueba: creemos una regla para negar el acceso a EGDOC (mi cuenta en este sistema) de tty1 y agregarlo al final del /etc/seguridad/acceso.confusión archivo:

-: egdoc: tty1

Ahora, si cambiamos a tty1 e intente iniciar sesión, obtenemos esta respuesta grosera del sistema:

Tenga en cuenta que el pedido de las reglas especificadas en el /etc/seguridad/acceso.confusión El archivo es realmente importante, ya que las reglas se evalúan en orden de apariencia.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Descarga de Linux
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • La mejor distribución de Linux para desarrolladores
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Instale Arch Linux en VMware Workstation
  • Comandos básicos de Linux