首页 » SEO优化 » php破绽加固技巧_SSLTLS 协议信息泄露马脚CVE20162183修复机械无外网

php破绽加固技巧_SSLTLS 协议信息泄露马脚CVE20162183修复机械无外网

访客 2024-12-10 0

扫一扫用手机浏览

文章目录 [+]

1、更新 OpenSSL 到最新版本。

2、对付 nginx、apache、lighttpd 等做事器禁止利用 DES 加密算法,紧张是修正 conf 文件。

php破绽加固技巧_SSLTLS 协议信息泄露马脚CVE20162183修复机械无外网

安装 openssl下载最新版本 openssl

www.openssl.org/source/

php破绽加固技巧_SSLTLS 协议信息泄露马脚CVE20162183修复机械无外网
(图片来自网络侵删)

通过 rz 命令或者 ftp 工具将压缩包上传到目标机器。

安装干系依赖

以下是须要的依赖包:

可以在有网络的机器上通过以下命令下载:

css

复制代码

yum install --downloadonly --downloaddir=存放路径 包名

不指定目录时 centos7 默认会存放在 /var/cache/yum/x86_64/7/base/packages/

或者通过 yumdownloader:

ini

复制代码

yumdownloader httpd php subversion mod_dav_svn # 指定目录(不指定为当前目录) yumdownloader --destdir=存放路径 包名 yumdownloader --resolve --destdir=存放路径 包名 # 下载包同时下载干系依赖

在目标机器创建 yum-cache 目录,上传所有依赖

安装当前目录下的所有依赖:

复制代码yum localinstall .rpm安装 openssl

解压缩并进入 openssl 目录:

bash

复制代码

tar xvf openssl-3.2.0.tar.gz cd ./openssl-3.2.0

编译支配:

bash

复制代码

./config --prefix=/usr/local/openssl make && make install

备份:

bash

复制代码

mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak

创建软链接(如果失落败可以用 ln -sf 逼迫实行):

bash

复制代码

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openss

更新动态链接:

bash

复制代码

echo "/usr/local/openssl/lib">>/etc/ld.so.conf ldconfig

测试:

复制代码openssl version

碰着 ./openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory 缺点:

查看 /usr/local/openssl/lib64 目录,创造有 libssl.so.3 库文件,但是 openssl 程序却找不到,openssl 程序会去 /usr/lib/ 路径下去探求库文件。
于是,把 openssl 的库文件全部拷贝到 /usr/lib/ 路径中去:

bash

复制代码

cp -r /usr/local/openssl/lib64/ /usr/lib

或者编辑 /etc/ld.so.conf 文件并添加共享库文件所在的目录。
例如在文件中添加:

vbnet

复制代码

/path/to/openssl/lib

更新动态链接库

复制代码ldconfig更新 nginx查看已安装模块

运行 nginx -V 命令查看已经安装的 nginx 模块,configure arguments:后面表示当前已经安装的nginx模块,如果有就复制下来。

重新编译

在 nginx 安装目录重新编译 nginx:

javascript

复制代码

./configure --原来有的模块(如果有的话) --with-openssl=/usr/local/openssl && make && make install

编译碰着 make[1]: [/usr/local/ssl/.openssl/include/openssl/ssl.h] 干系的缺点: 修正 nginx 编译时对 openssl 的路径选择,打开 nginx 安装目录下的 nginx-1.23.3/auto/lib/openssl/conf 文件,找到下面代码:

bash

复制代码

CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

将路径改成已经安装的 openssl 路径,我的是:

bash

复制代码

CORE_INCS="$CORE_INCS $OPENSSL/include" CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/lib64/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/lib64/libcrypto.a" CORE_LIBS="$CORE_LIBS $NGX_LIBDL

禁用算法

将以下的内容更换 nginx 443端口配置中的 ssl_ciphers 内容,禁用指定算法:

ruby

复制代码

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE:!IDEA:!DES;

重启 nginx

bash

复制代码

/usr/local/nginx/sbin/nginx -s reload

修正成功

总结

本文记录了机器在无外部网络情形下更新 OpenSSL,确保系统安全性的提升。
阐明了如何获取 OpenSSL 更新包、手动传输至目标机器并进行安装的详细过程,以及修正 Nginx 配置,确保 Nginx 能够精确地利用新版本的 OpenSSL。
希望对类似的安全漏洞的修复事情供应帮助。

标签:

相关文章