给我的服务器数据库加固防线

​最近徐老狗买的腾讯云服务器总是被黑,数据库惨遭攻击,今天他终于忍无可忍,开始加固服务器。

一、修改ssh默认端口:

进入服务器执行

vim /etc/ssh/sshd_config

先把port 22的注释解开,在下面添加一个端口。这是防止万一你添加的端口不能用,22又被注释了,你就连不上服务器了。我这里添加的端口是56580,保存退出。

接着使之生效:

service sshd restart

如果你服务器开了防火墙,那么需要开启端口56580。

firewall-cmd --zone=public --add-port=56580/tcp --permanent

命令含义:
–zone #作用域
–add-port=1935/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

重启防火墙

firewall-cmd --reload

如果你的服务器是阿里云的话(阿里云不会像腾讯云和京东云那样开放所有端口)你还需要到安全组里开放端口

大致流程就是:登上阿里云->进入控制台->进入云服务器ECS->点击实例ID->点击本实例安全组。。。后面我就不说了。

完成如上操作后,你用xshell重新连接,把端口号由原来的22改成56580,只要成功那么就注释22那个端口就OK了。

二、关闭数据库Root用户的远程连接,创建一个低权限的新用户

1、创建一个没有删除权限的用户

GRANT SELECT,INSERT,UPDATE,CREATE ON cj.* TO 'custom'@'%' IDENTIFIED BY 'custom123@';

SELECT,INSERT,UPDATE,CREATE是赋予该用户的权限

cj是数据库 *代表所有

custom是用户名

custom123@是密码

2、关闭root用户远程连接

使用Navicat通过root用户登上数据库,找到mysql数据库user表,更改root的host为localhost;

更改之后不会立刻生效,然后要刷新数据库

flush privileges;

3、打开root用户远程连接

use mysql;
update user set host = "%" where user = "root";
flush privileges;

三、更改MySQL的常用端口号

一、创建MySQL

docker run --name mysql01 -p 3336:3336 -v /var/mysql/data:/var/lib/mysql -d -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

我这里MySQL的映射端口是3336,用户名是root,密码是123456

二、进入MySQL容器

docker exec -it mysql01 /bin/bash

三、在容器里下载vim

apt-get update
apt-get install vim

这里时间会很长,而且可能会失败,要重试!

四、在容器里执行 ,vim /etc/my.cnf 按i 修改端口号

[mysqld]
port=3336
五、用exit退出容器执行:

docker cp mysql01:/etc/mysql/my.cnf /root

六、vim my.cnf 进入文件修改或添加端口号

[mysqld]
port=3336

七、 将文件重新复制进容器内

docker cp /root/my.cnf mysql01:/etc/mysql/

八、重启容器

docker restart mysql01

九、重新进入容器,登陆MySQL

mysql -u root -p 

查看端口号

show global variables like 'port';

±--------------±------+
| Variable_name | Value |
±--------------±------+
| port | 3336 |
±--------------±------+
最后改Navicat的连接端口就OK了;

猜你喜欢

转载自blog.csdn.net/Curtisjia/article/details/107122941