# Inicio de sesión en macOS

> Protege con Ironchip el inicio de sesión, sudo y SSH en macOS mediante el módulo PAM: crea la aplicación de tipo API Key y configura los archivos de /etc/pam.d.

URL: https://docs.ironchip.com/identidad/integraciones/puestos/macos-logon/

Esta guía explica cómo instalar el servicio Mac Logon de Ironchip en un equipo macOS. Se basa en un módulo PAM que añade el segundo factor al inicio de sesión, a `sudo` o a SSH.

## Requisitos

- Acceso a la consola de administración de Ironchip.
- Permisos de administrador sobre el dispositivo.
- El archivo PAM de Ironchip, que te proporciona el equipo de Ironchip.

## Configuración en Ironchip

1. Entra en la consola de administración de Ironchip y crea una aplicación nueva de tipo **API Key**. Guarda la key en un lugar seguro.

   [Imagen: Creación de una aplicación de tipo API Key en la consola]

2. Añade un acceso con el nombre de usuario de tu dispositivo Mac.

   [Imagen: Acceso con el nombre de usuario del Mac]

3. Para conocer el nombre de usuario exacto, abre un terminal en el Mac y ejecuta `whoami`.

   [Imagen: Terminal con el resultado del comando whoami]

## Configuración en macOS

:::caution[Puede bloquear el sistema]
Este proceso puede bloquear de forma permanente el sistema y a los usuarios si no se ejecuta correctamente. Mantén abierto durante todo el proceso un terminal con permisos de administrador y empieza integrando el servicio solo en la autenticación de `sudo`, como prueba, para no quedarte fuera del sistema.
:::

1. Descarga el archivo PAM en el equipo y cópialo en `/opt/local/lib/pam`.

   ```bash
   cp <ruta del archivo PAM> /opt/local/lib/pam
   ```

   Si la carpeta no existe, créala antes.

   ```bash
   mkdir /opt/local/lib/pam
   ```

2. Ve a `/etc/pam.d`. Según lo que necesites proteger, añade una línea al principio de uno de estos archivos:

   | Archivo                         | Protege                                                                             |
   | ------------------------------- | ----------------------------------------------------------------------------------- |
   | `sudo`                          | La autenticación al ejecutar acciones de administrador, como `sudo su` o similares. |
   | `authorization` y `screensaver` | La autenticación al iniciar la sesión del usuario.                                  |
   | `sshd`                          | La autenticación al establecer una conexión SSH.                                    |

   [Imagen: Archivos de la carpeta /etc/pam.d]

3. Edita uno de esos archivos y añade al principio la siguiente línea, con la API key de tu aplicación de Ironchip.

   ```text
   auth required /opt/local/lib/pam/pam_ironchip_auth.so host=https://api.ironchip.com api_key=<API_KEY>
   ```

4. Ejecuta este comando para deshabilitar la protección de software de desarrolladores no identificados solo para este archivo. Si no lo haces, macOS no permitirá ejecutar el archivo PAM.

   ```bash
   xattr -dr com.apple.quarantine <ruta del archivo PAM>
   ```

## Registros

Para ver en directo los registros del módulo PAM de Ironchip, ejecuta en un terminal:

```bash
log stream --predicate 'sender == "pam_ironchip_auth.so"' --level debug
```
