因为基本上都是写业务对安全问题只基于最简单的配置密码。前段时间用 canal+抗投诉服务器ES 做数据的同步和搜索,结果被什么喵喵机器人给攻击了。ES 数据被破坏成乱码。这个原因是因为开放了 es 端口结果没设置密码导致的(因为是测试环境)。所以我想如果端口不开放的情况下,系统的安全问题还会存在吗。然后之前数据库开放了公网访问,也被人盗窃了数据。服务器都是部署在阿里云上的。
对系统的安全和网络方向上不太了解。怎么样保证项目的安全性呢。有大佬可以大概科普下安全相关的概念么。感谢。
完全没听懂你想表达什么...
就说第一句, `spring 项目中数据库配置暴露,会有安全隐患嘛`.
这个安全隐患指的是什么呢? 员工可以知道数据库配置了?
端口暴露到公网,还不设密码,就相当于脱了裤子喊“来日我啊”
数据库账号和密码暴露到代码库,也就是说所有人都能看到,如果是生产库密码,而且生产库没有做访问控制,那么任何知道这个密码的人都能上生产库胡搞
springboot 配置有优先级. 配置不一定必须在源码里
https://docs.spring.io/spring-boot/docs/1.2.2.RELEASE/reference/html/boot-features-external-config.html
如果是本身弱密码 /无密码. 那跟项目没关系.
大概就是项目部署后,会不会存在数据库暴露的风险这样?
没必要开放端口的情况下最好别开,每天都有一大堆的人扫全球的服务,什么 es 、mysql 等都是重灾区。非要开放的话,做好权限控制防止被拿 shell 、IP 访问限制防止被暴力破解,还有无论什么服务,一定要强密码。
了解,那不开的端口会有安全隐患么
设计思路: https://my.oschina.net/huifer/blog/4990480,项目仓库: https://gitee.com/pychfarm_admin/encryption
不知道这个是否可行 @Renco
不开的端口可能会被 SSRF 攻击,比如说内网的 redis 之类的,或者攻击者通过某种方式进入你的内网,那里面就都是靶子了