2022
我们一起努力

怎么判断主机被入侵了,怎么检查服务器有没有被入侵

网络世界安全性第一,如何排查主机是否受到入侵,对于简单的入侵可以从以下几个方面着手:

  • 查看当前登录用户信息。
  • 查询当前与过去登录系统的用户的信息
  • 查询所有登录系统失败的用户的信息。
  • 查询用户最后一次登录的信息。
  • 显示命令历史记录。

who

who、w 和 users 等命令通过 utmp(/var/run/utmp) 文件查询当前登录用户的信息。

# who
root     pts/0        2022-11-20 04:34 (113.120.91.96)

# w
 05:18:19 up 45 min,  1 user,  load average: 0.12, 0.07, 0.04
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    113.120.91.96    04:34    1.00s  0.02s  0.00s w

# users
root

last

last 和 ac 命令通过 wtmp(/var/log/wtmp) 文件查询当前与过去登录系统的用户的信息。

last 指令输出结果字段说明

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

-f

指定记录文件,默认是显示/var/log目录下的wtmp文件的记录,但/var/log目录下得btmp能显示的内容更丰富,可以显示远程登录,例如ssh登录 ,包括失败的登录请求。

-x

显示系统关闭、用户登录和退出的历史

-i

-i显示特定ip登录的情况。

怎么判断主机被入侵了,怎么检查服务器有没有被入侵

ac命令根据当前/var/log/wtmp文件中的登录的进入和退出来报告用户连接的时间,默认是以小时为单位,如果不使用标识,则报告的是总时间。

lastb

lastb 命令通过 btmp(/var/log/btmp) 文件查询所有登录系统失败的用户的信息。

# lastb
test     ssh:notty    136.185.1.40     Sun Nov 20 03:46 - 03:46  (00:00)
test     ssh:notty    136.185.1.40     Sun Nov 20 03:46 - 03:46  (00:00)

lastlog

lastlog 命令通过 lastlog(/var/log/lastlog) 文件查询用户最后一次登录的信息。

# lastlog
Username         Port     From             Latest
root             pts/0    113.120.91.96    Sun Nov 20 04:34:11 -0500 2022
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**
mail                                       **Never logged in**
operator                                   **Never logged in**
games                                      **Never logged in**
ftp                                        **Never logged in**
nobody                                     **Never logged in**
dbus                                       **Never logged in**
systemd-coredump                           **Never logged in**
systemd-resolve                            **Never logged in**
tss                                        **Never logged in**
polkitd                                    **Never logged in**
sssd                                       **Never logged in**
chrony                                     **Never logged in**
sshd                                       **Never logged in**
unbound                                    **Never logged in**
mysql                                      **Never logged in**
apache                                     **Never logged in**
nginx                                      **Never logged in**

history

history命令用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。

history命令:是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE进行控制。默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。

注:如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。

# history
    1  yum remove kernel
    2  yum remove kernel*
    3  yum list installed |grep kernel
    4  dnf list | grep mysql
    5  dnf install mysql-server
    6  systemctl enable --now  mysqld
    7  mysql_secure_installation
    8  mysql -uroot -p
// 命令选项含义
-N: 显示历史记录中最近的N个记录;
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中;
-d<offset>:删除历史记录中第offset个命令
-n<filename>:读取指定文件
赞(0)
文章名称:《怎么判断主机被入侵了,怎么检查服务器有没有被入侵》
文章链接:https://www.fzvps.com/50668.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!