服务器映射的概念是什么?云服务器能不能映射到本地?
作为虚拟服务的云服务器产品,每次用户进行访问都需要远程桌面连接才能进行对云服务器的使用,但是有时我们想要访问云服务器的内容,连接登陆访问浪费时间,用什么快速方法使得我们可以快速访问云服务器呢?
黑客是否能重启云服务器?其实如果您设置不当,确实存在着被入侵的可能,但黑客往往并不是重启您的服务器。而且利用您的云服务器挖矿,本次我们就以一些案例来看黑客是如何控制您的云服务器的。
本文重点
黑客攻防案例分析
认知自我提高防范黑客
一、黑客攻防案例分析
1.案例分析
某天刚到公司同事询问我,为什么OA打不开了,我当时心里想肯定是挂在云服务器上Nginx挂了呗!反正公司内部用,当时选用某些不知名小厂的云服务器。
反正当时也不是一次两次出现这种问题了,我立刻登录云服务器,当时我发现登录不上了。
可是上去后台,我发现显示正常开机,但CPU机会要跑满了。我也没打算提工单,反正也没人回复。登录不了服务器的情况下是无法做任何操作的,于是我就选择了重启。
重启后,CPU使用率降了下来,服务正常运行,一切皆大欢喜……
皆大欢喜
但是,这一切都完结了吗?
这个并没有,没过几天又出现了同样的问题。这次重启登录服务器发现 gpg-agentd进程出奇的高。
CPU占用过高(已经用户挖矿)
CPU200%?实在太可怕
经过一顿搜索资料,我们大体摸清的黑客的套路。
利用了redis 特性可以把缓存内容写入本地文件的漏洞,他就可以随便在服务器的 /root/.ssh/authorized_keys
文件中写入公钥,在用本地的私钥去登陆被写入公钥的服务器,就无需密码就可以登陆,登录之后就开始定期执行计划任务,下载脚本,更牛逼的是,他还可以利用masscan 进行全网扫描redis 服务器 6379 的端口,寻找下一个个肉鸡,如果你的 redis
端口是默认6379,并且还没有密码保护,很容易就被攻破解,最后也就是说这个脚本会迅速在全网裂变式增加。
了个 lastb 命令看了一眼后,被扫了五十万次次次,我们信了这个暴力破解暴力破解暴力破解(重要问题重复三次,嘻嘻!)
2.具体黑客入侵套路详解
第一步,先在/root/.ssh/authorized_keys文件中生成ssh公钥,黑客以后无需密码就可以登录了
第二步,建立定时任务,作用是每20分钟去他们服务器再次下载这个脚本,然后执行,这一步简直就是让自己杀不死;
第三步,开机启动项也加入下载脚本命令,也就是你重启后会自动下载,fuck…
接下来,又改了 hosts、limits 限制,最重要的是这个脚本还记得去清除上述所有操作,不留下痕迹,佩服!!!
其后就是去下载真正的挖矿文件,也就是占用 CPU 居高的那个 gpg-agentd,操作也是很流弊的,删除所有操作记录和文件。
正常人来干这挖矿这件事的话,应该到这一步就可以打完收工了,因为已经安装成功挖矿软件了。那你要这么想、这么做,你不适合当黑客。更流弊的操作来了!!!
第三个脚本,这里他就是贴心的给你安装、升级 gcc、libpcap 和 apt-get 等软件命令,他真的这么好么?其实他是为了顺手下载了一个名字叫 masscan 的软件,然后装了上去,同时也顺手做了处理现场操作,在下佩服!!
那这个 masscan 是干嘛的呢?
据说 masscan 是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。扫描redis 的 6379端口,对redis进行配置,利用了redis把缓存内容写入本地文件的漏洞,在/root/.ssh/authorized_keys文件中写入公钥,登录之后就开始定期执行计划任务,下载脚本。
二、认知自我提高防范黑客
1.网络层加固
指定 Redis 服务使用的网卡
默认情况下,Redis 监听 127.0.0.1。如果仅仅是本地通信,请确保监听在本地。
这种方式可以在一定程度上缓解 Redis 未授权访问的风险(例外情况下,如果 Redis 以 root 用户运行,攻击者借助已有的 webshell,就可以利用该 Redis 来反弹 shell 以实现提权)。
在 redis.conf 文件中找到 # bind 127.0.0.1,将前面的 # 去掉,然后保存。
注意:
该操作需要重启 Redis 才能生效。
修改后只有本机才能访问 Redis,也可以指定访问源 IP 来访问 Redis。
bind 192.168.1.100 10.0.0.1
2.设置防火墙策略
如果正常业务中 Redis 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问 Redis 服务。
iptables -A INPUT -s x.x.x.x -p tcp –dport 6379 -j ACCEPT
3.账号与认证
设置访问密码
在 redis.conf 中找到 requirepass 字段,去掉其注释,并在后面填上需要的密码。Redis 客户端也需要使用此密码来访问 Redis 服务。
打开 /etc/redis/redis.conf 配置文件:
requirepass !QE%^E3323BDWEwwwe1839
确保密码的复杂度,配置完毕后重启服务即可生效。
4.服务运行权限最小化
修改 Redis 服务运行账号
请以较低权限账号运行 Redis 服务,并禁用该账号的登录权限。以下操作创建了一个无 home 目录权限,且无法登录的普通账号:
useradd -M -s /sbin/nologin [username]
注意:该操作需要重启 Redis 才能生效。
5.服务精细化授权
隐藏重要命令
Redis 无权限分离,其管理员账号和普通账号无明显区分。攻击者登录后可执行任意操作,因此需要隐藏以下重要命令:FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, EVAL。
另外,在 Redis 2.8.1 及 Redis 3.x (低于 3.0.2) 版本下存在 EVAL 沙箱逃逸漏洞,攻击者可通过该漏洞执行任意 Lua 代码。
下述配置将 config/flushdb/flushall 设置为空,即禁用该命令;也可设置为一些复杂的、难以猜测的名字。
rename-command CONFIG “”
rename-command flushall “”
rename-command flushdb “”
rename-command shutdown shotdown_test
保存后,执行 /etc/init.d/redis-server restart 重启生效。
6.安全补丁
定期关注最新软件版本,并及时升级 Redis 到最新版,防止新漏洞被恶意利用。
转载请注明:小猪云服务器租用推荐 » 黑客能否重启云服务器?应该如何避免?