文章目录
近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSL 安全漏洞(CNNVD-202207-242、CVE-2022-2274)情况的报送。成功利用此漏洞的攻击者,可造成目标机器内存损坏,进而在目标机器远程执行代码。OpenSSL 3.0.4版本受漏洞影响。目前,OpenSSL官方已发布新版本修复了漏洞,请用户及时确认是否受到漏洞影响,尽快采取修补措施。
一、漏洞介绍
OpenSSL是OpenSSL团队开发的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库。该产品支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。该漏洞源于计算机上具有2048位私钥的 RSA 实现不正确,并且在计算过程中会发生内存损坏,导致攻击者可能会在执行计算的机器上远程执行代码。
二、危害影响
成功利用此漏洞的攻击者,可造成目标机器内存损坏,进而在目标机器远程执行代码。OpenSSL1.0.2、OpenSSL1.1.1、OpenSSL 3.0版本受漏洞影响。
三、修复建议
目前,OpenSSL官方已发布新版本修复了漏洞,请用户及时确认是否受到漏洞影响,尽快采取修补措施。官方链接如下:
https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=4d8a88c134df634ba610ff8db1eb8478ac5fd345
https://www.openssl.org/source/
https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/
[root@openvpn ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
[root@openvpn ~]# yum remove openssl-devel
[root@openvpn ~]# yum install openssl-devel
[root@openvpn openssl-1.1.1s]# ./config --prefix=/usr/local/openssl-1.1.1s --shared
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1s (0x1010113fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
[root@openvpn openssl-1.1.1s]# make && make install
备份当前openssl
[root@openvpn openssl-1.1.1s]# mv /usr/bin/openssl /usr/bin/openssl.bak
[root@openvpn openssl-1.1.1s]# mv /usr/include/openssl /usr/include/openssl.bak
配置使用新版本
[root@openvpn openssl-1.1.1s]# ln -s /usr/local/openssl-1.1.1s/bin/openssl /usr/bin/openssl
[root@openvpn openssl-1.1.1s]# ln -s /usr/local/openssl-1.1.1s/include/openssl /usr/include/openssl
更新动态链接库数据
[root@openvpn openssl-1.1.1s]# echo "/usr/local/openssl-1.1.1s/lib">>/etc/ld.so.conf
[root@openvpn ~]# ldconfig -v
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
/usr/lib64//bind9-export:
libisccfg-export.so.160 -> libisccfg-export.so.160.2.1
libisc-export.so.169 -> libisc-export.so.169.0.3
libirs-export.so.160 -> libirs-export.so.160.0.5
libdns-export.so.1102 -> libdns-export.so.1102.1.2
/usr/local/openssl-1.1.1s/lib:
libssl.so.1.1 -> libssl.so.1.1
libcrypto.so.1.1 -> libcrypto.so.1.1
再次查看版本号
[root@openvpn ~]# openssl version
OpenSSL 1.1.1s 1 Nov 2022
个人机器已经是最新的版本
[root@openvpn openssh-9.1p1]# yum install pam-devel libselinux-devel zlib-devel openssl-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package pam-devel-1.1.8-23.el7.x86_64 already installed and latest version
Package libselinux-devel-2.5-15.el7.x86_64 already installed and latest version
Package zlib-devel-1.2.7-20.el7_9.x86_64 already installed and latest version
Package 1:openssl-devel-1.0.2k-25.el7_9.x86_64 already installed and latest version
Nothing to do
[root@openvpn openssh-9.1p1]# mv /etc/ssh /etc/ssh.bak
[root@openvpn openssh-9.1p1]# ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib
/sshd/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl-1.1.1s/lib
[root@openvpn openssh-9.1p1]# make && make install
[root@openvpn openssh-9.1p1]# mv /etc/ssh.bak/sshd_config /etc/ssh/sshd_config
mv: overwrite ‘/etc/ssh/sshd_config’? y
最后
[root@openvpn openssh-9.1p1]# systemctl daemon-reload
[root@openvpn openssh-9.1p1]# systemctl restart sshd
[root@openvpn openssh-9.1p1]# ssh -V
OpenSSH_9.1p1, OpenSSL 1.1.1s 1 Nov 2022
OpenSSL
OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的,也可以建立私有CA证书等。
OpenSSL和OpenSSH的区别
SSL是通讯链路的附加层。可以包含很多协议。https, ftps
SSH只是加密的shell,最初是用来替代telnet的。通过port forward,也可以让其他协议通过ssh的隧道而起到加密的效果。
OpenSSL------一个C语言函数库,是对SSL协议的实现。
OpenSSH-----是对SSH协议的实现。
SSH 利用 OpenSSL 提供的库。OpenSSH依赖于OpenSSL ,没有OpenSSL 的话OpenSSH 就编译不过去,也运行不了。
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案
目录1.漏洞简介2、AJP13协议介绍Tomcat主要有两大功能:3.Tomcat远程文件包含漏洞分析4.漏洞复现 5、漏洞分析6.RCE实现的原理1.漏洞简介2020年2月20日,公开CNVD的漏洞公告中发现ApacheTomcat文件包含漏洞(CVE-2020-1938)。ApacheTomcat是Apache开源组织开发的用于处理HTTP服务的项目。ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件。该漏洞是一个单独的文件包含漏洞,依赖于Tomcat的AJP(定向包协议)。AJP自身存在一定缺陷,导致存在可控
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
我在我的rails应用程序中安装了来自github.com的acts_as_versioned插件,但有一段代码我不完全理解,我希望有人能帮我解决这个问题class_eval我知道block内的方法(或任何它是什么)被定义为类内的实例方法,但我在插件的任何地方都找不到定义为常量的CLASS_METHODS,而且我也不确定是什么here,并且有问题的代码从lib/acts_as_versioned.rb的第199行开始。如果有人愿意告诉我这里的内幕,我将不胜感激。谢谢-C 最佳答案 这是一个异端。http://en.wikipedia
我们有一个目前在Rails2.3.12版和Ruby1.8.7版上运行的应用程序。我们想将我们的应用程序更新到Rails4.0和Ruby2.1.0。我们有大约200个模型和150个Controller。我想知道升级过程需要多大的努力。您还可以提供升级可以遵循的步骤。我们应该先升级Ruby然后再升级Rails还是相反? 最佳答案 您想要实现的目标将是史诗般的努力。我无法为您提供分步说明,因为不可能在一个答案中涵盖所有情况。我建议不要同时升级Ruby和Rails,而是分步升级。升级本身的复杂性是巨大的,但只要您的应用程序具有合理的测试覆盖
执行rvmlist后,我得到以下输出:rvmrubiesgems[missingbin/ruby]=*ruby-2.0.0-p645[x86_64]ruby-2.1.6[x86_64]ruby-2.2.1[x86_64]gems[missingbin/ruby]是什么意思?gems是某种系统gemset吗?它不是我创建的,我不知道我是否可以或应该删除它。 最佳答案 在我跑完之后:rvmfix-permissions然后我能够卸载具有[缺少bin/ruby]的版本。 关于ruby-如何修复