RECOMPILARE OPENSSL 1.1 & Ningin 1,25 for TLS 1,3 (Centos 7)
kompil OpenSSL 1.1 & NGINX 1.25 til TLS 1.3 (CentOS 7), etter scenariet du allerede har installert på serveren o eldre versjon openssl tilknyttet Nginx -tjeneste.
Mer spesifikt kan du aktivere OpenSSL 1.1.1t for tjenesten NGINX, kjører med en eldre versjon. OpenSSL 1.0.2k.
# nginx -V
nginx version: nginx/1.25.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
# openssl version -a
OpenSSL 1.1.1t 7 Feb 2023
Dette betyr at det på serveren er to forskjellige versjoner av OpenSSL. En versjon installert på systemet av “yum” (1.0.2k-fips) og en versjon OpenSSL installert av manuell kompilering (openssl 1.1.1t).
Klassisk anbefaler de fleste på nytt ‘OpenSSL‘ På nivået av serveren. Det vil innebære ordreutførelsen: yum remove openssl. Men det er et stort problem her. Med avinstallering av den gamle versjonen OpenSSL, kan det også være nødvendig å avinstallere avhengige applikasjoner. Like: nginx, MariaDB-server, cerbot, pluss mange flere.
- Hvordan aktiverer du TLSV1.3 på NINX. Vestacp / Centos eller Ubuntu
- Maksimal gyldighetsperiode TLS / SSL sertifisert i 2023
- Forskjellene mellom TLS 1.2 og TLS 1.3 – Hastighet og sikkerhet
En enklere løsning er å kompilere openssl 1.1 & nginx 1.25 til TLS 1.3.
Tutorial Recompilare OpenSSL 1.1 & NGINX 1.25 til TLS 1.3 (CentOS 7)
I mitt eksempel er rekomdillasjonen for nginx/1.25.0 & OpenSSL 1.1.1h Bruke bokhandlere OpenSSL 1.1.1t.
RECOMPILARE NGINX.
1. Opprett filen: nginx-with-tls13-compile.sh
sudo nano nginx-with-tls13-compile.sh
der du legger til skriptet:
#!/bin/bash
## nginx
NGINX=nginx-1.25.0.tar.gz
if [ ! -f "${NGINX}" ];then
wget https://nginx.org/download/${NGINX}
fi
ND=$(basename $NGINX .tar.gz)
if [ ! -d "${ND}" ];then
tar zxvf ${NGINX}
fi
cd ${ND}
## pre require package
## yum install gcc pcre-devel zlib-devel
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-compat \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_v2_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-openssl=../$(basename $OPENSSL .tar.gz)
make
sudo make install
nginx -V
Lagre den nye filen.
2. Lag den nye kjørbare filen:
chmod +x nginx-with-tls13-compile.sh
omskrive nginx.service
3. du tar en sikkerhetskopi av nginx.service.
cat /lib/systemd/system/nginx.service > /srv/nginx_service.txt
(Du kan velge hvilken vei du vil ha for nginx_service.txt)
4. Opprett filen for tjenesten nginx: nginx.service
sudo nano nginx.service
5. I den nye filfilen nginx.service Legg til linjene:
## /lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
6. Kopier filen i ‘daemon“.
sudo cp nginx.service /lib/systemd/system/nginx.service
7. Etter at filen er kopiert, oppdater filtillatelsene ved å bruke ordren:
sudo chmod 644 /lib/systemd/system/nginx.service
8. Last inn konfigurasjonen på nytt systemd Å vurdere endringene ved å bruke kommandoen:
sudo systemctl daemon-reload
9. Start på nytt ngnix.
sudo systemctl restart nginx
kompil OpenSSL / NGINX til TLS 1.3
10. I samme mappe der du har filer nginx-with-tls13-compile.sh og nginx.service, Opprett en ny fil: openssl-1.1-compile.sh.
sudo nano openssl-1.1-compile.sh
Legg til skriptet:
#!/bin/bash
## Compile OpenSSL
OPENSSL=openssl-1.1.1h.tar.gz
DONE=openssl-compile-done
if [ ! -f "${DONE}" ] ;then
wget https://www.openssl.org/source/${OPENSSL}
tar zxvf ${OPENSSL}
cd $(basename $OPENSSL .tar.gz)
./config shared no-idea no-md2 no-mdc2 no-rc5 no-rc4 --prefix=/usr/local/
make
sudo make install
cd ..
touch ${DONE}
fi
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64/
read -n1 -r -p "$(/usr/local/bin/openssl version) - Press any key to continue..." key
source ./nginx-with-tls13-compile.sh
Erstatte “OPENSSL=openssl-1.1.1h.tar.gz” Med versjonen du vil installere og kompilere med Nginx.
11. Lag det kjørbare skriptet:
chmod +x openssl-1.1-compile.sh
12. Utfør ordren:
./openssl-1.1-compile.sh
Vent til re -kompileringsprosessen er fullført OpenSSL & NGINX.

Hvis vi kan hjelpe deg eller skal gjøre fullføringer, er kommentarfeltet åpen.
RECOMPILARE OPENSSL 1.1 & Ningin 1,25 for TLS 1,3 (Centos 7)
What’s New
Om Stealth
Lidenskapelig om teknologi skriver jeg med glede på stealthsetts.com som starter med 2006. Jeg har en rik opplevelse innen operativsystemer: macOS, Windows og Linux, men også innen programmeringsspråk og bloggplattformer (WordPress) og for nettbutikker (WooCommerce, Magento, Presashop).
View all posts by Stealth