Cómo restringir el acceso de los usuarios en una máquina Linux
- 2770
- 239
- Jaime Delgadillo
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 desudo
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
- « SSH en Linux su computadora de Android con Termux
- Cómo usar getopts para analizar las opciones de script »