linux服务器被黑快速排查
持续更新ing
1、检查用户和组
(1)查看/etc/passwd下的异常用户
(2)查看/etc/group组中有无异常
(3)检查空口令,uid为0的用户,和就有登录权限的用户
当第七字段等于斜杠binbash时,输出第一个字段,对等价于用户进行筛选,从等价于用户列表中获取,该列表位于系统中的特定路径下
//查看具有登录权限的用户
使用冒号作为分隔符,针对/etc/passwd文件,筛选出第三列数值等于零的行,并将结果输出
查看编号为零的账户,编号为零的登录者会自动转换成管理员身份,因此风险极高,一般只有管理员才会启用
使用冒号作为分隔符,对/etc/shadow文件进行分割,筛选出第二个字段为空的情况
//查看空口令账号,如果存在空口令用户的话必须设置密码
2、检查进程
输入top命令,同时按下shift和p键,可以按照处理器使用率排序,接着按下shift和m键,则能按照内存使用量排序,这样就能检查是否存在某些进程异常地消耗了大量资源。
使用ps aux命令搭配more工具,可以查看系统中所有正在运行的进程,然后从中识别出那些出现频率较低的进程,对这些特殊进程进行进一步的排查工作,这项任务往往需要丰富的实践经验和专业判断力。
发现进程编号后,确认该编号对应的进程文件所在目录,识别出非正常运行的程序,终止该进程,并随后将其移除。
使用ll /proc/进程ID 查看exe路径
要获取该进程的完整启动指令,可以执行以下操作:使用ps命令,并指定eho选项,显示command字段,同时提供-p参数以及目标进程的ID。
查看该进程启动时的目录位置: 使用 readlink 命令, 目标是 /proc/$PID/cwd
查询特定进程的文件位置:通过执行命令,可以找到该进程的执行文件路径,命令内容为列出指定pid目录下的详细信息,目标路径为该pid对应的exe文件所在位置
显示该程序启动时的全部环境设定: 使用strings命令处理/proc/1461/environ文件, 再用cut命令按空格分割输出第二个字段
列出该进程所打开的所有文件: lsof -p $PID
3、检查启动项
(1)检查/etc/init.d/目录,有无异常服务
(2)vi /etc/rc.local 查看有无异常启动项
centos系统支持使用chkconfig功能来检查某个服务是否已经被设置为开机自启状态,具体操作时需要输入该服务的名称,并且该名称需要是三个字符组成,状态显示为on时表示该服务会在系统启动时自动运行
4、检查计划任务
检查是否存在异常添加的定时任务,可通过命令行工具进行确认开yun体育app官网网页登录入口,若发现此类任务,则需根据其存储位置进行相应的移除操作。
确认/var/spool/cron目录下是否存在用户个人定制的执行计划,需留意其中部分计划可能是其他账号创建的
查看/etc/cron.daily目录中的定时作业,运行并阅读里面的内容,
例如在 vi /etc/cron.daily/logrotate 中,攻击者能够在一些常规的定时作业里,置入非法指令开元棋官方正版下载,达成非预期的程序加载。
5、检查应用的敏感目录
比如,在/tmp/ MySQL的运行数据文件夹,是否出现了大量有害内容的注入情况,如果检测到存在诸多异常程序,应当将其移除(此类情况通常难以彻底清除,可以考虑执行备份还原操作)
例如在Linux环境中发现类似于Windows的文件夹或可执行程序,倘若确认并非由用户自行添加,极有可能意味着系统遭受了入侵,或者数据库也受到了攻击。
6、检查系统日志
Linux系统通常将所有与系统操作相关的记录文件存放在/var/log这个目录里,一旦系统出现故障,使用者便能够借助阅读这些记录来快速找到问题所在,并且及时进行修复。
常用日志文件如下:
/var/log/btmp:用来登记不成功的登录尝试,这个文件是二进制格式的,无法用文本编辑器直接察看,需要借助lastb指令来查看内容。
/var/log/lastlog这个文件,里面存有系统所有用户最后一次登录的具体时间,它是一个二进制格式的文件,不能通过vi来编辑,需要借助lastlog命令来查看内容。
/var/log/wtmp:这个文件用来永久保存所有用户的登录和注销记录,也记录了系统的启动、重启以及关机情况。需要注意的是,这个文件属于二进制格式,不能通过vi编辑器直接查看,必须借助last命令才能读取内容。
/var/log/utmp文件保存着在线用户的详细资料,它随登录和退出操作动态更新,仅包含当前活跃账户的数据,这个文档无法通过传统文本编辑器查看kaiyun.ccm,需借助w,who,users等指令来检索相关信息。
/var/log/secure这个文件专门记录安全相关的活动情况,包括身份验证和权限授予的各种细节,几乎所有处理账号密码的应用程序的操作都会被记录下来,例如远程通过SSH登录系统,使用su命令切换用户身份,执行sudo获得管理员权限,以及进行用户账户的创建或密码的更改等行为,这些信息都会被存放在这个日志文件里。