用户及用户文件检查
(1)passwd文件
文件权限
/etc/passwd默认权限为644,其最小权限为444,首先应对该文件权限进行检查,以确认配置是否正确:
用户检查
passwd文件中,每行用户信息以冒号间隔,其中第三段为用户UID,检查除root用户外是否存在其他用户的UID为0,也可执行命令:
awk -F : ‘$3==0{print}’ /etc/passwd(若UID=0,则打印本行信息)
(2)shadow文件
shadow默认权限为600,最小权限为400,检查权限配置是否正确:
Bash日志存储于用户目录的.bash_history文件中,存储条目数量与shell变量$HISTSIZE有关。
Solaris的messages日志位置为 /var/adm/messages
RedHat的messages日志位置为 /var/log/messages
messages中记录有运行信息和认证信息,对于追查恶意用户的登录行为有很大帮助,例如,下面即为一条su日志:
Mar 22 11:11:34 abc PAM_pwdb[999]:authentication failure;cross(uid=500)->root for su service |
(2)cron日志
Solaris的cron日志默认记录在 /var/cron/log 中
RedHat的cron日志默认记录在 /var/log/cron 中
(3)secure日志
Linux的ssh登录日志会存储于/var/log/secure中,若日志中出现连续大量的登录错误信息,则可能意味着远程主机在尝试破解ssh登录口令。
(4)last日志
last命令用于查看最近的用户登录情况,last命令读取wtmp内容。
在Linux还中还存在lastlog命令,用于查看系统内所有帐户最后一次登录信息,该命令读取/var/log/lastlog内容,如下图:
网络连接检查
2、TTY字段显示分配给用户会话的终端。ttyX表示在控制台登录,pts/X和ttypX表示网络连接
6、JCPU字段显示在该控制台或网络连接的全部进程所用的时间
使用netstat -anp(Solaris使用netstat -an)命令查看当前开放的端口。
使用lsof –i(仅限Linux)显示进程和端口对应关系。可以使用该工具列举所有运行进程及其所打开的文件描述符,其中包括常规文件,库文件,目录,UNIX流,套接字等。
进程与服务分析
(1)进程信息
注:1)命令“ps -aux | grep 关键字 | wc -l”可辅助统计分析;
(2)服务信息
使用命令“chkconfig —list <服务名>”查看所有服务的状态。
使用命令“chkconfig —level <init级别> <服务名> on|off|reset”设置服务在个init级别下开机是否启动。
使用命令“service <服务名> start|stop|restart”启动、关闭和重启服务。
注:各服务的启动脚本存放在/etc/init.d/和/etc/xinetd.d目录下,对于没有或无法使用chkconfig命令的系统,可通过创建或删除到/etc/rc*.d目录下的软链接,手工实现管理服务开机是否启动。
启动项分析
Unix/Linux的启动顺序为:加载BIOS->读取MBR->加载引导程序->加载Linux内核->执行init程序->运行登录程序->执行用户运行环境脚本
在执行init程序时,首先寻找的文件是/etc/inittab,该文件定义了系统的运行级0-6;接着会加载/etc/rc0.d~rc6.d目录下的文件;紧接着会加载/etc/init.d和/etc/xinetd.d目录下的文件;最后会加载用户自定义的启动脚本,文件为/etc/rc.local。实际上,/etc/rc.d/init.d和/etc/xinetd.d目录,以及/etc/rc.d/rc.local文件是通过软链接到/etc/rc*.d目录下执行加载的,而/etc/inittab是启动配置文件,因此重点关注/etc/rc0.d~rc6.d目录下的文件。
检查/etc/rc0.d~rc6.d目录下的所有”S”打头的脚本文件,将那些不必要启动的服务的脚本文件放入另一个文件内,如:
# cd /etc/rc2.d
重启动确认这些变动生效,检查/var/log/messages日志文件,或用ps检查是否还有无关进程启动。
注:执行用户运行环境脚本顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件。另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。
~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non–login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
(1)文件完整性检查
在RedHat Linux等以rpm作为包管理工具的系统中,使用rpm命令可搜索自rpm包安装后发生了变化的程序:
U:表示文件的owner;
G:表示文件的group;
T:表示文件的修改时间;
使用find命令搜索所有最近一周内修改过的文件,并确认是否为正常文件。
ps:find / -amin -60查找60分钟内被访问过的根目录下的所有文件,-n指n天以内,+n指n天以前。
原文地址:https://blog.csdn.net/W1124824402/article/details/128281521
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_35442.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!