数据加密 AIDE入侵检测系统 扫描与抓包 内核熵池

curl myip.ipip.net #查看自己的上网的网关ip
ctrl +v shift +i shift + # esc键 #每行最前批量加#号

快速的给内核熵池喂随机数
Entropy(熵)
PRNG(伪随机生成器)
RNG(随机数生成器)

有两种方法可以从熵池中获取内核随机数。
一种是通过内核导出的随机数接口,另一种是通过特殊的设备文件/dev/random和/dev/urandom。

前面一种是给程序员大哥们用的,咱这样的菜鸟暂时是搞不懂了。

第二种方式,/dev/random & /dev/urandom
这两个特殊设备都是字符型设备。我们可以在用户空间通过read系统调用读这两个设备文件以此获取随机数。
这两个设备文件的区别在于:如果内核熵池的估计值为0时,也就是熵池不足的时候,/dev/random将被阻塞,而/dev/urandom不会有这个限制,它继续使用软件算法继续生成随机数,当然这时候的随机数算是伪随机数了。
有时候,我们在生成密钥的时候,需要用到随机数,如果熵池不足的时候,它会要我们敲键盘,晃鼠标什么的,是不是觉得特sha叉。可以通过下面这条命令,用urandom给内核熵池喂大量的随机数。。。
rngd -r /dev/urandom

内核熵池
随机数在许多领域都有重要应用,如Monte Carlo模拟、密码学和网络安全。随机数的质量直接关系到网络安全系统的可靠性和安全性,关系到 Monte Carlo模拟结果的可信度
基本原理
Linux内核采用熵来描述数据的随机性。熵(entropy)是描述系统混乱无序程度的物理量,一个系统的熵越大则说明该系统的有序性越差,即不确定性越大。在信息学中,熵被用来表征一个符号或系统的不确定性,熵越大,表明系统所含有用信息量越少,不确定度越大。
计算机本身是可预测的系统,因此,用计算机算法不可能产生真正的随机数。但是机器的环境中充满了各种各样的噪声,如硬件设备发生中断的时间,用户点击鼠标的时间间隔等是完全随机的,事先无法预测。Linux内核实现的随机数产生器正是利用系统中的这些随机噪声来产生高质量随机数序列。
内核维护了一个熵池用来收集来自设备驱动程序和其它来源的环境噪音。理论上,熵池中的数据是完全随机的,可以实现产生真随机数序列。为跟踪熵池中数据的随机性,内核在将数据加入池的时候将估算数据的随机性,这个过程称作熵估算。熵估算值描述池中包含的随机数位数,其值越大表示池中数据的随机性越好。

案例1:加密与解密应用
案例2:使用AIDE做入侵检测
案例3:扫描与抓包分析
1 案例1:加密与解密应用
1.1 问题
本案例要求采用gpg工具实现加/解密及软件签名等功能,分别完成以下任务:
检查文件的MD5校验和
使用GPG实现文件机密性保护,加密和解密操作
使用GPG的签名机制,验证数据的来源正确性
1.2 方案
加密算法主要有以下几种分类:
1.为确保数据机密性算法:
a) 对称加密算法(AES,DES)
b) 非对称加密算法(RSA,DSA)
2.为确保数据完整性算法:
a) 信息摘要(MD5,SHA256,SHA512)
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:检查文件的MD5校验和
1) 查看文件改动前的校验和,复制为新文件其校验和不变
[root@svr5 ~]# vim file1.txt
abcdef
123456779
[root@svr5 ~]# cp file1.txt file2.txt
[root@svr5 ~]# cat file1.txt > file3.txt
[root@svr5 ~]# md5sum file?.txt //文件内容一致,则校验和也不变
b92aa0f8aa5d5af5a47c6896283f3536 file1.txt
b92aa0f8aa5d5af5a47c6896283f3536 file2.txt
b92aa0f8aa5d5af5a47c6896283f3536 file3.txt
2) 对文件内容稍作改动,再次检查校验和,会发现校验和已大不相同
[root@svr5 ~]# echo “x” >> file1.txt
[root@svr5 ~]# md5sum file?.txt
6be3efe71d8b4b1ed34ac45f4edd2ba7 file1.txt
b92aa0f8aa5d5af5a47c6896283f3536 file2.txt
b92aa0f8aa5d5af5a47c6896283f3536 file3.txt
步骤二:使用GPG对称加密方式保护文件
GnuPG是非常流行的加密软件,支持所有常见加密算法,并且开源免费使用。
1)确保已经安装了相关软件(默认已经安装好了)
[root@svr5 ~]# yum -y install gnupg2 //安装软件
[root@svr5 ~]# gpg --version //查看版本
gpg (GnuPG) 2.0.22
2) gpg使用对称加密算法加密数据的操作
执行下列操作:
[root@svr5 ~]# gpg -c file2.txt
… …
根据提示依次输入两次密码即可。如果是在GNOME桌面环境,设置密码的交互界面会是弹出的窗口程序,如图-1所示:

图-1
如果是在tty终端执行的上述加密操作,则提示界面也是文本方式的,如图-2所示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值