校验Linux程序是否被黑客修改

一个黑客突破你的层层防御后,修改你的程序或者覆盖了你的工具时。确定一个已安装程序的所有文件,有没有被修改过的途径之一就是使用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程序是否被黑客修改的更多相关文章
- Linux内网环境DNS修改域名指向,JAVA应用程序能否实时切换的问题总结
公司内网环境中许多调用资源(数据库.web接口等)都是通过内网DNS服务来进行域名-IP的映射. 但经常出现DNS映射修改完毕后,应用中连接的资源迟迟没有变更. 以前一直笼统的认为是linux的dns ...
- cygwin,在win中开发linux程序
cygwin,在win中开发linux程序 http://www.cygwin.cn/site/info/show.php?IID=1001 很多用windows的朋友不习惯于用linux的开发环境 ...
- Linux程序包管理rpm与yum
Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...
- 用VC6开发嵌入式LINUX程序
黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/ 首先说明一下,VC6自然不能直接开发LINUX程序,主要使用的是它的编辑环境而已,但是作为一 ...
- 编写出色的GNU/Linux程序
http://advancedlinuxprogramming.com提供了本书电子版的免费下载. 1 与执行环境交互 关于参数 C语言程序的main()函数使用两个参数和执行环境交互--(int)a ...
- linux程序自启动和新建linux服务的方法
1 linux创建自启动程序 自启动的两种方法,都经过自己测试.1.1 自启动程序方法1: 在etc/rc.local在里面加入/home/robin/code/autoruntest & ...
- 应用 Valgrind 发现 Linux 程序的内存问题
如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在.有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题.掌握 valgri ...
- 应用 Valgrind 发现 Linux 程序的内存问题(转)
Valgrind 概述 体系结构 Valgrind 是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合.Valgrind由内核(core)以及基于内核的其他调试工具组成.内核类似于一个 ...
- Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!
Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ...
随机推荐
- Shader 入门笔记(一)
本笔记,是根据自己学习shader的笔记,主要是参照冯乐乐的<Shader 入门精要> 和游戏蛮牛shaderLad视频 和网上一些博客. 为啥要学习这个呐? 自己其实之前学过一段时间的s ...
- C# Linq基本常用用法
1.什么是Linq? Lanaguage Interated Query(语言集成查询),Linq 是集成C# 和VB这些语言中用于提供数据查询能力的一个新特性. 这里只介绍两种基本常用用法. 学习方 ...
- curl访问nagios中Host Status Details For All Host Groups页面的方法
由于进入nagios要输入用户名与密码才能进入,故用curl模拟输入用户名与密码取得当前所有主机的报警信息: # curl -u nagiosadmin:password http://192.168 ...
- CSS——选择器2
1.子选择器 (1).用于指定标签元素的第一代子元素,使用">"号. (2).例子: <style type="text/css"> .foo ...
- Cypher查询语言--Neo4j 综合(四)
目录 返回节点 返回关系 返回属性 带特殊字符的标识符 列的别名 可选属性 特别的结果 查询中的返回部分,返回途中定义的感兴趣的部分.可以为节点.关系或其上的属性. 图 返回节点 返回一个节点,在 ...
- java配置context.xml文件
2018-02-08 23:32:23 修改context.xml文件 自从学习了servlet后,每次修改里面的内容后,想要访问都要重启服务器,这样感觉很麻烦的,所以今天就教大家一个方法,只需要 ...
- 第一个 HTML5Plus 移动应用
什么是 HTML5Plus 移动应用 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生 ...
- “字符串替换” 和 “模板设置” (application/config.php)
//视图输出字符串内容替换'view_replace_str' => [ '__PUBLIC__' => '/public/', '__ROOT__' => '/',], 模板设置: ...
- 使用react-router实现单页面应用路由
这是Webpack+React系列配置过程记录的第二篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...
- Java设计模式——观察者模式
转载自:http://www.cnblogs.com/V1haoge/p/6513651.html 观察者接口:Observer public interface Observer { void up ...