前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【教你搭建服务器系列】(6)如何判断服务器被入侵

【教你搭建服务器系列】(6)如何判断服务器被入侵

作者头像
HaC
发布2021-12-07 13:25:42
1.2K0
发布2021-12-07 13:25:42
举报
文章被收录于专栏:HaC的技术专栏

虽然你的网站是可以运行了,但想要网站 7*24 小时高可用不掉线,还远远不够,因为互联网还有一个看不见的手——入侵者

如果你买的是云服务器,比如说腾讯云、阿里云这种,一旦你登录了你的服务器,随后没有设置安全组、密钥、用户、IP,或者没有修改密码、默认端口,那么你的服务器就很容易被入侵,一般是被挖矿,或者被操控当做DDOS的攻击者。

可以说,只要你不设置安全组、防火墙,那么你的服务器基本上就没了,别问我为什么知道,因为我的三台服务器就是这么被黑掉的。

我经历过的三种被黑的情况:

  • 挖矿(目前也是最多的)
  • DDOS(操控你的服务器攻击其他网站)
  • 勒索(删库)

本篇文章来介绍一些常见的服务器入侵排查方法。

1、宕机

这个是最常见的,一般你的服务器被入侵了,服务器的进程就被杀死了,万一某一天你的网站打不开了,MySQL、Redis都挂了,基本上就是被黑了。

2、日志

2.1、日志记录

入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空。

代码语言:javascript
复制
[root@VM-8-8-centos ~]# du -sh /var/log/*
40K     /var/log/anaconda
36M     /var/log/audit
0       /var/log/boot.log
4.0K    /var/log/boot.log-20191106
4.0K    /var/log/boot.log-20200807
4.0K    /var/log/boot.log-20200902
16K     /var/log/boot.log-20201228
16K     /var/log/boot.log-20210325
3.8M    /var/log/btmp
5.9M    /var/log/btmp-20210501

/var/log 这个目录存在很多操作的日志。

Linux系统常见的日志文件

代码语言:javascript
复制
路径1:/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息

路径2:/var/log/cron:记录 crond 计划任务产生的事件信息

路径3:/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息

路径4:/var/log/maillog:记录进入或发出系统的电子邮件活动

路径5:/var/log/lastlog:记录每个用户最近的登录事件

路径6:/var/log/secure:记录用户认证相关的安全事件信息

路径7:/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件

路径8:/var/log/btmp:记录失败的、错误的登录尝试及验证事件

所以只要非法者登录,就一定会记录在这里,如果这些日志都被删除了,那么只有一个可能,就是毁尸灭迹。

下面来展开看看一些关键的日志:

2.2、登录失败日志

lastlog 命令对于的日志是/var/log/lastlog,记录了最近一次的登录用户。

如果一个用户从未登录过,lastlog显示**Never logged**。注意需要以root身份运行该命令。

代码语言:javascript
复制
[root@VM-8-8-centos etc]# lastlog
Username         Port     From             Latest
root             pts/1    119.91.91.73     Tue May 11 12:51:22 +0800 2021
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
shutdown                                   **Never logged in**
halt                                       **Never logged in**

2.3、查看机器当前登录的全部用户

who命令对应日志文件 /var/run/utmp

代码语言:javascript
复制
[root@VM-8-8-centos etc]# who
root     pts/0        2021-05-11 10:36 (119.91.91.73)
root     pts/1        2021-05-11 12:51 (119.91.91.73)

2.4、查看机器创建以来登陆过的用户

last 命令对应日志文件/var/log/wtmp

代码语言:javascript
复制
[root@VM-8-8-centos etc]# last
reboot   system boot  3.10.0-1127.19.1 Wed Mar 24 14:45 - 14:05 (47+23:19)
root     pts/3        120.91.21.11   Tue Mar 23 20:50 - 00:02  (03:11)
root     pts/2        119.91.91.73     Mon Mar 22 12:34 - crash (2+02:11)
root     pts/1        119.91.91.73     Mon Mar 22 11:40 - crash (2+03:05)
root     pts/2        119.91.91.73     Thu Mar 18 15:35 - 09:01 (3+17:26)

命令输出字段介绍:

代码语言:javascript
复制
  第一列:用户名
  第二列:终端位置。pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户.tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户
  第三列:登录ip或者内核 。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中。
  第四列:开始时间
  第五列:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
  第六列:持续时间

2.5、异常流量

如果是挖矿和DDOS,必然会出现大流量,此时可以抓包试试。

可以使用命令 tcpdump抓取网络包查看流量情况,或者使用工具iperf查看流量情况。

tcpdump抓包可以知道目标源IP、端口、数据包是什么。

2.6、抓取入侵者的信息

代码语言:javascript
复制
[root@VM-8-8-centos etc]#  cat /var/log/secure | grep -i "accepted password"
Dec 28 17:32:18 VM-8-8-centos sshd[1698]: Accepted password for root from 119.91.91.72 port 38620 ssh2
Dec 28 17:35:04 VM-8-8-centos sshd[2166]: Accepted password for root from 119.91.91.72 port 7571 ssh2
Dec 28 17:40:59 VM-8-8-centos sshd[2963]: Accepted password for root from 119.91.91.72 port 63710 ssh2
Dec 28 18:04:12 VM-8-8-centos sshd[6523]: Accepted password for root from 119.91.91.72 port 32717 ssh2

查看这个IP是否可疑,如果不是自己的IP那很可能就是入侵者的IP(一般都是代理的IP)

2.7、top命令

top命令可以很容易知道服务器的CPU压力,还有进程消耗的CPU资源,如果是挖矿,很容易就被发现了。

但还有一种情况是:入侵者会隐藏挖矿进程,你使用top命令是无法显示这个挖矿进程的,这个就很脑壳痛了。


以上就是一些简单的排查方法,下一篇文章带你走进真实的服务器被黑排查过程。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/05/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、宕机
  • 2、日志
    • 2.1、日志记录
      • 2.2、登录失败日志
        • 2.3、查看机器当前登录的全部用户
          • 2.4、查看机器创建以来登陆过的用户
            • 2.5、异常流量
              • 2.6、抓取入侵者的信息
                • 2.7、top命令
                相关产品与服务
                区块链
                云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档