munkireport 的 macOSLAPS 模块。

v3.3 2023-07-18 17:46 UTC

This package is auto-updated.

Last update: 2024-08-26 18:28:26 UTC


README

此模块使用 Joshua Miller 的 macOSLAPS 脚本的修改版本:https://github.com/joshua-d-miller/macOSLAPS-Legacy

macOSLAPS Management

配置

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 管理页面上查看,无论是单个序列号还是所有审计日志。