소스에서 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 버전을 선택합니다.
- 이 글을 쓰는 시점에서 2017 년 7 월 1 일, 필요한 버전의 날짜는 2017-May-25 13:09:51, openssl-1.1.0f.tar.gz입니다.
- 원하는 링크를 복사하고 아래에서 사용 하십시오 ( https://www.openssl.org/source/openssl-1.1.0f.tar.gz )
루트로 로그인 :
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과 관련된 모든 서비스를 다시 시작해야합니다.
'ProgramingTip' 카테고리의 다른 글
Remove () 메소드가 문자를 변수로 허용하는 이유는 무엇입니까? (0) | 2020.12.10 |
---|---|
Excel의 수식에서 셀 번호가 증가하지 않도록 방지 (0) | 2020.12.10 |
docker postgres pgadmin 로컬 연결 (0) | 2020.12.10 |
PHP에서 슈퍼를 호출하는 방법? (0) | 2020.12.10 |
웹 페이지를 인쇄 할 때 페이지 제목 및 날짜 제거 (CSS 사용?) (0) | 2020.12.10 |