안녕하세요. 모든 보안 지침은 현재 웹 브라우저에 적용됩니다. TLSv1.2, TLSv1.3 지원만 가능합니다.
최신 브라우저에서 TLSv1.0, TLSv1.1Silver에서 운영하는 보안 사이트에 액세스하는 것도 불가능합니다.
웹 브라우저에 의해 차단됩니다.
Linux에서 TLSv1.2를 지원하지 않는 CentOS 버전은 CentOS 5(TLSv1.0 ~ TLSv1.1만 지원) 및 Ubuntu 12.04(TLSv1.0 ~ TLSv1.1만 지원)입니다.
TLSv1.2가 지원되지만 EoS (서비스 종료) 운영 체제는 CentOS 6(2020-11-30), Ubuntu 14.04(2019-04), Ubuntu 16.04(2021-04)입니다.
TLS 버전을 담당하는 프로그램은 openssl이며 버전에 따라 지원될 수 있습니다.
OS 버전별 openssl 관련 버전입니다.
빨간 모자
CentOS 5 = openssl 0.9.8e(TLSv1.0에서 TLSv1.1까지 지원)
CentOS 6 = openssl 1.0.1g(TLSv1.0 ~ TLSv1.2, SSLv3 지원)
CentOS 7 = openssl 1.0.2k(TLSv1.0에서 TLSv1.2, SSLv3까지 지원)
CentOS 8(Rocky Linux 8) = openssl 1.1.1g(TLSv1.0에서 TLSv1.3까지 지원)
데비안
Ubuntu 14.04 = openssl 1.0.1f(TLSv1.0에서 TLSv1.2까지 지원)
Ubuntu 16.04 = openssl 1.0.2g(TLSv1.0에서 TLSv1.2까지 지원)
Ubuntu 18.04 = openssl 1.1.1(TLSv1.0에서 TLSv1.3까지 지원)
Ubuntu 20.04 = openssl 1.1.1f(TLSv1.0에서 TLSv1.3까지 지원)
Ubuntu 22.04 = openssl 3.0.2(TLSv1.2 ~ TLSv1.3, SSLv3 지원)
Microsoft TLS 관련 문서 링크
https://docs.microsoft.com/en-us/windows/win32/secauthn/protocols-in-tls-ssl–schannel-ssp-
================================================== =====================================
TLS v1.2의 최소 요구 사항
– OpenSSL 1.0.1 이상
– httpd 2.2.22 이상
– 자바 7 이상
-윈도우 서버 2008 SP2 이상
================================================== =====================================
================================================== =====================================
TLS v1.3의 최소 요구 사항
-OpenSSL 버전 1.1.1 이상
-Apache 버전 2.4.37 이상
-Nginx 1.13 이상
-Windows Server 2022 버전 이상
-Windows 11 버전 이상
================================================== =====================================
일반적으로 openssl 버전과 통신하는 하나의 프로세스가 있으며 이는 curl입니다.
curl 통신에서는 FTP, HTTP 통신 등 다양한 통신을 합니다. tls 버전도 확인하고 전달합니다.
Ubuntu는 18.04로 실제로 EoS 이전 운영 체제이며 tls 1.3을 지원합니다. 따라서 EoS 23.04 이전에 tls 1.3 서버를 생성하면 문제가 없습니다.
CentOS 7의 지원 기간은 약 10년이며, EOS 2024년 6월 30일 보지마.
1년 11개월 정도 남았는데 CentOS 7 출시년도가 2014년이기 때문에 openssl 1.1.1은 2018년에 출시된 이후로 서버에 기본적으로 존재하지 않기 때문에 openssl 1.1.1은 없습니다.
관련 라이브러리를 패키지로 다운로드하여 설치할 수 있지만 아래 이미지와 같이 openssl은 여전히 이전 버전입니다.
# 얌 설치 openssl11*

따라서 실질적으로 단 한 번의 설치입니다.
아래는 curl의 기본 설치와 도시 팬 저장소 및 참조된 라이브러리를 참조하는 업그레이드 후 버전입니다.
# cat /etc/yum.repos.d/city-fan.repo // curl 패키지 업그레이드 저장소는 모든 OS에서 사용할 수 있습니다. (센트OS 5~7, 록키 리눅스 8)
(시티 팬)
name=city-fan-repo
기본 URL=http://www.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch/
활성화=1
gpgcheck=0

curl이 최신 버전으로 업데이트되더라도 tls 1.3은 동일한 이전 라이브러리를 참조하기 때문에 APM 또는 curl 통신을 할 수 없습니다.
따라서 CentOS 7은 패키지로서 구조적으로 어렵고 결국 openssl 및 curl 소스를 설치해야 합니다.
openssl 및 curl은 운영 체제의 기반이므로 APM이 이미 소스로 설치된 상태에서 openssl 및 curl을 업데이트하면 APM을 다시 설치해야 합니다.
이 부분을 참고하시면 될 것 같습니다.
이번에는 tls 1.3 통신을 허용하도록 openssl 및 curl만 업데이트합니다.
기본 개발자 설치
# yum install -y libdb-devel enchant-devel libxslt libxslt-devel net-snmp-devel readline-devel readline aspell-devel unixODBC unixODBC-devel libicu-devel icu libicu libc-client libc-client-devel libc-client-2007f freetype -devel freetype* freetype libXpm libXpm-devel libpng-devel libpng* libvpx-devel libvpx libcurl libcurl-devel curl* curl-devel curl tcp_wrappers-devel libzip 환경 모듈 uw-imap-utils uw-imap-devel uw-imap uw-imap – 정적 pam-devel libldb-devel openldap-devel cyrus-sasl-devel bzip2-devel bzip2 bzip2-libs ncurses-devel ncurses mysql-devel libjpeg-devel libjpeg* libjpeg-devel openssl-devel openssl* openssl-libs libxml* libxml2 libxml2 – devel libmcrypt libmcrypt-devel libmcrypt* mcrypt mhash* mhash mhash-devel libmhash libmhash-devel expat-devel expat expat* gmp* gmp gmp-devel krb5* krb5-devel db4 db4-devel wget make cmake libtool* pcre* gdbm* gdbm gdbm -devel libtiff* libtiff libtiff-devel 플렉스 zlib* zlib-devel zlib gd* gd gd-devel 패치 t1lib t1lib-devel readline lib 편집-개발 libtidy libtidy-devel gcc* gcc gcc-c++ libtermcap-devel 대화상자 sqlite-devel oniguruma oniguruma-devel libzip5 mod_ssl postgresql-devel lcov systemtap-sdt-devel mod_ldap elfutils-devel libwebp-devel libwebp git gzip libnghttp2-devel valgrind* mod_proxy* editline editline-devel patchelf systemd-devel ImageMagick-devel libzstd-devel libffi libffi-devel libraqm-devel libraqm libsodium libsodium-devel brotli* libssh2* c-ares*
최신 버전의 openssl 설치
# mkdir /usr/local/src/OS_Update
# cd /usr/local/src/OS_Update
#wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
# tar zxvf openssl-1.1.1q.tar.gz
# cd openssl-1.1.1q
# ./config -fPIC 공유 –prefix=/usr/local
# make -j8 && 설치
# 내보내기 경로=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
# 에코 $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
최신 버전의 CURL 설치
# cd /usr/local/src/OS_Update
#wget https://curl.se/download/curl-7.84.0.tar.gz
# tar zxvf curl-7.84.0.tar.gz
# cd 컬-7.84.0
# ./configure –prefix=/usr/local –enable-maintainer-mode –enable-silent-rules –enable-debug –enable-optimize –enable-curldebug –enable-symbol-hiding — enable-ares –enable-code-coverage –enable-dependency-tracking –enable-fast-install –enable-http –enable-ftp –enable-file –enable-ldap –enable-ldaps – -enable-rtsp –enable-proxy –enable-dict –enable-telnet –enable-tftp –enable-pop3 –enable-imap –enable-smb –enable-smtp –enable-gopher – -enable-mqtt –enable-manual –enable-libcurl-option –enable-libgcc –enable-openssl-auto-load-config –enable-versioned-symbols –enable-threaded-resolver –enable- pthreads –enable-verbose –enable-sspi –enable-crypto-auth –enable-ntlm –enable-ntlm-wb –enable-tls-srp –enable-unix-sockets –enable-cookies – -enable-socketpair –enable-http-auth –enable-doh –enable-mime –enable-dateparse –enable-netrc –enable-progress-meter –enable-dnsshuffle –enable-get-easy -옵션 –enable-alt-svc –enable-headers-api –enable-hsts –wit h-schannel –with-secure-transport –with-amissl –with-libssh2 –with-libssh –with-wolfssh –with-winidn –with-schannel –with-secure-transport –with-amissl –with-ssl=/usr/local/lib64/pkgconfig –with-openssl=/usr/local –with-gnutls –with-mbedtls –with-wolfssl –with-bearssl – -with-nss-구식 –with-nss –with-pic –with-aix-soname=both –with-gnu-ld –with-sysroot –with-zlib –with-brotli –with -zstd – -with-libssh2 –with-libssh –with-wolfssh –with-winidn –with-libidn2 –with-nghttp2 –with-ngtcp2 –with-nghttp3 –with-quiche –with -msh3
// 컴파일러 옵션과 마찬가지로 호환성을 최대화하기 위해 enable 및 with 옵션이 추가되었습니다.
# make -j8 && 설치

빨간 박스 안에 있는 부분이 openssl을 통합하는 부분으로 일반 패키지라면 /usr/lib64나 /usr/lib를 가리킨다.
openssl 및 curl을 운영 체제의 최신 버전으로 업그레이드합니다.
이전 버전의 openssl이 인식되지 않으면 기존 openssl 및 curl을 수정합니다.
# mv /usr/bin/openssl /usr/bin/openssl_1.0.2k
# ln -s /usr/local/bin/openssl /usr/bin/openssl
# mv /usr/bin/curl /usr/bin/curl_7.29.0
# ln -s /usr/local/bin/curl /usr/bin/curl
openssl이 지원하는 실제 tls 버전을 확인해 봅시다. 다음 명령은 지원되는 버전을 보여줍니다.
# /usr/local/bin/openssl 암호 -v | awk ‘{print $2}’ | 정렬 | 유니크 //openssl 1.1.1q
SSLv3
TLSv1
TLSv1.2
TLSv1.3
# /usr/bin/openssl_1.0.2k 암호 -v | awk ‘{print $2}’ | 정렬 | 유니크 //openssl 1.0.2k
SSLv3
TLSv1.2

이렇게 tls 1.3이 지원되는지 확인할 수 있습니다.
다음 포스팅에서는 업데이트된 CentOS 7에 openssl과 curl로 APM을 설치하도록 하겠습니다. 감사해요