給我的服務器數據庫加固防線

​最近徐老狗買的騰訊雲服務器總是被黑,數據庫慘遭攻擊,今天他終於忍無可忍,開始加固服務器。

一、修改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了;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章