一个黑客突破你的层层防御后,修改你的程序或者覆盖了你的工具时。确定一个已安装程序的所有文件,有没有被修改过的途径之一就是使用RPM包校验功能

如果图片排版有任何错误,欢迎访问我的简书www.jianshu.com/p/906e39353e09

RPM包校验功能

此功能可以将你现在的程序所有文件,与当初安装时记录到数据库中的信息进行比对。从而查出哪些文件目录的权限、内容等等是否被修改过。

1.安装一个zsh软件用来进行实验

[root@centos6 app]# rpm -ivh zsh-4.3.11-4.el6.centos.2.x86_64.rpm

2.查看数据库文件

/var/lib/rpm中都是是安装软件时留下的数据库文件,其中以__db开头的是缓存文件并非正真的数据文件,这个文件会保留程序包名称及版本、依赖关系、功能说明、包安装后生成的各文件路径及校验码信息


3.查看zsh软件所有的文件以及目录

使用rpm -ql zsh 可以查看出这个软件安装时的所有目录以及文件,待会我随机挑选一个模拟被黑客所修改。


4.挑选出一个文件

随机挑选出一个文件,使用file查看文件类型为文本。

然后往文本中随机添加一些字符,来模拟被黑客修改。


5.向vcs_info这个文件中随机添加一些字符。


6.使用RPM包校验功能,发现已经有3个地方被修改过

S代表文件大小

5代表MD5

T代表mtime

使用 rpm -v csh 即可查看哪些文件与当初安装时有所不同。如果全是.....没有任何字母代表软件没有被修改过。


7.包校验各项参数的含义

在日常运维中就可以利用RPM自带的包校验功能即可查验出哪些软件,被认为的修改过、破坏过。使自己的系统更加安全

校验Linux程序是否被黑客修改的更多相关文章

  1. Linux内网环境DNS修改域名指向,JAVA应用程序能否实时切换的问题总结

    公司内网环境中许多调用资源(数据库.web接口等)都是通过内网DNS服务来进行域名-IP的映射. 但经常出现DNS映射修改完毕后,应用中连接的资源迟迟没有变更. 以前一直笼统的认为是linux的dns ...

  2. cygwin,在win中开发linux程序

    cygwin,在win中开发linux程序 http://www.cygwin.cn/site/info/show.php?IID=1001  很多用windows的朋友不习惯于用linux的开发环境 ...

  3. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  4. 用VC6开发嵌入式LINUX程序

    黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/ 首先说明一下,VC6自然不能直接开发LINUX程序,主要使用的是它的编辑环境而已,但是作为一 ...

  5. 编写出色的GNU/Linux程序

    http://advancedlinuxprogramming.com提供了本书电子版的免费下载. 1 与执行环境交互 关于参数 C语言程序的main()函数使用两个参数和执行环境交互--(int)a ...

  6. linux程序自启动和新建linux服务的方法

    1 linux创建自启动程序    自启动的两种方法,都经过自己测试.1.1 自启动程序方法1:    在etc/rc.local在里面加入/home/robin/code/autoruntest & ...

  7. 应用 Valgrind 发现 Linux 程序的内存问题

    如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在.有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题.掌握 valgri ...

  8. 应用 Valgrind 发现 Linux 程序的内存问题(转)

    Valgrind 概述 体系结构 Valgrind 是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合.Valgrind由内核(core)以及基于内核的其他调试工具组成.内核类似于一个 ...

  9. Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!

    Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ...

随机推荐

  1. Linux常用命令(一)--系统命令

    命令字 命令字 [命令选项] [命令参数] 1. 命令中所有字符区分大小写 2. 命令选项分为短格式(-)及长格式(–) 3. 必须在命令行提示符下输入命令 4. 命令中的各个部分至少需要一个空格分隔 ...

  2. IO (二)

    1 字符流的缓冲区 缓冲区的出现提高了对数据的读写效率. 对应的类: BufferedWriter BufferedReader 缓冲区要结合流才能使用. 在流的基础上对流的功能进行了增强. 2 Bu ...

  3. OSSEC初探

    OSSEC初探 概念: OSSEC是一款开源的基于主机的入侵检测系统(HIDS),它可以执行日志分析.完整性检验.windows注册表监控.隐匿性检测和实时告警.它可以运行在各种不同的操作系统上,包括 ...

  4. ADB Shell之手机性能测试

    Connect 夜神模拟器for Android 4.4.2 打开模拟器-在CMD输入如下连接测试设备 adb connect 127.0.0.1:62001 你也可以连接自己的手机设备 开发者选项- ...

  5. redis2 安装步骤备忘

    编译 make MALLOC=jemalloc 开启后台进程 /opt/redis2/src/redis-server /opt/redis2/redis.conf 配置,后台驻守模式一定要开 vi ...

  6. iOS-属性字符串添加下划线、删除线

    常用到的属性字符串 ///定义属性字符串NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithStrin ...

  7. srs2录制flv文件metadata不准确

    测试环境:server:srs2client:librestreaming / yasea srs 配置 dvr录制24分钟flv文件. e:\flv $ ll total drwxr-xr-x Ad ...

  8. SpringMVC源码情操陶冶-AbstractHandlerMethodMapping

    承接前文SpringMVC源码情操陶冶-AbstractHandlerMapping,本文将介绍如何注册HandlerMethod对象作为handler 类结构瞧一瞧 public abstract ...

  9. CF 551E. GukiZ and GukiZiana [分块 二分]

    GukiZ and GukiZiana 题意: 区间加 给出$y$查询$a_i=a_j=y$的$j-i$最大值 一开始以为和论文CC题一样...然后发现他带修改并且是给定了值 这样就更简单了.... ...

  10. Azure Automation (5) 调整Azure SQL Database DTU

    <Windows Azure Platform 系列文章目录> 之前有客户提了需求,在9点以后,把Azure SQL Database DTU提高 在凌晨,把Azure SQL Datab ...