No confiar en nadie, ni siquiera a mi propio cortafuegos y otras medidas contra el invasor hackers, me gustaría ser capaz de monitorear el éxito de cualquier inicio de sesión a mi OS X sistemas (por ejemplo, por instantáneamente el envío de un correo electrónico a mi cuenta de gmail).
¿Cómo puedo lograr esto, incluyendo los inicios de sesión a través de Compartir la Pantalla y SSH?
Puedo ver que el seguro.archivo de registro de listas, inicios de sesión, pero ¿cómo hago el seguimiento de ellas, y el filtro para el éxito de los inicios de sesión, con el fin de emitir los correos electrónicos acerca de estos eventos?
Usuario bmike sugirió el uso de la cola de comandos en el seguro.archivo de registro. He encontrado que este comando tiene una opción "-F" que es muy adecuado para esta tarea: se me sigue haciendo un informe agregado de las líneas en el archivo de registro, e incluso se encarga de archivo de registro de rotaciones.
Pero esto no es suficiente para mis necesidades todavía. Solo quiero enviar las notificaciones si un acceso externo (inicio de sesión) se produjo, no cada vez que un equipo de trabajo local es llegar autorizado.
He aquí un extracto de mi seguro.archivo de registro:
mymac login[26292]: in pam_sm_acct_mgmt(): OpenDirectory - Membership cache TTL set to 1800.
mymac login[26292]: in od_record_check_pwpolicy(): retval: 0
mymac login[26292]: in od_record_attribute_create_cfstring(): returned 3 attributes for dsAttrTypeStandard:AuthenticationAuthority
mymac sudo[26296]: myname : 3 incorrect password attempts ; TTY=ttys005 ; PWD=/Users/myname ; USER=root ; COMMAND=/bin/bash
mymac sudo[26301]: myname : TTY=ttys005 ; PWD=/Users/myname ; USER=root ; COMMAND=/bin/bash
mymac com.apple.SecurityServer[27]: Succeeded authorizing right 'system.hdd.smart' by client '/Library/Application Support/iStat local/iStatLocalDaemon' [133] for authorization created by '/Library/Application Support/iStat local/iStatLocalDaemon' [133]
mymac sshd[26308]: Accepted publickey for myname from x.x.x.x port 62433 ssh2
mymac screensharingd[26328]: Authentication: SUCCEEDED :: User Name: John Doe :: Viewer Address: x.x.x.x :: Type: DH
Sólo el "screensharingd" y "sshd" son relevantes para mí en este ejemplo. Pero parece ser que no existe una distinción clara entre estas y las demás autorizaciones locales. El único patrón común que me parece es que la dirección IP, pero es que es a prueba de fallos? Supongo que para hacer mi script se puede usar (por nadie), me gustaría tener no sólo para detectar las direcciones IPv4, pero también las direcciones IPv6. Y puedo estar seguro de que otros externos tipos de inicios de sesión (por ejemplo, intercambio de archivos) mostrará la lista de una dirección IP en su formato raw como este? No utilizar nombres simbólicos que yo no sería capaz de detectar con este patrón?
En realidad, yo también conectado a través de Intercambio de Archivos (AFP) - que incluso no aparecer en la lista segura.de registro, por extraño! Lo que significa que segura.registro probablemente no sea el único o no el punto central de aprendizaje sobre las autorizaciones.
Tenía la esperanza de que hay algunos de los puntos centrales en OSX que se ocupa de todos los nombre de usuario/contraseña de autorizaciones y que este punto también podría proporcionar algún gancho para el monitoreo.
Me temo que mi pregunta no puede ser contestada de manera suficiente en una forma genérica. Voy a ir ahora y pregunte en la Manzana de la lista de correo de seguridad. Voy a informar.
Antecedentes:
Mi razonamiento para este tipo de pregunta es que creo que ningún sistema es seguro de rotura. Por lo tanto, confiar en las medidas para prevenir una interrupción no está seguro de la mera medida. La adición de (externo) notificaciones acerca de cuando un inicio de sesión en un sistema que pasa es lo que lo hace mucho mejor controlable: Si alguien se las arregla para romper, él va a ser detectados por este método, y por lo que el sistema es conocido por no ser de confianza y serán tratados. Sin este tipo de supervisión, alguien podría ser capaz de romper en y, a continuación, modificar el sistema a un punto donde alguien que busca más tarde no será capaz de decirle lo que pasó, asumiendo que el sistema es seguro todavía.