macos server 恢复安装_Sinter:一款针对macOS的用户模式应用程序授权系统
Sinter
Sinter是一款针对macOS v10.15及其以上版本的100%用户模式终端安全代理,该工具基于Swift语言开发,使用了用户模式EndpointSecurity API来订阅和接收来自macOS内核的授权回调,这里主要针对的是安全相关的事件类型。Sinter的当前版本支持允许/拒绝进程执行,在将来的版本中,我们打算支持其他类型的事件,比如说文件操作、套接字和内核事件等等。
功能介绍
通过代码目录哈希来允许或拒绝进程执行;
“监控器模式”支持跟踪和记录所有的进程执行事件(拒绝所有未知程序、拒绝所有未签名程序、拒绝所有无效签名程序);
接受来自Santa同步服务器的允许/拒绝规则;
支持来自本地或同步服务器的JSON格式配置拒绝规则;
在本地文件系统以结构化JSON格式记录日志;
其他特性
未使用内核扩展;
不支持遗留macOS系统(14及之前版本);
未使用任何内存不安全的代码;
有限的第三方库依赖;
并非反恶意软件或反病毒产品,不包含特征数据库;
仅使用规则来拒绝你不想要执行的进程或程序;
工具下载&安装
广大研究人员可以使用该项目Releases页面中提供的pkg安装工具来下载和安装最新版本的Sinter。
安装好Sinter之后,你还需要为Sinter.app提供完整的磁盘访问权限。这里可以打开系统设置->安全->隐私->完整磁盘访问,勾选Sinter.app即可。如果使用了DMD,你还可以在终端自动启用该权限,整个过程也不需要涉及用户交互。
工具配置
Sinter需要在/etc/sinter/config.json中生成一个配置文件,下面给出的的配置文件源码样例:
{
"Sinter": {
"decision_manager": "local",
"logger": "filesystem",
"allow_unsigned_programs": "true",
"allow_invalid_programs": "true",
"allow_unknown_programs": "true",
"allow_expired_auth_requests": "true",
"allow_misplaced_applications": "true",
"config_update_interval": 600,
"allowed_application_directories": [
"/bin",
"/usr/bin",
"/usr/local/bin",
"/Applications",
"/System",
"/usr/sbin",
"/usr/libexec",
],
},
"FilesystemLogger": {
"log_file_path": "/var/log/sinter.log",
},
"RemoteDecisionManager": {
"server_url": "https://server_address:port",
"machine_identifier": "identifier",
},
"LocalDecisionManager": {
"rule_database_path": "/etc/sinter/rules.json",
}
}
启用UI通知
1、安装通知服务器,PKG安装器将会自动完成这部分组件的安装:
sudo /Applications/Sinter.app/Contents/MacOS/Sinter --install-notification-server
2、使用下列命令开启代理:
/Applications/Sinter.app/Contents/MacOS/Sinter --start-notification-server
规则格式
规则数据库以JSON格式编写,下面给出的样例数据库允许来自cmake.okg的CMake应用程序Bundle运行:
{
"rules": [
{
"rule_type": "BINARY",
"policy": "ALLOWLIST",
"sha256": "BDD0AF132D89EA4810566B3E1E0D1E48BAC6CF18D0C787054BB62A4938683039",
"custom_msg": "CMake"
}
]
}
Sinter目前仅支持BINARY规则,这里可以使用ALLOWLIST或DENYLIST策略。代码目录哈希值可以从codesign工具的输出获取,比如说codesign -dvvv /Applications/CMake.app。需要注意的是,即使命令行工具能够获取完整的SHA256哈希,Kernel/EndpointSecurity API仍然只能获取前20字节的哈希。
许可证协议
Sinter项目的开发与发布遵循AGPLv3开源许可证协议。
项目地址
Sinter:https://github.com/trailofbits/sinter
精彩推荐
macos server 恢复安装_Sinter:一款针对macOS的用户模式应用程序授权系统相关推荐
- macos server 恢复安装_Go语言:Docker安装及运行consul节点
微服务管理--Docker安装及运行consul节点 搭建集群 在真实的生产环境中,需要真实的部署consul集群.在一台机器上想要模拟多台集群部署的效果,有两种方案:一种是借助虚拟机,另一种是借助容 ...
- macos server 恢复安装_如何通过 macOS 恢复功能重新安装 macOS
看点:iPhone X原装屏与国产屏有哪些区别? 看点:换7P.8P屏幕:C11和DTP和DKH的区别 狮淘:不锈钢拆机片5个只需9.9元!包邮!每天10名 了解如何使用 macOS 恢复功能在内置驱 ...
- 推荐一款基于 .NET Core开源的小程序商城系统
由于疫情的缘故,很多商家都把线下的战场转移到线上了.而小程序就成为商家越来越看中的新战场,因为它能够帮助克服疫情对于经济的影响,开辟新的零售模式.今天就给大家推荐一款开源的小程序商城系统. 项目简介 ...
- Windows Server 2016 安装 Docker
必备条件 若要在 Windows Server 上运行容器,需要一台运行 Windows Server(半年频道).Windows Server 2019 或 Windows Server 2016 ...
- MacOS Server安装与应用
MacOS Server是苹果电脑公司新一代服务器软件.专为OS和iOS设备.MacOS 提供服务,现在支持Mavericks,能够轻松共享文件,安排会议日程,同步联系人,软件开发,网站发布,WiKi ...
- macOS Server 5.12
请访问原文链接:https://sysin.cn/blog/macOS-Server/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin.cn 摇 ...
- 执行ios命令_MEDUZA:一款针对iOS应用程序的通用SSL解绑工具
MEDUZA MEDUZA是一款针对iOS应用程序的通用SSL解绑工具,该工具基于Frida开发,可以当作SSLKillSwitch工具的替代品.本来我是想自己开发自己用的,而且原本并不打算开源出来. ...
- linux 恶意软件检测,两款针对Linux系统Rootkit和恶意软件的有用检测工具
尽管Linux系统可以免受大多数恶意软件的传播感染,但也不是绝对安全的.如果你的数据中心架设有Linux服务器,尤其是网站服务器,则更应该对Rootkit木马和恶意软件严密防范,因为一些数据破坏类Ro ...
- MacOS 上 oh-my-zsh 安装与卸载
前言 1.概述 zsh(Z Shell)是 *nix 系中的 shell 的一种,一般的发行版中都已集成了 zsh,比如 MacOS 中你可以使用 which zsh 查看到 /bin/zsh 的存在 ...
- kangle web server源代码安装简明教程
kangle web server源代码安装简明教程 - kangle使用交流 - kangle软件 是一款高性能web服务器,反向代理服务器,提供虚拟主机管理系统及代理服务器,web服务器架设 - ...
最新文章
- 父亲节用计算机给惊喜,2015父亲节的惊喜作文:给爸爸特殊的礼物
- 记一次httpclient调用失败
- 默认方法:Java 8的无名英雄
- 【渝粤题库】国家开放大学2021春2238个案工作题目
- 个人材料(上报公司)
- java spring mvc_java spring mvc 全注解
- MySQL性能医生:Orzdba工具安装和使用
- 网络协议从入门到底层原理(8)HTTPS(成本、通信过程、TLS1.2的连接,配置服务器HTTPS)
- 周报_2011第40周(2011/09/25-2011/10/01)
- linux g++ gcc
- Windows毫秒精度定时器SetTimer
- html video ajax,利用AJAX开源项目 在网页里播放视频实现方法
- gitter 卸载_最佳Gitter频道:数学
- Topsis与熵权法
- 香港服务器怎么加速?
- 最大素因子c语言,附上2021欧洲杯赛程时间表 -官网
- Day 15-其它 Composition API_ 响应式数据的判断
- Docker拉取splash镜像失败
- 动态磁盘转化为基本磁盘
- linux 修改mysql默认端口3306
热门文章
- hdu 1394 Minimum Inversion Number(逆序数对) : 树状数组 O(nlogn)
- typescript 爬坑速记
- 解决idea使用maven打自定义jar缺失
- SpringBoot项目文件上传
- Strut2 annotation配置时action到另一个action跳转参数传递
- 一篇文章玩转世界最强音乐Spotify API操作
- day14:磁盘管理df/du/fdisk/parted命令
- softmax sigmoid
- 【FLEX教程】#007 如何让JS调用SWF里的方法
- Juniper SRX210恢复密码过程