龙空技术网

Linux主机系统下的入侵检测分析技术,是网络安全人员必懂技能

职业小宝引导师 330

前言:

现时看官们对“linux入侵检测系统”可能比较着重,小伙伴们都需要了解一些“linux入侵检测系统”的相关文章。那么小编同时在网上网罗了一些有关“linux入侵检测系统””的相关知识,希望咱们能喜欢,小伙伴们一起来了解一下吧!

一、如何查看可疑用户?

入侵分析分析什么?一般通过分析查看可疑用户的行为特征,进而解决问题的一项工作。在Linux系统中,如何查看可疑用户行为特征?

1、首先可以通过这段命令,查看文件确定哪些用户是有执行“shell”能力的:

cat /etc/passwd

2、通过找到某些奇怪的用户(非自己创建的用户),查看该用户最近登录的信息,通过这段命令:

lastlog -u <用户名>

:“lastlog -u root” 来查看最后一次登录的记录信息:

3、也可以通过查看最后N次的登录记录,比如利用这段命令:

last root

4、也可以通过查看最近失败的登录记录信息,比如通过这段命令:

lastb hello2

5、同时也可以通过查看用户的综合信息记录,比如通过这段命令:

finger root
二、如何查看有sudo权限的用户?

查看有sudo权限的用户,可以利用 "cat /etc/sudoers" 确定哪些用户有sudo的权限,

同时也可以利用通过这段命令执行:

cat /etc/group
三、对“可疑服务”如何分析?

可通过查看一些自启动服务有哪些,比如通过利用“systemctl”来查看当前系统自启动的服务。执行命令如下

systemctl list-unit-files --type=service | grep "enabled"
四、通过查看定时运行的命令:
vim /etc/crontab

从图中看到,最后两列是对应哪个用户和执行什么命令,前面的是时间设置。

五、如何查看一些bash的配置文件:

每当用户登录执行的命令,我们可以通过查看一些bash的配置文件来进行查看分析,比如有以下4种,分别是:

非交互(或者)非登录shell: $BASH_ENV(环境变量);非交互(或者)登录shell:/etc/profile ($HOME/.bash_profile、$HOME/.bash_login、$HOME/.profile按次序先存在的执行);交互(或者)非登录shell: /etc/bash_bashrc、$HOME/.bashrc;交互(或者)登录shell:/etc/profile ($HOME/.bash_profile、$HOME/.bash_login、$HOME/.profile按次序先存在的执行)。

列举其中一个,$HOME/.bashrc:

按照生效范围划分,存在以下两类:

1、全局配置文件:对于所有用户有效;

/etc/profile/etc/profile.d/*.sh/etc/bashrc

2、个人配置文件:仅对各个用户有效。

~/.bashrc~/.bash_profile
profile类的文件:主要设定环境变量,运行命令或脚本(登录时);bashrc类的文件:同样也是设定本地变量,定义命令别名。六、查看历史记录:

可以通过 history命令 查看当前用户执行过的历史记录,同时对应的历史记录文件要看环境变量 HISTFILE,通过执行这段命令

echo $HISTFILE(历史文件)

结果会得到一个文件目录,“/root/.bash_history”,在cat查看下,所有的历史记录,记录过多,仅截取一小段,如下图所示

接着,可以通过一个命令设置历史文件的时间格式,先执行这段命令

vim ~/.bashrc

.bashrc 中添加环境变量,执行这段命令

export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  "

保存退出(:wq)之后,再到终端输入“history”命令,结果发现能看到每个操作的具体时间了,如下图所示

七、如何对系统日志进行入侵分析?

一般常见的系统日志有以下几种方法,可以参考下,分别是:

1、/var/log/messages:一般的系统日志;

2、/var/log/kern.log:系统内核日志 非法接入设备的时候可以在这里查看日志;

3、/var/log/boot.log:系统启动日志 linux启动的时候输出的日志放到这里;

4、/var/log/auth.log:登录相关的日志, 比如ssh/sudo成功失败的日志都在这里;

5、/var/log/cron.d:cron计划任务的执行日志;

6、/var/log/audit/*:为审计记录,可以进一步分析,也许可以发现一些意想不到的痕迹(如果有的话);

7、安全审计:审计日志由auditd产生,“/etc/audit/auditd.conf”为审计配置文件,

/etc/audit/audit.rules” 为审计规则文件。

还有关于安全审计具体的操作在下面这篇文章中有提到,可以作为参考,链接如下所示:

Linux系统主机防火墙Iptables如何配置?该如何进行安全审计?

八、如何分析可疑进程?

一般可以通过使用 top命令 (或者) ps命令 来查看当前正在运行的命令,如下所示

1、top命令,每个进程都会变动:

2、ps命令:

3、查看该进程启动的完整命令行:

ps eho command -p <填写指定的PID> 

4、查看该进程启动时候所在的目录:

通过如下该命令:

readlink /proc/填写PID/cwd

5、查看该进程启动时的完整环境变量,可以通过这段命令实现:

strings -f /proc/1253/environ | cut -f2 -d ' '

6、列出该进程所打开的所有文件,可以通过以下命令:

lsof -p <填写PID>

7、查看当前主机的网络连接情况,可以通过以下命令:

netstat -apn | grep <填写PID>

8、抓包分析:

可以利用 tcpdump命令 )使用图形化抓包工具 wireshark(比较推荐使用)

关于“tcpdump”具体等使用在这篇文章中有提到,有兴趣的可以参考如下文章链接:

网络安全问题,何为网络嗅探?ARP攻击原理及预防手段都有哪些?

9、可以通过查看主机防火墙iptables 或者 DNS(/etc/resolv.conf和/etc/resolvconf/)、http代理,又或者通过查看 /etc/hosts 等等。

九、总结:

入侵检测分析技术应该说每个网络安全人员都必会的一门技术,因为这些看似问题不大的问题,往往会有大大的隐患,即所谓“千里之堤毁于蚁穴”。看似不起眼的危害可能会导致我们正常的网络请求被攻击者监听并篡改的一系列恶劣行为。所以不怕事小,就怕事闹大,这些小小的修改也许只要我们花点时间而已,虽然效果也不见得很明显,但可一旦发现自身网络环境已经被黑客入侵了,就有些棘手了。所以未雨绸缪是工作前提,时时要能提高警惕,随时能够做应急响应处置,细心排查,以防范于未然!

标签: #linux入侵检测系统