ProgramingTip

소스에서 CentOS 6.5 / Linux / Unix에서 OpenSSL을 업그레이드하는 방법은 무엇입니까?

bestdevel 2020. 12. 10. 20:55
반응형

소스에서 CentOS 6.5 / Linux / Unix에서 OpenSSL을 업그레이드하는 방법은 무엇입니까?


CentOS 6.5에서 OpenSSL을 어떻게 업그레이드합니까?

이 명령을 사용했지만 아무 일도 일어나지 언어를 사용했습니다.

 cd /usr/src
 wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
 tar -zxf openssl-1.0.1g.tar.gz
 cd openssl-1.0.1g
 ./config
 make
 make test
 make install
 cd /usr/src
 rm -rf openssl-1.0.1g.tar.gz
 rm -rf openssl-1.0.1g

이 명령을 사용 후 이전 버전을 얻습니다.

openssl version

./config --prefix=/usr --openssldir=/usr/local/openssl shared

대신이 구성 줄을 사용하여 사용하십시오. 접두사를 생략하면 설정에서 기본적으로 / usr / local / ssl 접두사에 설치됩니다. / usr / bin / openssl을 사용하는 대신 "/ usr / local / ssl / bin / openssl"을 사용할 수 있습니다. 대신 접두사로 / usr / 지역을 사용할 수도 있고 경로에 아직없는 경우 그에 따라 경로를 조정해야합니다. 다음은 INSTALL 문서입니다.

  $ ./config
  $ make
  $ make test
  $ make install

 [If any of these steps fails, see section Installation in Detail below.]

This will build and install OpenSSL in the default location, which is (for
historical reasons) /usr/local/ssl. If you want to install it anywhere else,
run config like this:

  $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl

https://github.com/openssl/openssl/blob/master/INSTALL http://heartbleed.com/


, 대한 수정에 heartbleed취약점으로 백 포트되었습니다 1.0.1e-16엔터프라이즈 리눅스 레드햇에 의해 참조 하고,이 때문에에 CentOS는 선박이 공식 수정합니다.

OpenSSL을 업스트림의 최신 버전 (예 : 1.0.1g)으로 교체하면 예측할 수없는 방식으로 애플리케이션 / 클라이언트와의 연결을 깨뜨리고 시스템이 RHEL에서 분리 될 수있는 기능 변경 사항이 도입 될 위험이 있습니다. 해당 패키지에 대한 업데이트. simple make config && make && make install을 사용하여 openssl을 교체하면 rpm을 사용하여 해당 패키지를 관리하고 쿼리를 수행 할 수있는 기능도 상실됩니다 (예 : 모든 파일이 존재하고 수정되지 않았거나 권한이 변경되지 않았습니다. 갑자기는지 확인). RPM 데이터베이스도 업데이트하지 않고).

또한 암호화 소프트웨어는 컴파일러 옵션과 같이 사소에서 수행 할 수있는 작업을 알 수없는 경우에 로컬 설치를 수행 할 수 있습니다.


OpenSSL을 수동으로 선택하십시오.

$ cd /usr/src

$ wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz -O openssl-1.0.1g.tar.gz

$ tar -zxf openssl-1.0.1g.tar.gz

$ cd openssl-1.0.1g

$ ./config

$ make

$ make test

$ make install

$ openssl version

이전 버전이 표시되면 아래 단계를 수행하십시오.

$ mv /usr/bin/openssl /root/

$ ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
openssl version
OpenSSL 1.0.1g 7 Apr 2014

http://olaitanmayowa.com/heartbleed-how-to-upgrade-openssl-in-centos/


sudo yum update openssl 필요한 것은 전부입니다.

그러면서 이동합니다 openssl-1.0.1e-16.el6_5.7.

업데이트 후 Apache다시 시작 해야합니다 . 또는 가능하면 상자를 사용하여 OpenSSL을 사용하는 모든 애플리케이션이 새 버전을로드합니다.


당신이해야 할 유일한 일은 yum update.

openssl-1.0.1e-16.el6_5.7하트 비트가 강화 된 RedHat에 의해 패치 된 백 포트 버전을 자동 다운로드하고 업데이트합니다 .

업데이트를 확인하시기 바랍니다.
# rpm -q --changelog openssl-1.0.1e | grep -B 1 CVE-2014-0160
다음이 표시되어야합니다.
* Mon Apr 07 2014 Tomáš Mráz <tmraz@redhat.com> 1.0.1e-16.7 - fix CVE-2014-0160 - information disclosure in TLS heartbeat extension

Apache 및 SSH와 같은 중요한 서비스는 openSSL을 사용하는 서버를 갖추어야합니다.


내 접근 방식은 다음과 가변합니다.

openssl version
OpenSSL 1.0.1e 11 Feb 2013

wget https://www.openssl.org/source/openssl-1.0.2a.tar.gz
wget http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.2a-fix_parallel_build-1.patch
tar xzf openssl-1.0.2a.tar.gz
cd openssl-1.0.2a
patch -Np1 -i ../openssl-1.0.2a-fix_parallel_build-1.patch
./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic
make
make install

openssl version
OpenSSL 1.0.2a 19 Mar 2015 

95 %의 경우에 필요한 것은 sudo yum update openssl

그러나 CentOS 저장소 에없는 특정 버전의 openssl 또는 특정 기능필요한 경우 소스 에서해야 할 수 있습니다. 여기에있는 다른 답변은 불완전했습니다. 다음은 작동 한 것입니다 (CentOS 6.9). 이로 인해 폐쇄되는 소프트웨어와의 비문이 저장 될 수 있으며 openssl을 자동 업데이트하지 않습니다.


https://www.openssl.org/source/ 에서 openssl 버전을 선택합니다.

루트로 로그인 :

cd /usr/local/src/

# OPTIONALLY CHANGE openssl-1.1.0f.tar.gz to the version which you want
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz

sha256sum openssl-1.1.0f.tar.gz  #confirm this matches the published hash

tar -zxf openssl-1.1.0f.tar.gz

cd /usr/local/src/openssl-1.1.0f

./config --prefix=/usr/local --openssldir=/usr/local/openssl
make
make test
make install

export LD_LIBRARY_PATH=/usr/local/lib64

#make export permanent
echo "export LD_LIBRARY_PATH=/usr/local/lib64" > /etc/profile.d/ld_library_path.sh
chmod ugo+x /etc/profile.d/ld_library_path.sh

openssl version  #confirm it works

#recommended reboot here

openssl version  #confirm it works after reboot

rpm -qa openssl yum clean all && yum update "openssl*" lsof -n | grep ssl | grep DEL cd /usr/src wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz tar -zxf openssl-1.0.1g.tar.gz cd openssl-1.0.1g ./config --prefix=/usr --openssldir=/usr/local/openssl shared ./config make make test make install cd /usr/src rm -rf openssl-1.0.1g.tar.gz rm -rf openssl-1.0.1g

openssl version

쉽습니다! 바이너리 파일을 다운로드하고 있습니까?. rpm 최신 패키지를 다운로드하십시오. openssl-1.0.1e-30.el6.x86_64 rpm -q openssl을 사용하여 현재 버전이 무엇인지 확인하십시오. 이것이 오래된 경우 rpm -U openssl-1.0.1e-30.el6.x86_64. yum이 구성되어 있다면 리포지토리에서이 패키지를 업데이트하고 RHN의 리포지토리에서 yum update openssl을 수행하십시오. yum update openssl-1.0.1g는 매우 오래되고 가치가 있습니다.


다음 명령으로 OpenSSL이 취약성에 대해 패치되었는지 여부를 확인하기 위해 로컬 변경 로그를 확인할 수도 있습니다.

rpm -q --changelog openssl | grep CVE-2014-0224

결과가 반환되지 않으면 OpenSSL을 패치해야합니다.

http://www.liquidweb.com/kb/update-and-patch-openssl-for-the-ccs-injection-vulnerability/


심볼릭 링크를 통해 이전 OpenSSL 바이너리 파일을 새 파일로 교체해야합니다.

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

이 절차 후에는 서버를 재부팅하거나 OpenSSL과 관련된 모든 서비스를 다시 시작해야합니다.

참고 URL : https://stackoverflow.com/questions/22952287/how-to-upgrade-openssl-in-centos-6-5-linux-unix-from-source

반응형