munkireport / 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
- 要循环密码的本地管理员账户的简短用户名,默认为admin
PasswordLength
- 要设置的密码长度,默认为12
DaysTillExpiration
- 重置密码前的时长,默认为60
RemoveKeyChain
- 删除本地管理员的密钥链,默认为True
AlphaNumericOnly
- 设置密码时只使用字母数字字符,默认为True
RemovePassChars
- 不包含在密码中的字符,默认为'{}[]|'
Enabled
- 如果设置为True
,macOSLAPS 脚本将在密码过期时更改密码,默认为True
RemoteManagementEnabled
- 如果设置为True
,脚本将优先使用从 MunkiReport 数据库中获取的设置,而不是本地首选项、默认设置和配置文件,默认为True
模块在验证密码已存储在 MunkiReport 服务器上后,将删除缓存的密码。如果该账户有权解锁驱动器,此脚本(目前)不会更改本地管理员用户的 FileVault 2 密码。
客户端日志位于 /Library/Logs/macOSLAPS.log
模块在“管理员>macOSLAPS 管理”页下支持远程管理。客户端首次运行时,将使用内置默认值或配置文件填充首选项,除非客户端已在 MunkiReport 的 laps
表中。在 macOSLAPS 管理员页面上可以配置支持的远程管理设置、强制密码轮换和查看审计跟踪。所有操作都在服务器端进行审计。审计跟踪可在 macOSLAPS 管理页面上查看,无论是单个序列号还是所有审计日志。