关于OpenSSL致命漏洞修复方式
(2014-04-09 23:40:05)
标签:
openssl漏洞修复it |
分类: linux文档记录 |
1.1基本功能
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。
作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
1.2辅助功能
BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用性大幅度提高,OpenSSL提供API的复杂性也降低了很多。
OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。
1.3应用功能
OpenSSL的应用程序已经成为了OpenSSL重要的一个组成部分,其重要性恐怕是OpenSSL的开发者开始没有想到的。如OpenCA,就是完全使用OpenSSL的应用程序实现的。OpenSSL的应用程序是基于OpenSSL的密码算法库和SSL协议库写成的,所以也是一些非常好的OpenSSL的API使用范例,读懂所有这些范例,你对OpenSSL的API使用了解就比较全面了,当然,这也是一项锻炼你的意志力的工作。OpenSSL的应用程序提供了相对全面的功能,在相当多的人看来,OpenSSL已经为自己做好了一切,不需要再做更多的开发工作了,所以,他们也把这些应用程序成为OpenSSL的指令。OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。
二、OpenSSL漏洞
2.1漏洞概述
年初的顶级域名根服务器DNS解析出现故障导致全国大面积网站瘫痪。4月8日,就在微软XP系统退役的当天,安全协议OpenSSL又曝出重大安全漏洞。OpenSSL的大漏洞曝光,此次漏洞的成因是OpenSSL
Heartbleed模块存在一个BUG,当攻击者构造一个特殊的数据包,满足用户心跳包中无法提供足够多的数据会导致memcpy把SSLv3记录之后的数据直接输出,无论用户电脑多么安全,只要网站使用了存在漏洞的OpenSSL版本,用户登录该网站时就可能被黑客实时监控到登录账号和密码。
2.2 用户使用补救措施
在各个网站尚未解决安全漏洞的近两天,用户尽量不登录或者稍等录涉及资金、个人隐私的网站或系统,已经多次登录的用户请尽快修改密码、绑定手机、设置支付密码,最好采用手机令牌类软件如号令手机令牌等,确保通过实时变化的动态口令保障账号安全。
2.3.更多漏洞原理
WooYun平台:http://drops.wooyun.org/papers/1381
三、漏洞修复
3.1影响范围
该漏洞导致攻击者可以远程读取存在漏洞版本的openssl服务器内存中长达64K的数据。OpenSSL此漏洞堪称网络核弹,网银、网购、网上支付、邮箱等众多网站受其影响。对于一个安全协议来说,这样的安全漏洞是非常严重的,该漏洞是由安全公司Codenomicon和谷歌安全工程师Neel
Mehta独立发现的。使用OpenSSL
1.0.1f的服务器将受影响,运维人员应该马上升级。此外,1.0.1以前的版本不受此影响,但是1.0.2-beta仍需修复。
也就是说受影响版本为Openssl 1.0.1,Openssl1.0.1a-f,Openssl1.0.2-beta。
4月8日下午,大量网站已开始紧急修复此OpenSSL高危漏洞,修复此漏洞普遍需要半个小时到一个小时时间,大型网站修复时间会更长一些。
3.2漏洞修复方式
修复版本下载链接:
https://www.openssl.org/source/openssl-1.0.1g.tar.gz
修复步骤:
tar -zxvf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./config shared --prefix=/usr/local/ssl
make & make install
make clean
查询OpenSSL版本:
/usr/bin/openssl version
Openssl-1.0.lg
修复后apache需要重新生成证书