Kääntää uudelleen OpenSSL 1.1 ja NGINX 1.25 varten TLS 1.3 (CentOS 7)

Kääntää uudelleen OpenSSL 1.1 & NGINX 1.25 varten TLS 1.3 (CentOS 7), noudattamalla skenaariota, jossa olet jo asentanut palvelimelle o vanhempi versio openssl liittyy nginx-palveluun.

Tarkemmin sanottuna voidakseen aktivoida OpenSSL 1.1.1t palvelua varten NGINX, joka toimii vanhemman version kanssa. 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

Tämä tarkoittaa, että on olemassa kaksi eri versiota OpenSSL. Versio, jonka järjestelmään on asentanut "yum"(1.0.2k-fips) ja versio OpenSSL asennettu manuaalisella kokoamalla (openssl 1.1.1t).

Perinteisesti useimmat suosittelevat uudelleenasentamistaOpenSSL' palvelintasolla. Tämä edellyttäisi komennon suorittamista: yum remove openssl. Mutta tässä on suuri ongelma. Vanhan version asennuksen poistamisen kanssa OpenSSL, saatat joutua poistamaan myös joitain riippuvaisia ​​sovelluksia. Kuten: nginx, MariaDB-server, cerbotSekä paljon muuta.

Yksinkertaisempi ratkaisu on kääntää uudelleen openssl 1.1 & nginx 1.25 varten TLS 1.3.

Kääntää opetusohjelma uudelleen OpenSSL 1.1 & NGINX 1.25 varten TLS 1.3 (CentOS 7)

Esimerkissäni uudelleenkäännös on tarkoitettu nginx/1.25.0 & OpenSSL 1.1.1h käyttämällä kirjakauppoja OpenSSL 1.1.1t.

Kääntää NGINX uudelleen.

1. Luo tiedosto: nginx-with-tls13-compile.sh

sudo nano nginx-with-tls13-compile.sh

johon lisäät skriptin:

#!/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

Tallenna uusi tiedosto.

2. Tee uusi suoritettava tiedosto:

chmod +x nginx-with-tls13-compile.sh

Kirjoittaa uudelleen nginx.service

3. Tee varmuuskopio nginx.service.

cat /lib/systemd/system/nginx.service > /srv/nginx_service.txt

(voit valita minkä polun haluat nginx_service.txt)

4. Luo tiedosto palvelua varten nginx: nginx.service

sudo nano nginx.service

5. Tiedostoon uusi tiedosto nginx.service lisää rivit:

##  /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. Kopioi tiedosto kansioondaemon".

sudo cp nginx.service /lib/systemd/system/nginx.service

7. Kun tiedosto on kopioitu, päivitä tiedoston käyttöoikeudet komennolla:

sudo chmod 644 /lib/systemd/system/nginx.service

8. Lataa kokoonpano uudelleen systemd ottaaksesi muutokset huomioon komennolla:

sudo systemctl daemon-reload

9. Käynnistä uudelleen ngnix.

sudo systemctl restart nginx

Kääntää uudelleen OpenSSL / NGINX varten TLS 1.3

10. Samassa kansiossa, jossa tiedostot ovat nginx-with-tls13-compile.sh şi nginx.service, luo uusi tiedosto: openssl-1.1-compile.sh.

sudo nano openssl-1.1-compile.sh

Lisää skripti:

#!/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

Korvaa "OPENSSL=openssl-1.1.1h.tar.gz” asennettavalla versiolla ja käännä se uudelleen NGINX:n kanssa.

11. Tee komentosarjasta suoritettava:

chmod +x openssl-1.1-compile.sh

12. Suorita komento:

./openssl-1.1-compile.sh

Odota, että uudelleenkäännösprosessi on valmis OpenSSL & NGINX.

Kääntää uudelleen OpenSSL 1.1 ja NGINX 1.25 varten TLS 1.3 (CentOS 7)
OpenSSL & NGINX

Jos voimme auttaa tai lisäyksiä on tehtävä, kommenttiosio on auki.

Intohimoisena teknologiaan, kirjoitan mielelläni StealthSettings.com vuodesta 2006. Löydät kirjoittamiani artikkeleita käyttöjärjestelmistä Windows, Linux, macOS, mutta myös verkkoalustoista, kuten WordPress şi WooCommerce

Miten » Linux » Kääntää uudelleen OpenSSL 1.1 ja NGINX 1.25 varten TLS 1.3 (CentOS 7)

Jätä kommentti