PAM: Módulos de Autentificación Conectables

27 02 2009

El sistema de “apoyo” a la autenticación y gestión de permisos de Linux, he estado haciendo algunas pruebas y se pueden hacer cosas verdaderamente interesantes, como por ejemplo hacer que un usuario solo pueda hacer login cuando está trabajando en local o que determinado usuario o grupo de usuario no puedan hacer “su” para cambiar de usuario, esto segundo ha sido lo que ha motivado la investigación, ya que pretendo tener un usuario tonto, que solo pueda conectarse a cierta máquina para a través de ahí conectarse a otras, pero que no pueda convertirse en root, voy a explicar de forma rápida como hacer estos dos ejemplos, que, aunque al principio asustan un poco cuando miras los archivos de configuración, cuando entiendes para que es cada cosa, son muy sencillos :)

Como decía, con el primero vamos a conseguir que el usuario “pruebas” solo pueda hacer login en local, esto también se puede hacer en la configuración del SSH, la cosa es ver como hacerlo usando PAM

  1. Editamos el fichero /etc/security/access.conf, aquí es dónde pondremos la regla para cortar el login del usuario, el formato de las reglas es el siguiente:
    • +/- –> Pondremos el símbolo más (+) si queremos permitir el acceso y menos (-) si queremos denegarlo
    • Usuarios –> Aquí podemos poner tanto usuario como grupos, además de la palabra clave ALL, que se permita o se deniegue el acceso a todos los usuarios
    • Origen –> Origen del intento de login, podemos poner una lista de tty’s (terminal local o serie), de nombres de host, de direcciones IP o de dominios (tienen que empezar por .), además de las palabras clave ALL (Para todos los intentos de login), LOCAL (Para logins locales) o ALL EXCEPT LOCAL (Para todas las conexiones excepto las locales)

    Una vez visto esto,  tenemos que escribir lo siguiente:

    -:prueba:ALL EXCEPT LOCAL

  2. Guardamos esto y pasamos a editar /etc/pam.d/ssh, que contiene la configuración de PAM para el SSH
  3. Descomentamos la linea:

    account required pam_access.so

    Esto hace que pam sepa que tiene que buscar reglas de filtrado en el fichero access.conf

  4. Guardamos y salimos del fichero, la próxima vez que el usuario pruebas intente hacer login desde cualquier máquina que no sea la local, se le denegará el acceso.

Pasamos ahora al segundo ejemplo, más sencillo si cabe y para mí, más interesante: Vamos a hacer que un usuario no pueda hacer “su” para cambiar de usuario. Esto se hace en 3 simples pasos:

  1. Editamos el fichero /etc/pam.d/su
  2. Buscamos la línea:
  3. auth required pam_wheel.so deny group=nosu

  4. Descomentamos la línea y cambiamos “nosu” por el grupo al que queremos el cambio de usuario, guardamos y a correr :)
  5. Otra opción sería añadir al usuario al grupo nosu (si no existe, crearlo) y el efecto sería el mismo

Espero que haya resultado interesante.



Maldito Spyware

15 02 2009

Después de un tiempo sin escribir, vuelvo con una pregunta transcendental:

¿Quien no ha tenido nunca un “bicho” en su ordenador? Seguro que muy pocos pueden contestar “YO” a esta pregunta, esto quiere decir que los problemas de virus en informática son bastante habituales y sobre todo si utilizamos windows, pues bien, llevo todo el día peleando con el que diría que es el virus/spyware/loquesea más puto que me he encontrado en mucho tiempo, en realidad el bicho no hace nada realmente dañino, pero el muy … (ponga aquí su insulto favorito) se dedica a redireccionar los resultados de las busquedas de google, y al parecer, también de yahoo, aunque con este último no he probado, así que no puedo confirmarlo, pero bueno, en cualquier caso, es una putada bastante gorda que además, no se soluciona facilmente si no conoces la solución, una vez que la conoces, es pan comido :P

El caso es que después de probar con el spybot, el nod32, el hijackthis, el ccleaner y alguno que seguro que se me olvida, no he obtenido ningún resultado positivo. Al final,   la solución ha venido en forma de un programita llamado FixWareOut, que se puede descargar de aquí. Solo hay que instalarlo y ejecutarlo, después de un reinicio, tendremos nuestro PC limpio de nuevo.

Por cierto, si, el ordenador víctima era mio xD

Aprovecho también este post para decir que Linux Rocks!!!