soberhofer / laps
munkireport 的 macOSLAPS 模块。
README
本模块使用 Joshua Miller 的 macOSLAPS 脚本的修改版本:https://github.com/joshua-d-miller/macOSLAPS-Legacy
配置
macOSLAPS 模块在运行前需要加密密钥。密钥可以通过在管理标签页下访问 macOSLAPS 管理页面来生成。laps_password_decrypt_enabled 控制所有全局密码解密。如果设置为 FALSE,MunkiReport 将永远不会返回明文密码。view_laps_password 是您想要授权查看密码的用户数组。如果取消注释,所有用户都将能够查看密码。
可以通过将它们添加到服务器环境变量或 .env 文件来更改配置。
LAPS_ENCRYPTION_KEY=
LAPS_PASSWORD_DECRYPT_ENABLED=TRUE
VIEW_LAPS_PASSWORD=
表结构
该表为每个客户端提供以下信息
- useraccount - MunkiReport 拥有本地管理员密码的用户账户
- password - 本地管理员账户的加密密码
- dateset - 密码上次设置的纪元
- dateexpires - 密码过期的纪元
- script_enabled - 客户端上密码更改是否启用(布尔值)
- days_till_expiration - 更改密码之间的天数(数字)
- alpha_numeric_only - 密码是否仅包含字母数字字符(布尔值)
- keychain_remove - 当更改密码时是否删除本地管理员密钥链(布尔值)
- pass_length - 新密码的长度
- remote_management - 是否启用远程管理(布尔值)
- audit - 审计记录的 JSON 数组
备注
模块需要加密密钥。可以在 munkireport 目录根目录下调用 vendor/defuse/php-encryption/bin/generate-defuse-key 或通过访问管理下拉菜单中的 macOSLAPS 管理页面来生成。将生成的密钥添加到 config.php 中,如下所示:$conf['laps_encryption_key'] = 'def00000505fe726...34'。在密码进入数据库之前对其进行加密,在检索后进行解密。不要丢失加密密钥,否则您的本地密码将永远丢失!
要控制密码解密,可以将 $conf['laps_password_decrypt_enabled'] 设置为 FALSE。这将全局禁用在 UI 中显示密码按钮并通过 API 发送解密密码。要限制密码解密仅限于某些用户,请将它们的用户名添加到 $conf['view_laps_password'] 数组中。如果取消注释此数组,则所有人都可以查看密码或通过 API 访问它们。当禁用所有密码查看时,$conf['laps_password_decrypt_enabled'] 配置会覆盖 $conf['view_laps_password'] 配置。
如果安装了 Joshua Miller 的脚本/二进制文件,则不会运行此模块,因为它们将发生冲突并导致问题。
macOSLAPS 脚本由 MunkiReport 的预启动脚本触发和运行。
使用与 macOSLAPS 脚本类似的首选项,并将在使用时尊重配置文件。首选项域为 org.munkireport.laps,具有以下选项
LocalAdminAccount- 要轮换密码的本地管理员账户的简短用户名,默认为adminPasswordLength- 要设置的密码长度,默认为12DaysTillExpiration- 密码重置前的天数,默认为60RemoveKeyChain- 删除本地管理员的密钥链,默认为TrueAlphaNumericOnly- 在创建密码时仅使用字母数字字符,默认为TrueRemovePassChars- 不要包含在密码中的字符,默认为'{}[]|Enabled- 如果设置为True,macOSLAPS 脚本将在密码过期时更改密码,默认为TrueRemoteManagementEnabled- 如果设置为True,脚本将优先使用从 MunkiReport 数据库获取的设置,而不是本地偏好设置、默认值和配置文件,默认值为True
模块将在验证密码存储在 MunkiReport 服务器后删除缓存的密码。如果该账户有权解锁驱动器,此脚本(目前)不会更改本地管理员用户的 FileVault 2 密码。
客户端日志位于 /Library/Logs/macOSLAPS.log
模块支持在 Admin>macOSLAPS 管理页面下进行远程管理。客户端在首次运行时将使用内置默认值或配置文件填充偏好设置,除非客户端已在 MunkiReport 的 laps 表中。macOSLAPS 管理员页面提供了配置支持的远程管理设置、强制密码轮换和查看审计跟踪的选项。所有操作都在服务器端进行审计。审计跟踪可在 macOSLAPS 管理页面中查看,无论是单个序列号还是所有审计日志。
