devAlice
← Mac

Seguridad básica en macOS: FileVault · Firewall · Gatekeeper · XProtect

Las cuatro funciones de seguridad que debes activar justo después de desempacar un Mac. Cómo funcionan el cifrado de disco, el cortafuegos, la validación de apps y la cuarentena de malware, y cómo configurarlos.

macOS tiene valores predeterminados razonables, pero una máquina de desarrollador necesita algunos interruptores más activados. FileVault (cifrado de disco), Firewall, Gatekeeper (verificación de firma) y XProtect (cuarentena de malware) son las cuatro funciones principales.

Esta guía completa una línea base de seguridad en 30 minutos después de la configuración inicial de Mac. Obligatoria para portátiles de trabajo, portátiles personales y cualquier máquina que contenga código fuente.

TL;DR

  1. FileVault ACTIVADO — protege los datos si el dispositivo se pierde / roba (lo más importante)
  2. Firewall ACTIVADO — bloquea conexiones entrantes + habilita el modo sigilo
  3. Gatekeeper mantén el predeterminado — solo App Store + desarrolladores identificados
  4. XProtect es automático — solo mantén las actualizaciones automáticas activadas
  5. Portátiles corporativos: (1)+(2) son obligatorios, nunca desactives (3)

Requisitos previos

  • macOS 14+ (Sonoma o posterior)
  • Cuenta de administrador
  • Apple ID con sesión iniciada (para respaldo de clave de recuperación de FileVault)

1. FileVault — cifrado de disco (obligatorio)

1.1 Por qué es obligatorio

  • Sin fuga de datos si el equipo se pierde o roba: sin la clave, el disco no tiene valor.
  • macOS lo trae DESACTIVADO: Apple Silicon incluye cifrado por hardware, pero sin FileVault la clave permanece desbloqueada.
  • La mayoría de las políticas de seguridad corporativas lo exigen.

1.2 Habilitar

Configuración del Sistema → Privacidad y Seguridad → FileVault → Activar

Elige una opción de recuperación:

  • Permitir recuperación de iCloud (fácil; perder Apple ID = perder datos para siempre)
  • Generar una clave de recuperación (28 caracteres — guárdala en algún lugar seguro, p.ej. 1Password)

Recomendación: genera una clave de recuperación y guárdala en un gestor de contraseñas. Elimina a iCloud como punto único de fallo.

El cifrado de disco se ejecuta en segundo plano después de habilitar. Puedes seguir usando la máquina, pero espera 1–2 horas de pequeña ralentización. El progreso se muestra en la misma página de configuración.

1.3 Verificar

fdesetup status
# FileVault is On.

O:

diskutil apfs list | grep -i encrypted
# Encrypted:                  Yes (Unlocked)

1.4 Advertencias

  • Perder la clave de recuperación y perder el Apple ID equivale a perder los datos para siempre. Guarda la clave en dos lugares distintos.
  • En portátiles corporativos, el empleador puede custodiar la clave de recuperación: consulta la política de TI.
  • Los SSD externos también se pueden cifrar (diskutil apfs encryptVolume).

2. Firewall (obligatorio)

2.1 Habilitar

Configuración del Sistema → Red → Cortafuegos → Activar

Opciones:

  • Bloquear todas las conexiones entrantes — descarta casi todo (sin servicios de compartición)
  • Permitir automáticamente el software firmado — apps firmadas permitidas (predeterminado recomendado)
  • Habilitar modo sigilo — sin respuestas a ping/sonda (bueno en Wi-Fi público)

2.2 Perfil recomendado

EntornoPerfil
Hogar / red de confianzaCortafuegos ACTIVADO + permitir automáticamente firmado
OficinaCortafuegos ACTIVADO + permitir automáticamente firmado
Café / aeropuerto / hotel Wi-Fi+ Modo sigilo ACTIVADO + Bloquear todas las entrantes si es posible

2.3 Permitir entrada para apps específicas

Cuando una app necesita entrada (servidor de desarrollo, host de juego):

Cortafuegos → Opciones → + → añade la app → «Permitir conexiones entrantes»

O acepta el aviso de macOS cuando la app lo solicite por primera vez.

2.4 Verificar

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
# Firewall is enabled. (State = 1)
 
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
# Stealth mode enabled

3. Gatekeeper — validación de apps

3.1 Qué hace

Cuando macOS lanza una app por primera vez:

  1. Verifica la firma de código (Apple Developer ID o App Store)
  2. Verifica la notarización (prueba de que el escáner de malware de Apple pasó)
  3. Se ejecuta solo si ambas tienen éxito

3.2 Mantén el predeterminado

Configuración del Sistema → Privacidad y Seguridad → Seguridad:

  • App Store — más estricto
  • App Store y desarrolladores identificadospredeterminado (recomendado)
  • La opción «En cualquier lugar» se eliminó en macOS 14 (solo se puede omitir vía línea de comandos ahora)

3.3 Permitir una app sin firma una sola vez (compilaciones de desarrollo, etc.)

Para ejecutar una app sin firma una vez:

# A. Clic derecho → Abrir
# En Finder, clic derecho en la app → Abrir → haz clic en Abrir en el aviso → se lanzará desde entonces
 
# B. Eliminar el atributo de cuarentena (arriesgado — solo para apps de confianza)
xattr -d com.apple.quarantine /path/to/MyApp.app

3.4 Deshabilitar Gatekeeper (NO LO HAGAS)

# ❌ No ejecutes esto
sudo spctl --master-disable

Esto desactiva las verificaciones de firma para todas las apps y deja el sistema expuesto. Aunque seas desarrollador, no lo desactives: usa §3.3 para casos puntuales.

3.5 Verificar

spctl --status
# assessments enabled    ← bien
 
# Verificar una app específica
spctl --assess --verbose /Applications/SomeApp.app

4. XProtect — cuarentena de malware

4.1 Qué hace

Un escáner de malware en segundo plano integrado en macOS. No necesita configuración.

  • Escanea automáticamente contra firmas de malware conocido
  • Escanea archivos y apps descargados justo antes de ejecutarse
  • Apple envía actualizaciones de definiciones silenciosamente (separadas de las actualizaciones del sistema)

4.2 Confirmar actualizaciones automáticas

Configuración del Sistema → General → Actualización de software → Actualizaciones automáticas:

  • Instalar respuestas de seguridad y archivos del sistema — incluye definiciones de XProtect, debe estar ACTIVADO

4.3 Verificar

# Marca de tiempo de la última actualización de XProtect
defaults read /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Info CFBundleShortVersionString
 
# O
sudo /usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Info.plist

Una fecha reciente estilo 2026-xx-xx es normal.

4.4 Antivirus complementario (opcional)

XProtect solo detecta malware conocido. Los ataques de día cero y sofisticados pueden escapar. Opciones:

  • Malwarebytes: disponible para Mac, nivel gratuito.
  • CrowdStrike / SentinelOne: EDR empresarial.

Para desarrolladores individuales, XProtect + Malwarebytes suele ser suficiente. Apilar herramientas antivirus degrada el rendimiento.


5. SIP (System Integrity Protection)

5.1 Qué hace

Evita modificaciones en las carpetas del sistema incluso como root. La auto-protección propia de macOS.

  • Protege /System, /usr
  • Bloquea la carga de extensiones del kernel
  • Bloquea la depuración de procesos del sistema

5.2 Verificar el estado

csrutil status
# System Integrity Protection status: enabled.

enabled es correcto. No lo desactives nunca: es muy peligroso.

Desactivarlo solo es posible desde la Recuperación de macOS; prácticamente ningún usuario habitual lo necesita.


6. Extras recomendados — bloqueo + bloqueo automático

6.1 Atajo de bloqueo de pantalla

Configuración del Sistema → Pantalla de bloqueoApagar pantalla cuando está inactivo: 5 minutos

Bloqueo rápido:

  • Ctrl + Cmd + Q — bloquear instantáneamente

6.2 Deshabilitar inicio de sesión automático

Configuración del Sistema → Usuarios y Grupos → Opciones de inicio de sesión:

  • Inicio de sesión automático: Desactivado

6.3 Ocultar contenido de notificaciones en la pantalla de bloqueo

Configuración del Sistema → Notificaciones → Mostrar vistas previas → «Cuando está desbloqueado»

No mostrar el contenido de los mensajes desde la pantalla de bloqueo. Evita que mensajes de trabajo y códigos de verificación SMS se filtren.


7. Seguridad de claves SSH

Por defecto macOS almacena las claves SSH en texto plano en el disco. Medidas de seguridad adicionales:

7.1 Usa una frase de contraseña

# Introduce una frase de contraseña al generar
ssh-keygen -t ed25519 -C "you@example.com"

Una frase de contraseña vacía es conveniente pero significa una clave utilizable instantáneamente si se filtra — no recomendado.

7.2 Usa macOS Keychain

~/.ssh/config:

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

La frase de contraseña se almacena en macOS Keychain → ingrésala una vez, luego es automático.

7.3 Agente SSH de 1Password (opcional)

La configuración más segura. Las claves SSH viven en una bóveda de 1Password y cada autenticación requiere Touch ID.

Más información: /multi-os/password-manager.


8. Verificar — comprobación de línea base de una sola vez

echo "=== FileVault ==="
fdesetup status
 
echo "=== Cortafuegos ==="
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
 
echo "=== Gatekeeper ==="
spctl --status
 
echo "=== SIP ==="
csrutil status
 
echo "=== Inicio de sesión automático ==="
defaults read /Library/Preferences/com.apple.loginwindow autoLoginUser 2>/dev/null && echo "INICIO AUTOMÁTICO ACTIVADO — desactívalo" || echo "inicio automático DESACTIVADO"

Salida esperada:

FileVault is On.
Firewall is enabled. (State = 1)
Stealth mode enabled
assessments enabled
System Integrity Protection status: enabled.
inicio automático DESACTIVADO

Los cinco = línea base segura.


9. Solución de problemas

Contraseña solicitada dos veces al arrancar después de habilitar FileVault

  • Normal — una vez en la etapa EFI, otra en la ventana de inicio de sesión
  • Si quieres un único aviso, desactiva Configuración del Sistema → Usuarios y Grupos → Opciones de inicio de sesión → Mostrar menú de cambio rápido de usuario

Una app deja de funcionar por el cortafuegos

  • Probablemente una app que necesita entrada (servidor de desarrollo, host de juego)
  • Cortafuegos → Opciones → + para permitirla explícitamente
  • O acepta el aviso cuando lo solicite por primera vez

Gatekeeper bloquea una app de un desarrollador de confianza

  • Ocurre ocasionalmente — retraso temporal en el servicio de notarización de Apple
  • Intenta de nuevo en 5-30 minutos, o clic derecho → Abrir

Las definiciones de XProtect parecen desactualizadas

  • Confirma que las actualizaciones automáticas de Actualización de software están ACTIVADAS
  • Activación manual: reiniciar

M1/M2/M3 necesita un kext sin firma

  • Requiere cambiar a Seguridad Reducida (Recuperación de macOS → Utilidad de Seguridad de Arranque)
  • Evítalo si es posible — busca software que no necesite un kext

«Esta app está dañada» (no se abre)

  • Binario incompatible con ARM en Apple Silicon
  • O una compilación de usuario sin el atributo quarantinexattr -cr /path/to/App.app y luego reintenta (solo fuentes de confianza)

10. Qué sigue


Referencias

Historial de cambios

  • 2026-05-16: Primera versión. FileVault + Firewall + Gatekeeper + XProtect + SIP + seguridad SSH + script de verificación de una sola vez + seis casos de solución de problemas.