由于漏洞问题,需要再Ubuntu22系统下升级openssl组件,然后重新编译面板的apache,现将升级过程记录下来,以备后用。
首先,切换到/usr/src目录,下载并编译安装对应的openssl,写这篇文章时我需要升级到的版本号为3.0.14。
cd /usr/src
wget https://www.openssl.org/source/openssl-3.0.14.tar.gz
tar -zxvf openssl-3.0.14.tar.gz
cd openssl-3.0.14
./config -fPIC --prefix=/usr/local/openssl-3.0.14 --openssldir=/usr/local/openssl-3.0.14
make
make install
编译安装完毕openssl后,进入/usr/local/openssl-3.0.14/bin目录执行./openssl version查看版本号时,可能会报以下错误:
./openssl: /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.0.9′ not found (required by ./openssl)
这时需要执行下面的代码:
export LD_LIBRARY_PATH=/usr/local/openssl-3.0.14/lib64/
export LDFLAGS="-Wl,-rpath,/usr/local/openssl-3.0.14/lib64/"
然后再去执行./openssl version查看版本号就正常了
OpenSSL 3.0.14 4 Jun 2024 (Library: OpenSSL 3.0.14 4 Jun 2024)
新版本的openssl安装好后,接下来就是重新编译apache了,再编译之前先对配置文件做好备份,具体代码如下:
mv /usr/local/apache-2.4 /usr/local/apache-2.4-bak;
sed -i "s#--enable-ssl#--with-ssl=/usr/local/openssl-3.0.14#" /root/amh/modules/apache-2.4/AMHScript
amh apache install
cp -a /usr/local/apache-2.4-bak/conf /usr/local/apache-2.4
amh apache cron_start
到此就将apache的openssl升级成功了。