--- name: audit_ssh_config kind: function lang: bash domain: cybersecurity version: "1.0.0" purity: impure signature: "audit_ssh_config(config_path: string) -> void" description: "Audita la configuración de sshd_config evaluando parámetros de seguridad críticos (PermitRootLogin, PasswordAuthentication, Port, MaxAuthTries, X11Forwarding, AllowUsers). También revisa intentos de login fallidos en los logs y lista las claves autorizadas del usuario actual." tags: [bash, cybersecurity, ssh, audit, security, hardening, linux, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] params: - name: config_path desc: "ruta al archivo sshd_config a auditar (por defecto: /etc/ssh/sshd_config)" output: "imprime checks con nivel ok/warn/bad para cada parámetro, últimos 10 intentos de login fallidos y lista de claves autorizadas" tested: false tests: [] test_file_path: "" file_path: "bash/functions/cybersecurity/audit_ssh_config.sh" source_repo: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/egutierrez/DevLauncher.git" source_license: "MIT" source_file: "scripts/linux/ciberseguridad/sistema/auditar_ssh.sh" --- ## Ejemplo ```bash source bash/functions/cybersecurity/audit_ssh_config.sh # Auditar la configuración por defecto audit_ssh_config # Auditar un archivo alternativo audit_ssh_config /etc/ssh/sshd_config.d/custom.conf ``` ## Notas Los logs de intentos fallidos se buscan primero en `journalctl` (systemd) y si no está disponible en `/var/log/auth.log`. Leer `/etc/ssh/sshd_config` puede requerir permisos de root en algunos sistemas. Los criterios de evaluación siguen las recomendaciones de CIS Benchmark para SSH: PermitRootLogin=no, PasswordAuthentication=no, MaxAuthTries<=3.