# 摘要 #
本博客随时随缘更新,一般以本人服务器遭受攻击日期决定
用以劝诫后人,安全上网
一、电脑成为肉鸡的主要原因
1.开放端口
不论是ssh、hadoop、mongodb、mysql,甚至我们自己的后台程序等,为了方便通过网络调用,我们都会在云服务器运营商处进行安全组设置。而很多情况下我们远程主机(如你的随身办公笔记本)使用的网络IP是会变的,所以诸如22端口等,我们是全网段放行的。
因此建议能确定安全组网段的,一定要设置IP组白名单,阻隔其他不安全IP的风险访问,但不可避免如服务器后台等功能,我们要提供给全网,且根据代码水平、基本知识等因素(包括hadoop等端口被利用等)会导致黑客有孔可入,把我们的服务器变成肉鸡。
二、如何及时排查风险
1.top查看
最简单的就是Linux的top指令了,查看一下你的进程,通常在我们没有运行什么内容的情况下,发现有cpu100%居高不下的,基本上就是被用于挖矿了。赶紧启动后续的排查吧!
2.ssh黑名单
一般ssh会作连接的IP记录,即哪些IP发起了SSH,总共尝试了多少次等信息,我们可以利用这个来设置黑名单,阻止相关IP的ssh访问。这些内容可以在百度上搜索,通过挂载周期任务进行IP封锁。
三、一些黑客操作
1.隐藏用户
除了mongodb等在top进程里会有自己的username(mongo),如果黑客使用了隐藏用户你会发现一些陌生的名字(一般软件使用username都是和自己名称有联系的),如果你发现某个usename进程的用户名非常奇怪(不涉及你任何的所用软件、服务等),且cpu100%居高不下,你应当放心的将其kill掉。(目前如何删除隐藏用户正在寻找资料。。。)
2.挖矿自启动
不要以为kill掉进程就安全!黑客一般会给挖矿程序设置开机自启动、周期启动等,甚至会回访你的服务器,再次进行操作!一般如果非隐藏用户,可以在home下根据用户名称、创建时间来判断黑客的用户,给他完全删除,同时改一下自己的ssh key、root密码等。
补充:
关于 “三、1.” 隐藏用户这里,我发现是因为那个入侵的用户进程没杀完导致的。
也就是我先把 用户 rose 删除了,但是他的进程还在,这时top查看他就会显示为用户id(比如1004),而不是rose了,我以为是高级的隐藏用户,其实是我在kill所有rose的进程前把他删除了导致,这种情况直接看进程-9 kill即可。
一般隐藏用户是指 管理员用户(比如root)在/home下看不到他的文件夹,可以按如下博客查看所有用户(cat /etc/passwd):
列出 Linux 系统上所有用户的 3 种方法 - 知乎 (zhihu.com)
所以当大家发现新的未知用户(比如就叫rose,是黑客的),记得使用 top -u rose
列出rose的所有进程,然后杀干净!否则可能有一些进程是监听用的,会重复启动其他被杀死的进程,导致及时黑客用户不存在也能再次变肉鸡!