Saltar al contenido

Efecto de las entradas en / etc / securetty

Solución:

/etc/securetty es consultado por pam_securetty módulo para decidir desde qué terminales virtuales (tty*) root tiene permitido iniciar sesión desde.

En el pasado, /etc/securetty fue consultado por programas como login directamente, pero ahora PAM se encarga de eso. Así que cambia a /etc/securetty afectará a cualquier cosa que utilice PAM con un archivo de configuración que utilice pam_securetty.so. Entonces, solo el login El programa se ve afectado por defecto.

/etc/pam.d/login se utiliza para inicios de sesión locales y /etc/pam.d/remote se utiliza para inicios de sesión remotos (como telnet).

Los tipos de entrada principales y sus efectos son los siguientes:

  • Si /etc/securetty no existe root tiene permitido iniciar sesión desde cualquier tty
  • Si /etc/securetty existe y está vacío, root El acceso estará restringido al modo de usuario único o programas que no estén restringidos por pam_securetty (es decir su, sudo, ssh, scp, sftp)
  • Si esta usando devfs (un sistema de archivos obsoleto para el manejo /dev), agregando entradas del formulario vc/[0-9]* permitirá el inicio de sesión de root desde el número de consola virtual dado.
  • Si esta usando udev (para la gestión dinámica de dispositivos y el reemplazo de devfs), agregando entradas del formulario tty[0-9]* permitirá el inicio de sesión de root desde el número de consola virtual dado.
  • Listado console en /etc/securetty normalmente no tiene efecto ya que /dev/console apunta a la consola actual y normalmente solo se usa como el tty nombre de archivo en modo de usuario único, que no se ve afectado por /etc/securetty
  • Agregar entradas como pts/[0-9]* permitirá programas que utilicen pseudo-terminales (pty) y pam_securetty para iniciar sesión root asumiendo el asignado pty es uno de los enumerados; normalmente es una buena idea no incluir estas entradas porque es un riesgo para la seguridad; permitiría, por ejemplo, que alguien inicie sesión en root a través de telnet, que envía contraseñas en texto plano (tenga en cuenta que pts/[0-9]* es el formato para udev que se utiliza en RHEL 5.5; será diferente si usas devfs o alguna otra forma de gestión de dispositivos).

Para el modo de usuario único, /etc/securetty no es consultado porque el sulogin se usa en lugar de login (ver el sulogin página de manual para obtener más información). También puede cambiar el programa de inicio de sesión utilizado en /etc/inittab para cada nivel de ejecución.

Tenga en cuenta que no debe utilizar /etc/securetty al control root inicios de sesión a través de ssh. Para hacer eso, cambie el valor de PermitRootLogin en /etc/ssh/sshd_config. Por defecto /etc/pam.d/sshd no está configurado para consultar pam_securetty (y por lo tanto /etc/securetty). Puede agregar una línea para hacerlo, pero ssh no establece el real tty hasta algún tiempo después de la auth etapa, por lo que no funciona como se esperaba. Durante el auth y account etapas – al menos para openssh – los tty (PAM_TTY) está codificado en ssh.

La respuesta anterior se basa en RHEL 5.5. Gran parte pertenecerá a las distribuciones actuales de otros sistemas * nix, pero hay diferencias, algunas de las cuales noté, pero no todas.

Respondí esto yo mismo porque las otras respuestas estaban incompletas y / o inexactas. Muchos otros foros, blogs, etc. en línea también tienen información inexacta e incompleta en este tema, por lo que he realizado una extensa investigación y pruebas para tratar de obtener los detalles correctos. Si algo de lo que he dicho está mal, hágamelo saber.

Fuentes:

  • http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-sec-network.html#s1-wstation-privileges
  • http://www.mathematik.uni-marburg.de/local-doc/centos5/pam-0.99.6.2/html/sag-pam_securetty.html
  • http://linux.die.net/man/1/login
  • http://www.tldp.org/HOWTO/html_single/Text-Terminal-HOWTO/
  • http://www.kernel.org/doc/Documentation/devices.txt
  • http://en.wikipedia.org/wiki/Virtual_console
  • http://en.wikipedia.org/wiki/Linux_console
  • http://www.kernel.org/doc/man-pages/online/pages/man4/console.4.html
  • http://www.unix.com/security/8527-restricting-root-login.html
  • http://www.redhat.com/mirrors/LDP/HOWTO/Serial-HOWTO-11.html#ss11.3
  • http://www.mathematik.uni-marburg.de/local-doc/centos5/udev-095/udev_vs_devfs

vc/X y ttyX son sinónimos: diferentes caminos hacia los mismos dispositivos. El objetivo de la redundancia es detectar varios casos para no bloquearlo.

Tradicionalmente, login (y posiblemente getty, No puedo recordarlo con seguridad) comprobaría /etc/securetty y negar root inicios de sesión en terminales no cotizadas. En los sistemas modernos, hay otras formas de hacer esto y también otras medidas de seguridad. Consulte el contenido de /etc/login.defs (que también cubre securettyfuncionalidad y es recomendado por el securetty(5) manpage), y también /etc/pam.d/login, donde puede controlar el comportamiento de esta función.

Ya que securetty solo es verificado por login, medios de inicio de sesión que no utilizan login (por ejemplo, SSH con use_login=no, Administradores de pantalla X, etc.) no se ven afectados.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *