web安全——数据库(mysql)

数据安全是现在互联网安全非常重要一个环节。而且一旦数据出现问题是不可逆的,甚至是灾难性的。

有一些防护措施应该在前面几个博文说过了,就不再赘述。比如通过防火墙控制,通过系统的用户控制,通过web应用的控制等。
想说的是,任何一个节点都不是单独存在的。

应用安全

mysql初始化后会自动生成空用户和test库,这会对数据库构成威胁,我们全部删除。

mysql> drop database test; mysql> use mysql; mysql> delete from db; mysql> delete from user where not(host=”localhost” and user=”root”); mysql> flush privileges; 

在某些情况下,LOCAL INFILE命令可被用于访问操作系统上的其它文件(如/etc/passwd),应使用下现的命令:

mysql> LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE table1 # 更简单的方法是: mysql> SELECT load_file("/etc/passwd") 

为禁用LOCAL INFILE命令,应当在MySQL配置文件的[mysqld]部分增加下面的参数:
set-variable=local-infile=0

控制用户的权限

这里用户,指的是数据库里的用户。

只允许信任的ip访问,其他的ip都应该拒绝。
比如:只允许办公网络,还有业务服务器对应的网络可以访问。

区分角色,给不同的权限。角色的划分需要根据具体的使用场景。
下面简单举例:

加密敏感信息

要使用md5,sha等算法加密。这样即使数据丢失,也能减少损失。比如:登录密码,支付密码等。

保证数据的完整性

规范日常操作

业务的划分

可以通过缓存,静态化。尽可能少的使用数据库。能不使用数据库是最安全。

敏感的数据和常用的数据,最好从表的设计上隔离。比如:用户的详情信息和支付信息最好分开。

这个也非常重要,往往就是因为不重要sql的优化,所以数据库对应的服务器资源吃满不提供服务。

通过不同的账号操作,判断有没有对应的权限。

原文链接:https://www.cnblogs.com/ansn001/p/5653357.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18267

(0)
上一篇 2023年7月18日 12:16
下一篇 2023年7月19日 08:44

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml