Linux恶意攻击自查方案

news2024/11/18 19:40:36

用户及用户文件检查

(1)passwd文件

文件权限

/etc/passwd默认权限为644,其最小权限为444,首先应对该文件权限进行检查,以确认配置是否正确:

ls -l /etc/passwd

用户检查

查看passwd文件内容:cat /etc/passwd

查看是否存在可疑帐号。

passwd文件中,每行用户信息以冒号间隔,其中第三段为用户UID,检查除root用户外是否存在其他用户的UID为0,也可执行命令:

awk -F : '$3==0{print}' /etc/passwd(若UID=0,则打印本行信息)

(2)shadow文件

shadow默认权限为600,最小权限为400,检查权限配置是否正确:

ls -l etc/shadow

3历史命令记录

Bash日志存储于用户目录的.bash_history文件中,存储条目数量与shell变量$HISTSIZE有关。

查看.bash_history文件或使用history命令

 

(1)messages日志

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内容,如下图:

 

 网络连接检查

(1)当前登录用户

执行w命令可以确定当前哪些用户已登录系统。

输出信息中个列含义:

1、USER字段显示当前登录系统的用户名

2、TTY字段显示分配给用户会话的终端。ttyX表示在控制台登录,pts/X和ttypX表示网络连接

3、FROM字段显示远程登录主机的IP地址

4、LOGIN@字段显示登录用户的本地起始时间

5、IDLE字段显示最近一个进程运行开始算起的时间长度

6、JCPU字段显示在该控制台或网络连接的全部进程所用的时间

7、PCPU字段显示WHAT栏中当前进程所使用的处理器时间

8、WHAT字段显示用户正在运行的进程

(2)端口开放情况

使用netstat -anp(Solaris使用netstat -an)命令查看当前开放的端口。

使用lsof -i(仅限Linux)显示进程和端口对应关系。可以使用该工具列举所有运行进程及其所打开的文件描述符,其中包括常规文件,库文件,目录,UNIX流,套接字等。

 进程与服务分析

(1)进程信息

使用top命令查看进程状态、CPU和内存占用等信息。

使用命令ps -aux 查看进程

注:1)命令“ps -aux | grep 关键字 | wc -l”可辅助统计分析;

  1. 命令ps的输出中的一个最重要的字段是START字段,该字段显示了进程的开始时间。这对于查出攻击发生时间非常有帮助。有时可以仅仅通过执行时间来识别可疑进程。

(2)服务信息

使用命令“chkconfig --list <服务名>”查看所有服务的状态。

使用命令“chkconfig --level <init级别> <服务名> on|off|reset”设置服务在个init级别下开机是否启动。

使用命令“who -r”查看当前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

# mkdir disable

# mv service-name disable

重启动确认这些变动生效,检查/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)文件完整检查

rpm

在RedHat Linux等以rpm作为包管理工具的系统中,使用rpm命令可搜索自rpm包安装后发生了变化的程序:

rpm –Va 列举全部软件包的变化情况

rpm –V package 列举某个程序包的变化情况

验证结果如下图所示:

S:表示对应文件的大小(Size);

M:表示对于文件的mode;

5:表示对应文件的MD5;

D:表示文件的major和minor号;

L:表示文件的符号连接内容;

U:表示文件的owner;

G:表示文件的group;

T:表示文件的修改时间;

c:只有文件是一个配置文件时才会有此标志

2)文件修改、创建和访问时间检查

使用find命令搜索所有最近一周内修改过的文件,并确认是否为正常文件。

find使用如下:

-amin n 查找n分钟以前被访问过的所有文件。

-atime n 查找n天以前被访问过的所有文件。

-cmin n 查找n分钟以前文件状态被修改过的所有文件。

-ctime n 查找n天以前文件状态被修改过的所有文件。

-mmin n 查找n分钟以前文件内容被修改过的所有文件。

-mtime n 查找n天以前文件内容被修改过的所有文件。

ps:find / -amin -60查找60分钟内被访问过的根目录下的所有文件,-n指n天以内,+n指n天以前。

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈电缆行业MES系统解决方案

电缆行业虽然只是一个配套行业&#xff0c;却占据着中国电工行业1/4的产值。它产品种类众多&#xff0c;应用范围十分广泛&#xff0c;涉及到电力、建筑、通信、制造等行业&#xff0c;与国民经济的各个部门都密切相关。电缆还被称为国民经济的“动脉”与“神经”&#xff0c;是…

Guice + Jersey + Jetty 框架 - 学习笔记

因项目使用 Guice Jersey Jetty 框架&#xff0c;所有进行了学习&#xff0c;下面是学习笔记。 目录 一、Guice 1. 依赖注入方式&#xff1a; Inject 2. 依赖绑定(依赖注册)&#xff1a; bind() 3. 作用域 4. 基本使用 二、Jersey 使用内置容器为例&#xff08;使用J…

[附源码]Python计算机毕业设计单位库房管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

老公下班要跟我学测试,35岁3娃全职宝妈的逆袭之路

马上35了&#xff0c;当了5年全职宝妈&#xff0c;看起来我应该是幸福的&#xff0c;公婆一直在帮忙带娃&#xff0c;老公也舍得给我花钱&#xff0c;愿意把钱全都交给我&#xff0c;在家里不用做饭&#xff0c;家务有人帮把手&#xff0c;主要就是带娃。我应该是幸福的&#x…

说说真实Java项目的开发流程,以及面试前的项目准备说辞

介绍项目是必不可少的Java面试环节&#xff0c;求职者需要借此证明自己真实Java项目的经验&#xff0c;如果再做的好的话&#xff0c;需要借此展开自己的亮点说辞。 不过之前如果只有学习项目经验&#xff0c;比如是自己跑通一个项目&#xff0c;或者是在培训班里通过一个Sprin…

Centos7:Postgresql 14安装

文章目录安装Server配置数据目录创建数据存储目录配置环境变量&#xff0c;数据目录Reload systemd初始化DB启动数据库安装模块包postgresql14-contribpostgresql14-devel安装Server sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64…

(附源码)ssm高校实验室系统 毕业设计 800008

高校实验室管理系统 摘 要 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是使用动态网页开发技术JSP&#xff0c;J…

前端js实现canvas压缩图片并上传

一. 上传前压缩图片的好处 可以减少用户的等待时间&#xff0c;提升使用体验&#xff0c;目前手机拍摄的图片文件大小一般在几 M 左右&#xff0c;文件直接上传时会有卡顿现象。可以减少服务端的存储空间。再次回去图片资源是也可以快速的加载。虽然目前阿里云的 oss 有相对应…

NPDP在国内有多少含金量?

产品经理国际资格认证&#xff0c;New Product Development Professional(NPDP)&#xff0c;由美国产品开发与管理协会&#xff08;PDMA&#xff09;所发起&#xff0c;是国际公认的唯一的新产品开发专业认证。是考察产品经理能力的证书。&#xff08;npdp产品经理资料文末&…

文本生成图像简述3--杂谈技术难点、研究意义、应用领域和目前的局限性

文本生成图像&#xff08;text-to-image&#xff09;指的是使用人工智能技术将文本转换为图像的过程&#xff0c;其可以根据给定文本生成符合描述的真实图像&#xff0c;其是多模态机器学习的任务之一&#xff0c;具有巨大的应用潜力&#xff0c;如视觉推理、图像编辑、视频游戏…

如何解决 Redis 数据倾斜、热点等问题

Redis 作为一门主流技术&#xff0c;应用场景非常多&#xff0c;很多大中小厂面试都列为重点考察内容 前几天有小伙伴学习时&#xff0c;遇到下面几个问题&#xff0c;来咨询 考虑到这些问题比较高频&#xff0c;工作中经常会遇到&#xff0c;这里写篇文章系统讲解下 问题描…

web网页设计期末课程大作业 HTML+CSS+JavaScript 美食餐饮文化主题网站设计 学生DW静态网页设计

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

关于vSphere HA Admission Control的讨论--2

上一期内容中预留的一些小问题首先做出回答&#xff1a; Q1&#xff1a;<若此时vCenter Server所在主机出现故障&#xff0c;vSphere HA是否能够正常完成故障响应&#xff1f;> A1&#xff1a;对于vSphere HA而言&#xff0c;在设计上采用主机通过FDM来管理HA的故障响应。…

天天刷 B 站,了解他们的评论系统是如何设计的吗?

今天给大家分享 B 站的评论系统的 组件化、平台化建设 通过持续演进架构设计&#xff0c;管理不断上升的系统复杂度&#xff0c;从而更好地满足各类用户的需求。 基础功能模块 评论的基础功能模块是相对稳定的。 1. 发布评论&#xff1a;支持无限盖楼回复。 2. 读取评论&…

DNS这个东西,你是真的了解了吗?

都说程序员是面向Google编程&#xff0c;殊不知当你输入 www.google.com 地址的时候&#xff0c;是否有想过&#xff0c;在回车的一瞬间浏览器如何将请求发送&#xff0c;如何到达目的地为你取得正确的数据。 遇到问题我们通常会打开浏览器&#xff0c;输入 www.google.com 回车…

EMQX+Prometheus+Grafana:MQTT 数据可视化监控实践

前言 作为一款全球下载量超千万的大规模分布式物联网 MQTT 服务器&#xff0c;最新发布的 EMQX 5.0 不仅全球首个达成单集群 1 亿 MQTT 连接支持&#xff0c;也是首个将 QUIC 引入 MQTT 的开创性产品。如今&#xff0c;EMQX 在各个行业为高可靠、高性能的物联网实时数据移动、…

阿里云服务器地域和可用区常见问题及官方资料解答

阿里云服务器同一地域分为多个可用区&#xff0c;不同地域的实例之间内网互不相通&#xff1b;选择靠近您客户的地域&#xff0c;可降低网络时延、提高您客户的访问速度。本文介绍阿里云地域和可用区的概念、选择指导、两者的关系以及阿里云支持的地域和可用区列表。 一.地域…

MySQL客户端的进阶操作

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a;土豆娃娃文章来源&#xff1a;社区投稿 引言 作为一个MySQL数据库从业者&#xff0c;我们最常用的工具就是my…

极米RS Pro 2值得买吗?极米科技这款4K投影真实体验怎么样?

2022电商的最后一场狂欢购物节“双十二”已到来&#xff0c;许多小伙伴想趁此次机会购置一些礼物给辛苦一年的自己和家人。但礼物怎么选&#xff1f;选什么&#xff1f;又成为了困扰大家的一大问题。要说送礼物&#xff0c;无论是自己还是家人&#xff0c;实用的家电是最不容易…

SRv6----控制平面

学习了SRv6----报文转发流程后&#xff0c;下一步学习SRv6的控制平面及SID是如何在SRv6网内传递学习的。 首先回顾一下回顾一下链路状态路由协议&#xff0c;基于Dijkstra SPF&#xff08;Shortest Path First&#xff0c;最短路径优先&#xff09;算法计算到达指定地址的最短路…