主题: security
-
监控所有端点(而不仅是主网站)的 TLS 证书到期情况
证书过期造成的故障,其发生时间是完全可以预知的:应从外部探测每一张实际对外提供的证书(网站、API、邮件、内部管理面板、负载均衡器)的 notAfter 日期,设置足够提前的告警时间以便手动续期,并且叶子证书和中间证书都要检查。
-
检查 TLS 连接是否实际协商使用了 X25519MLKEM768
结合浏览器连接详情、OpenSSL、curl 和服务器端证据,区分已安装的后量子能力与实际 TLS 连接所选的密钥交换组。
-
审计日志:记录什么、如何保持完整、谁可以读取
审计日志要回答的是谁在何时对哪个对象做了什么、结果如何;它由应用程序针对每一次与安全相关的操作写入,与调试日志分开保存,通过及时转移到仅追加或一次写入的存储中来防止被篡改,并且只在有记录、受限的权限下才能读取。
-
Linux 内核 KEV 修复:逐个 CVE 核验发行版软件包与运行中的内核
应分别跟踪五个已被利用的内核漏洞。使用发行版对应的软件包修复,并确认已启动的内核或明确的 livepatch 覆盖范围;针对一个子系统的缓解措施不能解决其他子系统的问题。
-
秘密已被提交:为什么只删文件不够,以及响应顺序是什么
推送到 Git 仓库的凭据会留在历史、分叉、克隆、缓存和 CI 日志中。重写历史可减少后续暴露,却无法收回副本,因此第一步是撤销并轮换凭据,然后清理历史,再检查使用情况。
-
Unix 文件权限与 umask
每个文件都有属主、属组和其他用户的读、写、执行权限位,以及 setuid、setgid 和 sticky 位;新文件的权限受进程 umask 控制。秘密应放在权限为 0600 的文件中,遍历目录需要执行权限,服务应以专用用户运行。
-
系统完整性保护与签名系统卷:它们保护什么,以及为何不应禁用
SIP 限制包括 root 在内的用户修改受保护的系统路径或进程;签名系统卷以密码学方式密封整个系统卷,并在每次启动时检查。两者共同解释了为何 /usr/local 可写而 /usr 不可写,也说明禁用 SIP 不是修复权限错误的合理方法。
-
设计既保护服务又告知客户端的速率限制
按照能够验证的身份,例如账户或网络前缀,实施限制;在固定或滑动窗口中使用原子计数器,返回带 Retry-After 的429响应,为读取、写入和注册分别设置配额,并公布实际生效的限制。
-
Sudo policy as drop-in files in /etc/sudoers.d, checked with visudo -c
Adding a scoped rule as its own file under /etc/sudoers.d, validated with visudo before it takes effect, keeps sudo policy auditable and avoids a syntax error locking everyone out. This methodology also covers the risk of broad NOPASSWD rules and where sudo logs its decisions.
-
将 npm 与 PyPI 的发布身份绑定到获批的发布制品
OIDC 可信发布无需存储发布 token,但其安全性仍取决于已授权的工作流。应分离构建与发布、保护审批环节,并核验制品身份,不能把来源证明当成恶意软件检测结论。
-
File upload service walk-through: direct-to-storage tickets, asynchronous scanning and quotas
A design walk-through for uploads that bypass the application servers: a ticket that reserves quota and returns a signed upload URL, a completion step that verifies the stored object, a scan worker that promotes or deletes it, lifecycle rules for abandoned uploads, and a status model that explains every stored object.
-
通过输出编码防止跨站脚本攻击
根据数据实际插入的上下文进行转义,包括 HTML 文本、属性、JavaScript、URL 和 CSS。使用默认转义的模板引擎,不要通过字符串拼接构造 HTML,并辅以严格的 CSP。
-
Cisco Secure Email Gateway 与 SD-WAN Manager:核实修复并保全入侵证据
为邮件扫描器和 SD-WAN Manager 分别建立修复记录。核实实际安装的修复版本,在会中断运行的恢复操作之前保全证据,并按照各产品专用的调查流程处理。
-
Short-link services with sequential identifiers receive more enumeration requests than services with random identifiers
Hypothesis: a URL shortener whose keys are a counter encoded in base62 lets anyone walk every link, whereas random fixed-length keys make most guesses miss; the proposal is that sequential services see a higher share of requests for existing keys from clients that never received the link, and that the share of 404 responses does not distinguish the two.
-
为制造商准备 CRA 漏洞处理流程:接收、证据与报告计时
本文提出一套准备流程,将漏洞接收和组件记录与 CRA 报告决策衔接起来。该流程区分了已于 2026 年适用的报告义务,以及将于 2027 年 12 月适用的更广泛漏洞处理要求。
-
The Standard Webhooks spec versus Shopify's HMAC header and GitLab's shared-secret token
The Standard Webhooks specification defines webhook-id, webhook-timestamp and webhook-signature headers, a whsec_-prefixed base64 secret whose decoded bytes are the HMAC key, and a v1,<base64> signature over "{id}.{timestamp}.{payload}"; GitLab's signing tokens (GitLab 19.0, generally available in 19.1) implement exactly this. Shopify instead sends a base64 HMAC of the raw body in X-Shopify-Hmac-SHA256, and GitLab's older X-Gitlab-Token is a plain shared secret, not an HMAC at all.
-
Verifying installed RPM packages for tampering with rpm -V
rpm -V compares installed files against the checksums, permissions and ownership recorded when the package was installed, and its single-letter output codes say exactly what changed. This methodology covers reading that output and its limits as an integrity check.
-
同源策略:源是什么,以及它隔离什么
源由 URL 的协议方案、主机和端口组成。脚本可以读取和修改同源文档、存储及响应;跨源读取默认被阻止,而表单提交等跨源写入,以及图片和脚本等嵌入通常被允许。CORS 放宽读取限制,但仍需 CSRF 防御。
-
After a vulnerability report arrives: acknowledge, assess, fix in private, disclose
Once a report reaches the project's security contact, the work is a sequence with dates: acknowledge quickly, classify (working as intended, bug, feature request, vulnerability), agree an embargo with the reporter, develop the fix privately, obtain a CVE identifier, then release and publish an advisory that names affected and fixed versions and credits the reporter. The OpenSSF maintainer guide and GitHub's disclosure guidance describe this process; this article compresses it for a project with one to five maintainers.
-
为智能体操作建立沙箱:文件系统、网络与凭据边界
运行命令或代码的智能体应处于明确边界内,限制它可访问的文件、可连接的主机和可读取的秘密值。构建要素包括移除 capabilities 并配置 seccomp 的容器、gVisor 等用户态内核、默认拒绝的网络,以及短期且范围受限的凭据。
机器可读: JSON