问个数据库安全性的问题
设置
- 使用云布置数据库,使用
13306端口
- 云服务器
13306端口
设置白名单,只允许两个 ip 进来 - 服务器上开放了
80
端口, 并且是不做任何限制的 - 服务器上
ssh端口
设置为 2236 - 服务器禁用
root
账户, 只允许普通用户登陆 - mysql 只允许本地访问
- 系统是布置在公司电脑上,通过内网访问的
- 线上线下定期备份数据库
做了上面 7 点的话, 数据库还会被黑吗? 从运维角度还需要做什么设置增大安全性
会存在黑客从80端口黑进来, 把数据库删掉篡改的可能性吗
本作品采用《CC 协议》,转载必须注明作者和本文链接
统一说下,80端口是用作小程序转发的,跟数据库没关系,至于系统则是布置在本地内网访问的只是mysql读取的是云服务器上的数据库,就这样,80端口还能黑掉数据库吗
再补充说明:系统只开启两个端口,48382,38473,一个用于宝塔,一个用户数据库,并且两个端口都在云服务器上做了ip白名单设置,就凭这两个端口,还会被黑吗
高认可度评论:
这个注意或可操作的点有很多,我说下我现在能想到的吧,尽量绝(有)对(多)安(余)全。
sql
注入:前端只有2 种数据类型需要写入数据库,数字(浮点数字)和字符串。尽量减少手动拼接sql
语句,如必须拼接,那需要强制转换类型,mysql 有相关函数mysqli_real_escape_string
http://www.cnnvd.org.cn/
好多,个人的话yum update
,省事。如前段时间爆出的Apache Log4j
php
,以及composer
包漏洞,及时更新。如有错误欢迎指出。
PS:如果真的注重安全性,安全性又很重要,建议找专人管理服务器,如运维、安全专家等。没准哪里埋个坑就破防了。
如果你代码里面使用的 MySQL 账户权限过高且存在漏洞的话,是有可能的。
如果你更关注数据库安全的话,比较推荐商业数据库服务。
对于服务器,应该在关闭 Root 登录的同时,关闭掉使用密码登录,改换更加安全的 SSH Key 进行登录(并建议给生成的私钥添加密码)
对于运行的服务,原则上应尽量低的权限。
80端口是否安全,取决于你的80端口运行的程序是否有漏洞,有漏洞的话啥都白搭
数据库不是专门的服务器的话,80端口常见的sql注入可能会对数据进行破坏,数据库的数据毕竟保存在磁盘上,80端口上传文件漏洞,redis 等其他软件漏洞也有可能入侵系统。还是建议购买云数据库。
这个注意或可操作的点有很多,我说下我现在能想到的吧,尽量绝(有)对(多)安(余)全。
sql
注入:前端只有2 种数据类型需要写入数据库,数字(浮点数字)和字符串。尽量减少手动拼接sql
语句,如必须拼接,那需要强制转换类型,mysql 有相关函数mysqli_real_escape_string
http://www.cnnvd.org.cn/
好多,个人的话yum update
,省事。如前段时间爆出的Apache Log4j
php
,以及composer
包漏洞,及时更新。如有错误欢迎指出。
PS:如果真的注重安全性,安全性又很重要,建议找专人管理服务器,如运维、安全专家等。没准哪里埋个坑就破防了。
我之前的项目除了你说的这些安全问题之外,最主要是代码中使用的mysql 账户权限精细到单个字段 web api 是单独的msyql user ,update 权限都要申请审核,del权限基本上不会在web api 的mysql user中 admin 是单独的user
sql注入大部分来自各个连接中传输的变量以及语句,通过修改你业务的语句体进行更改数据库,所以只要你业务能正常运行,项目能修改数据库,就有可能被sql注入
对于你的各项补充说明,这边建议你先搞懂什么叫sql注入,明白原理就不用来回补充了
大家都给你讲的这么明白了,怎么还补充啥呢,80端口的程序有漏洞就会被黑,宝塔有漏洞通过开放的端口当然也会被黑,甚至拿到你的服务器权限,想干啥就干啥了。
找人做一下安全检测
没有
绝对的安全
,只有相对的安全
,不犯低级的错误
。建议把系统也部署到云端,哪怕是通过远程桌面登录上去执行运维操作也一般比公司内网安全且稳定。
不建议用宝塔,用也不要在公司内网部署,参见上一条。
通过80端口进来尝试各种市面上已知的程序或框架漏洞来实施入侵检测也是很常见的。很多云服务提供渗透检测,建议采购尝试一下。