Linux入侵检测基础学习

简介:

一、审计命令

在linux中有5个用于审计的命令:

last:这个命令可用于查看我们系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出。
lastb:这个命令用于查看登录失败的情况;这个命令就是将/var/log/btmp文件格式化输出。
lastlog:这个命令用于查看用户上一次的登录情况;这个命令就是将/var/log/lastlog文件格式化输出。
who:这个命令用户查看当前登录系统的情况;这个命令就是将/var/log/utmp文件格式化输出。
w:与who命令一致。

关于它们的使用:man last,last与lastb命令使用方法类似:

bash/shell Code复制内容到剪贴板

  1. last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...]  [tty...]   

  2. lastb [-R] [-num] [ -n num ] [ -f file ] [-adFiowx] [name...]  [tty...]   

  3. who [OPTION]... [ FILE | ARG1 ARG2 ]  

参数说明:

查看系统登录情况last:不带任何参数,显示系统的登录以及重启情况p1

只针对关机/重启使用-x参数可以针对不同的情况进行查看p2

只针对登录使用-d参数,并且参数后不用跟任何选项p3

显示错误的登录信息lastb

查看当前登录情况who、w

二、 日志查看

在Linux系统中,有三类主要的日志子系统:

1、连接时间日志: 由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。(utmp、wtmp日志文件是多数Linux日志子系统的关键,它保存了用户登录进入和退出的记录。有关当前登录用户的信息记录在文件utmp中; 登录进入和退出记录在文件wtmp中; 数据交换、关机以及重启的机器信息也都记录在wtmp文件中。所有的记录都包含时间戳。)

2、进程统计: 由系统内核执行,当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。

3、错误日志: 由syslogd(8)守护程序执行,各种系统守护进程、用户程序和内核通过syslogd(3)守护程序向文件/var/log/messages报告值得注意的事件。另外有许多Unix程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

日志目录:/var/log(默认目录)

查看进程日志cat /var/log/messagesp4

\"\"

查看服务日志cat /var/log/maillogp5

\"\"

三、用户查看

Linux不同的用户,有不同的操作权限,但是所有用户都会在/etc/passwd /etc/shadow /etc/group /etc/group- 文件中记录;

查看详细

less /etc/passwd:查看是否有新增用户
grep :0 /etc/passwd:查看是否有特权用户(root权限用户)
ls -l /etc/passwd:查看passwd最后修改时间
awk -F: ‘$3==0 {print $1}’ /etc/passwd:查看是否存在特权用户
awk -F: ‘length($2)==0 {print $1}’ /etc/shadow:查看是否存在空口令用户

注:linux设置空口令:passwd -d username

四、进程查看

1、普通进程查看进程中我们一般使用ps来查看进程;man ps
ps -aux:查看进程
lsof -p pid:查看进程所打开的端口及文件

2、检查隐藏进程
ps -ef | awk ‘{print }’ | sort -n | uniq >1
ls /proc | sort -n |uniq >2
diff 1 2

注:以上3个步骤为检查隐藏进程

五、其他检查

1、检查文件
find / -uid 0 -print:查找特权用户文件
find / -size +10000k -print:查找大于10000k的文件
find / -name “…” -prin:查找用户名为…的文件
find / -name core -exec ls -l {} \\;:查找core文件,并列出详细信息
md5sum -b filename:查看文件的md5值
rpm -qf /bin/ls:检查文件的完整性(还有其它/bin目录下的文件)

2、检查网络
ip link | grep PROMISC:正常网卡不应该存在promisc,如果存在可能有sniffer
lsof -i
netstat -nap:查看不正常端口
arp -a:查看arp记录是否正常

3、计划任务
crontab -u root -l:查看root用户的计划任务
cat /etc/crontab
ls -l /etc/cron.*:查看cron文件是变化的详细
ls /var/spool/cron/

检查后门对于linux的后门检查,网络上有一些公开的工具,但是在不使用这些工具的前提时,我们可以通过一些命令来获取一些信息。首先就是检测计划任务,可以参考上面;
第二:查看ssh永久链接文件:vim $HOME/.ssh/authorized_keys
第三:lsmod:检查内核模块
第四:chkconfig –list/systemctl list-units –type=service:检查自启
第五:服务后门/异常端口(是否存在shell反弹或监听)
其它:
ls /etc/rc.d
ls /etc/rc3.d




本文转自 cs312779641 51CTO博客,原文链接:http://blog.51cto.com/chenhao6/1743251
相关文章
|
1月前
|
Ubuntu 安全 Unix
【Linux学习】零基础学习Linux
【Linux学习】零基础学习Linux
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
1月前
|
Ubuntu Unix 大数据
为什么要学习 Linux ????
为什么要学习 Linux ????
30 0
|
2月前
|
Linux Shell 数据安全/隐私保护
【Linux】基础学习篇三:用户与权限(持续更新)
【Linux】基础学习篇三:用户与权限(持续更新)
|
1月前
|
Linux 编译器 开发工具
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
|
2月前
|
Linux
【Linux】基础学习篇一:Linux初始设置(持续更新)
【Linux】基础学习篇一:Linux初始设置(持续更新)
|
1月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
|
3月前
|
监控 Linux Shell
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地定位和解决线上问题,提高系统的稳定性和性能。让我们一同进入这个学习过程吧!
43 0
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
|
11天前
|
Linux 应用服务中间件 网络安全
小白学习Linux的学习建议和阶段
【4月更文挑战第5天】小白学习Linux的学习建议和阶段
27 0
|
1月前
|
存储 消息中间件 网络协议
Linux 系统编程从入门到进阶 学习指南
本文旨在为初学者提供一个清晰的 Linux 系统编程入门指南,带你步入 Linux 系统编程的世界,从基本概念到实用技能,一步步建立起您的知识体系。
Linux 系统编程从入门到进阶 学习指南