记录一次springboot使用actuator作为监控的安全问题:

服务器突然出现大量
报错
,如mybatis报错,sql检查没问题。
观察同一时间的请求日志,发现多个如下请求:


/actuator/env
请求可以修改环境变量参数,包括linux操作系统命令
存在问题
-
springboot actuator提供了很多
暴露
接口用于开发人员获取对应的监控信息,如info、mappings等,当然也有一些接口可能导致环境变量被修改 -
如果集成了
HikariCP
作为数据库连接池:该连接池有个提供连接前执行sql的配置spring.datasource.hikari.connection-test-query
,这就很容易导致一些sql侵入命令的执行
解决方式
配置参数management.endpoints.web.exposure.include
管理好需要暴露的接口,尽量不要使用*。