aliyun服务器中mysql遭勒索后的优化方案

文章目录

        • 目录1:系统相关优化
        • 目录2:mysql的相关优化
        • 目录3:top命令内容分析
        • 目录4:优化参考
        • 目录5:其他

目录1:系统相关优化

  • Linux参看当前登陆用户信息:
    whoami 命令用于显示登入的用户名
    参考:https://blog.csdn.net/newdriver2783/article/details/8059368
  • 修改ssh默认端口: 修改服务器默认远程登录端口
    @注意先解掉Port 22的注释,然后添加Port xxx 自定义端口,使文件保存生 效,然后测试自定义端口是否真的可以,如果真的可以,再注释掉Port 22 端口
    防止添加的自定义端口不行,22端口也注释了,就无法连接到远程了
    [root@xxxx /]# vim /etc/ssh/sshd_config
# possible, but leave them commented. Uncommented options change a
# default value.
Port 22
Port 56580

@保存编辑的文件,重启ssh服务
[root@xxxx /]# /etc/init.d/sshd restart 或者 #service sshd restart
@关闭防火墙 注意防火墙类型
[root@xxxx /]##/etc/init.d/iptables stop 或者 #service iptables stop
参考:https://blog.csdn.net/niketwo/article/details/7978884

  • 用户名和密码尽量复杂: 用户密码设置为 复杂密码:服务器设置大写、小写、特殊字符、数字 组成不规律的12-16位的复杂密码
    [root@xxxx /]# passwd 用户名 用户密码
    [root@xxxx /]# passwd root 12345
    eg:具体示例如下:[root@xxxx ~]# passwd root
    Changing password for user root.
    New UNIX password:
    BAD PASSWORD: it is based on a dictionary word
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.

  • 不建议放行所有端口 :
    @防火墙设置
    @在aliyun控制后台设置安全组策略设置开放的端口

  • 待完善 :
    操作系统防火墙配置;
    自动备份数据库
    禁用ROOT
    禁用密码登陆,使用RSA公钥登陆
    linux 设置账号密码和用户组




目录2:mysql的相关优化

  • 登陆mysql命令
    [root@xxxx /]# mysql -u root -p
    root@localhost [(none)]> use mysql;
  • mysql指定ip连接mysql :
    @创建mysql用户命令:CREATE USER ‘lisi’@‘host’ IDENTIFIED BY ‘password’;
    @root@localhost [mysql]>
GRANT ALL PRIVILEGES ON *.* TO 'root'@'124.64.37.198' IDENTIFIED BY 'password123' WITH GRANT OPTION;

@创建新msyql用户,设置指定ip访问指定数据库(这里是test数据库及对应所有权限)

GRANT ALL PRIVILEGES ON test.* TO 'lisi'@'127.0.0.1' IDENTIFIED BY 'password123';

@root@localhost [mysql]>flush privileges; 刷新

  • 修改默认端口 :
    @登陆mysql,参看端口:
    root@localhost [mysql]> show global variables like ‘port’;
    @修改MySQL配置文件(这个配置文件需要在安装mysql时配置到etc路径)
    [root@xxxx ~]# vi /etc/my.cnf
 [client]
 port = 5673 # default 3306

@保存文件,重启mysql
[root@xxxx ~]#systemctl restart mysqld 或者 /etc/init.d/mysqld restart
@参看MySQL端口修改是否成功

  • 删除无用的mysql账号: 有drop和delete两种删除方法
    @参看所有用户及ip
    root@localhost [mysql]> select user,host from mysql.user;
    @根据用户名和ip删除用户
    root@localhost [mysql]> drop user ‘userName’@‘host’;
  • 设置数据库密码: 注意mysql5.7和5.7一下的版本密码字段不一样
    5.7:authentication_string //5.6:password
    root@localhost [mysql]> update mysql.user set authentication_string=password(‘123qwe’) where user=‘root’;
    root@localhost [mysql]>flush privileges; 刷新
  • 待完善 :
    @禁止mysql以管理员账号权限运行
    @连接数设置
    @检查恶意进程及非法短空
    @查看定时任务
    @对MySQL用户的操作
    创建用户,授权,设置域更改用户密码,撤销用户权限,查看用户权限
    @根据数据库的二进制日志恢复数据
    @mysql 配置文件日志的配置详解



目录3:top命令内容分析

参考:https://blog.csdn.net/newdriver2783/article/details/8059368
top 主命令,子命令,交互命令
参考:https://www.cnblogs.com/peida/archive/2012/12/24/2831353.html




目录4:优化参考

腾讯:https://cloud.tencent.com/document/product/296/9604
阿里:https://help.aliyun.com/knowledge_detail/60893.html
其他:https://blog.csdn.net/saywhat_sayhello/article/details/89815896




目录5:其他

@本地cmd远程登陆linux系统命令:
[root@xxxx /]# ssh [email protected] -p 37961
@是否存在弱口令-简单的密码,每60天进行替换
无网络访问控制、默认账号和空口令、默认账号弱口令、后台暴露、后台无口 令、未授权访问等情况
@linux 查看端口的相关命令:
netstat -ntlp // ps aux |grep xxx // lsof -i:8080
参考:https://blog.csdn.net/ws379374000/article/details/74218530
@Linux的防火墙使用
@nginx:操作参考:https://juejin.im/entry/5ad06a655188255c9323b24e
@reids:
1.禁用公网IP监听,包括0.0.0.0
2.使用密码限制redis
3.使用较低权限账号运行redis

你可能感兴趣的:(mysql,linux)