关于Apache的安全预警

  近日,根据我公司安全部门监测,Apache Log4j2是一个基于Java的日志记录工具。


  该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。


  此次漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。为避免您的业务数据受到影响,我们建议您及时进行自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。


  据了解,此次漏洞是由 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在处理数据时,并未对输入(如${jndi)进行严格的判断,从而造成注入类代码执行。


  漏洞影响范围:


  Java类产品:Apache Log4j 2.x < 2.16.0


  受影响的应用及组件(包括但不限于)如下:


  Apache Solr、Apache Flink、Apache Druid、Apache Struts2、srping-boot-strater-log4j2等。


  更多组件可参考如下链接:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/usages?p=1


   风险等级:


  漏洞风险:攻击者可利用该漏洞进行远程执行任意代码


  修复措施:升级至已修复该漏洞的软件版本


  其他紧急补救措施:


  (1)设置jvm参数 -Dlog4j2.formatMsgNoLookups=true 仅限Log4j 2.10.0以上版本。


  (2)设置log4j2.formatMsgNoLookups=True 仅限Log4j 2.10.0以上版本。


  (3)设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 为 true 仅限Log4j 2.10.0以上版本。


  (4)采用 rasp 对lookup的调用进行阻断。


  (5)采用waf对请求流量中的${jndi}进行拦截。


  (6)禁止不必要的业务访问外网。


2022-01-03