美文网首页
Django博客优化 数据库安全

Django博客优化 数据库安全

作者: 早_wsm | 来源:发表于2020-12-04 11:30 被阅读0次

前言

你无法确定明天会发生什么,谁会想到我的数据库会被黑掉呢!
我从没想到我的博客小破站也会被黑到,但是由于我自身网站也只是开发阶段,一切数据也只是用来测试,倒没有什么损失,只是为了操作方便,设置了弱密码与权限,给了别人可乘之机.正好趁此整理一下关于数据库安全防护方面的知识点!

image.png
image.png

1.修改数据库登录密码

  • 方法1: 使用set password命令进入数据库修改
# 示例:
mysql> set password for 用户名@localhost = password('新密码');  
  • 方法2:使用mysqladmin在外部修改
# 示例:
mysqladmin -u用户名 -p旧密码 password 新密码  
  • 方法3:进入user表用update更改user
# 示例:
mysql> use mysql;  
mysql> update user set password=password('123') where user='root' and host='localhost';  
mysql> flush privileges;  

数据库密码很重要,不要为了方便使用弱密码!

2.修改用户权限

  • 创建库的同时,创建一个专门访问此库的用户,并限制权限
# 创建数据库
create database test charset=utf8;
# 创建新用户并控制权限
grant 你要赋予的权限 on test.* to '新用户'@"设置远程访问的主机地址" identified by '强密码';
# 为了方便操作,可赋予一个本机登录权限
grant 你要赋予的权限 on test.* to '新用户'@"localhost" identified by '强密码';
# 刷新缓存,让配置生效
flush privileges;
  • 查看授权
# 进入mysql库
MariaDB [(none)]> use mysql;
# 查看user表中的user与host查看权限
MariaDB [mysql]> select user,host from user;
+------+----------------+
| user | host           |
+------+----------------+
| root | %              |
| 新用户  | 访问ID |
| root | 127.0.0.1      |
| root | ::1            |
|      | localhost      |
| root | localhost      |
| 新用户 | localhost      |
| root | test     |
+------+----------------+

如果你发现你的root用户也同时具有访问任何库与任意主机远程地址登录的权限,需要根据自己需求来做限制,为了更高的安全性,我选择删除root的权限

  • 删除root远程登录访问新建库test的权限
delete from  user where host='%' and user = 'root';
  • 尝试使用新创建的用户与root登录新创建的库,做一下权限验证
mysql -u新用户 -p test
# 可以正常登陆,再尝试远程登录

3.修改数据库端口

数据库默认端口3306,为了加强安全性可以更改一个只有自己知道的端口,降低被破解访问的风险

  • 查看当前端口号
MariaDB [(none)]> show global variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
  • 修改数据库配置文件,修改端口
vim /etc/my.cnf
# 主要修改port即可
[mysqld]
port=xxxx
# 若没有则添加
[client]
port=xxxx
  • 重启数据库
# 我这里使用的是mariadb
systemctl restart mariadb.service
  • 更改安全组(防火墙)
    如果你的数据库是云服务器记得开启新设置的数据库端口,如果是本地服务器并且设置了防火墙等安全规则也记得放开新端口

4.数据库备份

即使做了所有防护策略也不能避免意外发生,数据库备份是我们最后一道可靠的保障.
数据库备份有很多方法,可根据自己的业务需求选择全量备份,增量备份,冷备份,热备份等等等等,因为我的数据体量很小,只选择使用shell脚本配合mysqldump命令定时完成全站备份!

相关文章

  • Django博客优化 数据库安全

    前言 你无法确定明天会发生什么,谁会想到我的数据库会被黑掉呢!我从没想到我的博客小破站也会被黑到,但是由于我自身网...

  • Django blog - Django models 介绍

    欢迎访问个人博客 Abstract Django 模型models是与数据库相关的。Django 为 sqlite...

  • Django搭建博客页面

    Django基本使用以及博客搭建的准备工作,请参考Django入门与实践 博客主页面编写 编写思路 取出数据库中所...

  • 参考资料:Django 数据库相关

    1 JavaChen 的 Django ORM 三部曲 JavaChen 的博客 讲解了 Django 中与数据库...

  • Django快速搭建博客(三)

    创建 Django 博客的数据库模型 设计博客的数据库表结构 博客最主要的功能就是展示文章,它需要从某个地方获取博...

  • Django 数据库访问性能优化

    1. 使用标准的数据库优化技术: 在进行Django数据库访问性能优化之前,首先应该使用标准的数据库技术对其进行优...

  • Django博客优化 文章归档

    前言 为博客添加文章归档功能 添加URL Django2.x与3.x对路由的使用有些许差别,注意自己的版本,我这里...

  • django2实战3.模型的增删改查

    继上篇 django2实战2.创建博客应用 django对数据的操作采用的是ORM模式,即将数据库的增删改查抽象成...

  • Django 多进程操作 Mysql 时 2013: Lost

    最近在优化Django数据库操作的性能问题,由于Python的GIL限制引入了多进程,优化过程中碰到了非常奇怪的数...

  • Django博客优化 配置ssl证书

    前言 网站持续优化中,先把简单的工作解决掉!由于之前买的域名是在阿里买的,所以这次证书也在阿里选购,方便管理.简单...

网友评论

      本文标题:Django博客优化 数据库安全

      本文链接:https://www.haomeiwen.com/subject/exkvwktx.html