阿里云服务器安全防守

前几天遇到的一个不幸的事情,阿里云服务器上的数据库全部清空了,并且猖狂的建一个以他QQ号命名的数据库,这是要我联系他,交钱恢复数据啊。还好里面都是一些个人项目,没有什么特别重要的数据,而且我阿里云有磁盘备份计划每周一次,恢复一下即可。当然磁盘备份算是服务器数据的最后一道防线了。

遇到问题解决问题,是一件幸福的事情,如果遇不到问题,或者解决不了问题都是比较痛苦的经历。索性没有造成什么损失,不过不得不引起我对服务器安全的重视,为此对服务器做了一下调整:

新增普通账号

新增用户
useradd user
添加密码
passwd password

删除用户名
userdel 用户名

ssh禁止root连接

vim  /etc/ssh/sshd_config

port 8888
PasswordAuthentication yes  #开启密码验证
PermitRootLogin no  #是否容永root登陆
PermitEmptyPasswords no #是否允许密码为空

重启ssh服务
service sshd reload 

mysql安全配置

mysql库中有4张权限表,user、db、tables_priv、columns_priv,分别对应用户密码、用户对数据库的权限、对表的权限、对列的权限。
当一个用户向MySQL发起请求时,首先会从user表中验证host、user、password,然后再依次验证db、tables_priv、columns_priv,验证过程中,如果db表中对应权限为Y,则此用户对某个库的权限全为Y,将不再验证tables_priv和columns_priv。

对于MySQL中的账户权限相关的安全配置,总结如下:
针对每个网站建立一个单独的账户
为每个网站单独建立一个专属数据库
按照user->db->tables_priv->columns_pri的顺序进行细粒度的权限控制
为每个用户单独配置一个专属数据库,保证当前用户的所有操作只能发生在它自己的数据库中,防止SQL注入发生后,黑客通过注入点访问到系统表
如果有必要,改变MySQL的root用户的用户名(在user表中更改)

禁止root用户远程登录
防火墙设置
更改默认端口(默认3306),可以从一定程度上防止端口扫描工具的扫描
限制单个用户的连接数量:
[mysqld]
max_user_connections 20

mysql 新增普通用户

mysql进行权限控制 root账号外网禁止登陆

修改各个账号密码,复杂化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1,MySQL权限体系 mysql 的权限体系大致分为5个层级: 全局层级: 全局权限适用于一个给定服务器中的所有...
    不排版阅读 964评论 0 4
  • 用了mysql好多年,很少关注mysql自带库,自然也不知道这个库里存放些什么,在看《MySQL排错指南》时看到它...
    灼灼2015阅读 1,915评论 1 3
  • 1.A simple master-to-slave replication is currently being...
    Kevin关大大阅读 6,011评论 0 3
  • 安装并配置MySQL数据库 3.2.1安装MySQL数据库 1.MySQL数据库的安装环境准备 如果读者没有物理服...
    SkTj阅读 4,090评论 0 6
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,060评论 0 19