金融行业日志规范汇总

2021-04-17  本文已影响0人  林万程

摘录改写自《客商银行日志规范》 原作者本人:林万程

《个人金融信息保护技术规范》JR/T 0171—2020

个人金融信息解释详见原文

应对个人金融信息访问与个人金融信息的增删改查等操作进行记录,
并保证操作日志的完整性、可用性及可追溯性,
操作日志包括但不限于业务操作日志、系统日志等;
系统运维管理类日志不应记录个人金融信息。
应对存储个人金融信息的数据库及操作日志实施严格的用户授权与访问控制。

日志文件和匹配规则的数据应至少保存 6 个月,
应定期对所有系统组件日志进行审计,包括但不限于存储、处理或传输个人金融信息的系统组件日志、
执行安全功能的系统组件日志(如防火墙、入侵检测系统、验证服务器等)、安全事件日志等。

《商业银行应用程序接口安全管理规范》JRIT 0185-2020

安全监控(7.3.3)

商业银行应对接口使用情况进行监控,完整记录接口访问日志。
日志应满足以下要求:

应用方安全能力(9.3.4 告知外部对接平台)

应留存与商业银行应用程序接口集成相关的应用系统、网络设备、主机投备、安全产品日志,
日志保留期应满足国家与行业主管部门要求,日志留存应不少于 6 个月。

商业银行交易日志应按照国家会计准则要求予以保存,系统日志保存期限不少于 1 年

安全审计(12.3)

商业银行应具备以下安全审计能力:

应用方应具备以下安全审计能力:(告知外部对接平台)

《阿里规范》

  1. 【强制】应用中不可直接使用日志系统(Log4j、Logback、Log4j2)中的 API,
    而应依赖使用日志框架(SLF4J)中的 API,
    使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
    private static final Logger LOG = LoggerFactory.getLogger(Test.class);
}
  1. 【强制】所有日志文件至少保存 15 天,因为有些异常具备以“周”为频次发生的特点。
    对于当天日志,以“应用名.log”来保存,保存在/opt/logs/应用名/目录下,
    过往日志格式为: {baseDir}/%d{yyyy-MM, aux}/%d{yyyy-MM-dd}/{logName}.%d{yyyy-MM-dd}.%i.log.gz
  1. 【强制】根据国家法律,网络运行状态、网络安全事件、个人敏感信息操作等相关记录,留存
    的日志不少于六个月,并且进行网络多机备份。

  2. 【强制】应用中的扩展日志(如打点、临时监控、访问日志等)命名方式:
    appName_logType_logName.log。logType:日志类型,如 stats/monitor/access 等;logName:日志描
    述。这种命名的好处:通过文件名就可知道日志文件属于什么应用,什么类型,什么目的,也有利于归类查
    找。

WARN 和 ERROR 的选择需要好好考虑

WARN 一般我倾向于记录可自恢复但值得关注的错误,
ERROR 代表了不能自己恢复的错误。

对于业务处理遇到问题用 ERROR 不合理,对于 catch 到了异常也不是全用 ERROR。

日志最好打印一定的上下文(链路 TraceId、用户 Id、订单 Id、外部传来的关键数据)而不仅仅是打印线程栈。
记录上下文信息需考虑日志脱敏问题?可以在框架层面实现,比如自定义实现 logback 的 ClassicConverter。
正确合理的使用日志,能够指引开发人员快速查找错误、定位问题。

《阿里工程师的自我修养》如何成为优秀的技术主管?你要做到这三点
—— 作者:云狄 高级技术专家

上一篇 下一篇

猜你喜欢

热点阅读