点击上方“程序猿技术大咖”,关注并选择“设为星标”

作者丨Erik Costlow 译者丨核子可乐李冬梅
来源:https://www.infoq.cn/article/TViiOa5uqCeH6Biq7HMr
Java 开发者们的安全责任
修复库(必选)
按照 Java 安全基准(推荐、定期)修复 JRE
jobs:java11:runs-on: ${{ matrix.os }}strategy:matrix:os: [ubuntu-latest, macos-latest, windows-latest]update: [x]package: [jdk, jre]fail-fast: falsemax-parallel: 4name: ${{ matrix.package }} 11.0.${{ matrix.update }}, ${{ matrix.os }}steps:- uses: actions/checkout@v1- name: Set up JDK 11 Zuluuses: foojayio/setup-java@discowith:java-package: ${{ matrix.package }}java-version: 11.0.${{ matrix.update }}distro: zulu- name: java -versionrun: java -version
定期检测自定义安全漏洞(测试中,推荐)
我的应用程序中是否包含 SQL 注入缺陷,例如在 Hibernate、JBDC 或者其他位置? 远程攻击者能否控制发送至 Runtime.exec 的任何输入,进而导致命令注入漏洞? 我的应用程序中使用到哪些加密算法,具体用在何处、是否符合适当的安全标准? 我们是否正以某种非常规、有风险的方式组合不同库,例如 OGNL 输入解析?
使用 JDK Flight Recorder 监控安全事件
哪些安全努力不值得尝试
网络防御成效捉急。大家可能都听过网上流传的段子,有人用 Photoshop 精心设计出一张看似正常、似藏玄机的车牌,识别系统一扫就会遭遇注射攻击。这办法绝了,因为开发者知道车牌识别系统会尝试解析和记录一切通过计算机视觉捕捉到的内容,而且这部分注入数据压根不用经过网络层。同样的,大多数应用程序也会有针对性地使用部分数据、解码数据并记录下各类细节。很明显,任何网络工具都没办法覆盖到如此广泛的攻击面。
监控并跟踪攻击者,第一时间屏蔽其 IP 同样效果不佳。虽然有些组织会坚持维护一套潜在攻击者清单,但 AWS IP 之所以被命名为 Elastic(弹性),正是因为它们会定期更改。即使拉黑一个,对方要么可以等自然解禁、要么就是换个 IP 继续攻击。
系统属性与动态补丁:效果尚可
Dcom.sun.jndi.rmiobject.trustURLCodebase=false Dcom.sun.jndi.cosnaming.object.trustURLCodebase=false
Java 是如何处理日志记录的?
System Logger (2017 年,推荐)在 JDK 9 中被首次引入。它改进了 JDK Logger 的 API,并提供类似于 SLF4j 的外观,能够将 JDK 日志重新定向至应用程序团队指定的记录器处。
JDK Logger (2004 年)于 Java 1.4 版本中被引入。它特别常见,只是 API 显得有点陈旧了。虽然也能用,但不像其他日志记录框架那么灵便。
Log4j与Log4j2 属于社区开发的记录器。它们改进了 API,让团队能够轻松控制需要记录的内容、检索特定数据何时出现在哪些层级。
Logback 与 SLF4j 也是两款颇具人气的记录器。SLF4J 属于一套相对简单的日志记录外观,可帮助团队管理其他多种记录器——库维护人员将直接登录到 SLF4J,之后再由应用程序开发人员具体配置要使用哪些底层记录器提供统一的输出结果。除了高质量 AIP 之外,二者还最大限度减少了我们需要面对的依赖项。
JBoss Logger 是 JBoss 生态系统中的另一款流行记录器,运行状态稳定且速度很快。它现在已经能够支持 Quarkus 等多种其他日志记录框架。
Apache Commons-Logging(2002 年)的历史比 JDK Logger 更长,也启发了后来诸多 API。它的最后一个版本发布于 2014 年,之后随着从单一项目向跨项目 API 的用户趋势变化而没落。
2022 年最推荐的 Logger 方案
参考链接:
https://www.infoworld.com/article/3644492/how-to-detect-the-log4j-vulnerability-in-your-applications.html https://foojay.io/today/log4j-isnt-killing-java/
感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!

GitHub“代码搜索”技术预览版发布 Istio 实践手册 |服务网格框架对比 MySQL性能优化(七):MySQL执行计划,真的很重要,来一起学习吧 微服务架构下的核心话题 (三):微服务架构的技术选型

喜欢就点个"在看"呗,留言、转发朋友圈
文章转载自程序猿技术大咖,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




