이 문서는 명령줄 도구와 개발자 프레임워크가 Cato Networks TLS 검증 인증서를 신뢰하도록 설정하여, HTTPS 작동 시 트래픽이 검사될 때 오류가 발생하지 않도록 하는 방법을 설명합니다. 시스템 전체에 Cato 인증서를 설치하는 방법과 OS 신뢰 저장소를 사용하지 않는 특정 도구에 인증서를 지정하는 방법을 다룹니다.
아래의 모든 예에서 /path/to/CatoNetworksTrustedRootCA.pem을 실제 환경에 맞는 경로로 교체하십시오.
호스트 OS에 Cato 루트 CA를 설치하면 대부분의 응용 프로그램이 자동으로 검사된 트래픽을 신뢰할 수 있습니다. Cato 인증서 설치 방법에 설명된 대로 Cato 루트 CA를 설치할 수 있습니다.
예상대로 작동하지 않는 경우 OS 신뢰 저장소에 Cato 루트 CA를 수동으로 추가할 수 있습니다. Cato 인증서 설치에 대한 추가 정보는 관련 기사를 참조하십시오:
일부 도구는 CA 신뢰 번들을 확장하는 대신 덮어씀으로써 그 전에 존재하던 모든 인증서를 삭제합니다. 이러한 도구들이 공개 웹사이트와 Cato가 검사한 트래픽을 신뢰할 수 있도록, OS 신뢰 루트 인증서에 Cato 루트 CA를 포함한 결합된 번들을 생성하십시오.
추천: Cato 루트 CA를 시스템 저장소에 설치하십시오. 결합된 번들은 단일 CA 파일이 필요한 도구에만 사용하십시오.
유지 관리 팁: 주기적으로 결합된 번들을 재구성하십시오 (예: 매월 또는 OS 신뢰 업데이트 후).
# 상승된 권한의 PowerShell에서 실행
$dest="$env:ProgramData\CatoNetworks\TLS\cato_combined_ca.pem"; $destDir=Split-Path $dest; New-Item -ItemType Directory -Force -Path $destDir | Out-Null; Get-ChildItem Cert:\CurrentUser\Root, Cert:\LocalMachine\Root, Cert:\CurrentUser\CA, Cert:\LocalMachine\CA | Sort-Object Thumbprint -Unique | ForEach-Object { "-----BEGIN CERTIFICATE-----"; [System.Convert]::ToBase64String($_.RawData,'InsertLineBreaks'); "-----END CERTIFICATE-----"; "" } | Out-File -Encoding ascii $dest; Write-Host "Combined bundle written to: $dest"
출력 경로: C:\ProgramData\CatoNetworks\TLS\cato_combined_ca.pem
sudo mkdir -p "/Library/Application Support/CatoNetworks/TLS"
security find-certificate -a -p \
/System/Library/Keychains/SystemRootCertificates.keychain \
/Library/Keychains/System.keychain \
> /tmp/cato_combined_ca.pem && \
sudo install -m 0644 /tmp/cato_combined_ca.pem \
"/Library/Application Support/CatoNetworks/TLS/cato_combined_ca.pem"
출력 경로: /Library/Application Support/CatoNetworks/TLS/cato_combined_ca.pem
OS 번들과 Cato CA를 연결하여 단일 파일을 생성하십시오.
Debian/Ubuntu:
sudo bash -c 'cat /etc/ssl/certs/ca-certificates.crt > /etc/ssl/certs/cato_combined_ca.pem'
출력 경로: /etc/ssl/certs/cato_combined_ca.pem
RHEL/CentOS/Alma/Rocky:
sudo bash -c 'cat /etc/pki/tls/certs/ca-bundle.crt > /etc/pki/tls/certs/cato_combined_ca.pem'
출력 경로: /etc/pki/tls/certs/cato_combined_ca.pem
일부 도구는 OS 신뢰 저장소를 무시하거나 사용 불가능한 환경에서 실행됩니다. 이러한 경우 Cato CA 또는 결합된 번들을 사용하도록 명시적으로 구성하십시오.
Linux/macOS:
export VARIABLE_NAME=/path/to/file
또는 영구적인 솔루션은 다음과 같습니다:
echo 'export VARIABLE_NAME=/path/to/file' >> ~/.zshrc or ~/.bashrc
source ~/.zshrc or ~/.bashrc
Windows CMD
set VARIABLE_NAME=C:\path\to\file
또는 영구적인 해결책:
setx VARIABLE_NAME "C:\path\to\file"를 실행한 다음 CMD 창을 다시 여십시오.
Windows PowerShell
$env:VARIABLE_NAME="C:\path\to\file"
-
현재 사용자에 대한 영구적인 해결책:
setx VARIABLE_NAME "C:\path\to\file"를 실행한 다음 CMD 창을 다시 여십시오. -
기기의 모든 사용자에 대한 영구적인 해결책:
[System.Environment]::SetEnvironmentVariable("VARIABLE_NAME", "C:\path\to\file", "Machine")를 실행하십시오.
Python 도구는 종종 OS 신뢰 저장소와 분리된 자체 CA 번들을 제공하는 certifi를 사용합니다.
- macOS 또는 Linux – 결합된 번들 (위에서 설명한 신뢰 번들을 덮어쓰는 도구 전용 결합된 인증서 번들)에 REQUESTS_CA_BUNDLE 변수를 설정하십시오.
- Windows – Python이 Windows 신뢰 저장소를 직접 사용하게 하려면
pip install pip-system-certs를 실행하십시오.
macOS/Linux 전용으로, Cato 루트 CA를 도구의 certifi 번들에 첨부하거나 CA 변수를 결합된 번들로 지정할 수 있습니다.
Azure CLI (macOS/Linux)
CLI에 포함된 certifi 번들에 Cato 루트 CA를 첨부하십시오. Cerifi의 번들 위치를 찾으려면 다음 명령을 실행하십시오:
$(az --version 2>&1 | awk -F"'" '/Python location/ {print $2}') -m certifi
AWS CLI / Boto (MacOS/Linux)
변수를 설정하십시오:
AWS_CA_BUNDLE=/path/to/cato_combined_ca.pem
또는 구성 파일 (~/.aws/config)에 이 줄을 추가하십시오
ca_bundle = /path/to/cato_combined_ca.pem
Gcloud CLI
SDK에 포함된 certifi 번들에 Cato 루트 CA를 첨부하십시오:
~/google-cloud-sdk/platform/bundledpython*/lib/python*/site-packages/certifi/cacert.pem
참고: 설치 도구에 따라 경로가 달라질 수 있습니다. 이 위치에 certifi/cacert.pem이 보이지 않으면 도구의 디렉토리 내에서 검색하십시오.
Curl, Composer 및 Ruby/Fastlane과 같은 많은 도구는 TLS 용 OpenSSL에 의존합니다. 기본적으로 OpenSSL은 Linux에서 시스템 CA 번들을 읽지만 macOS (Homebrew OpenSSL)와 Windows에서 OS 신뢰 저장소 대신 자체 CA 파일을 사용합니다.
SSL_CERT_FILE 변수를 결합된 번들로 설정하십시오.
필요한 경우, 결합된 번들을 가리키도록 각 OpenSSL 기반 도구를 구성하거나 OpenSSL 인증서 디렉토리에 Cato 루트 CA를 첨부하고 c_rehash를 실행하십시오.
Curl
macOS (SecureTransport), Windows (Schannel), 대부분의 Linux 빌드 (OpenSSL/LibreSSL)의 내장 curl은 추가 구성이 필요하지 않습니다. 이 빌드들은 이미 OS 신뢰 저장소를 사용합니다.
curl이 어떤 TLS 라이브러리를 사용하는지 확인하려면 다음을 실행하십시오: curl --version
OS 저장소를 사용하지 않는 OpenSSL/LibreSSL 빌드를 위해서는 변수 CURL_CA_BUNDLE을 결합된 번들 파일을 가리키도록 명시적으로 설정하십시오 (위에서 설명한 구문 사용).
Composer (PHP)
Composer를 결합된 번들을 사용하도록 구성하십시오: composer config -g cafile /path/to/cato_combined_ca.pem
Ruby, Bundler 및 Fastlane
Ruby/Fastlane을 결합된 번들을 신뢰하도록 구성하십시오: bundle config --global ssl_ca_cert /path/to/cato_combined_ca.pem
Node.js 및 npm은 OS에 따라 인증서 저장소를 다르게 처리합니다.
- Windows - Node.js는 종종 시스템 저장소를 사용하므로, Cato 루트 CA를 시스템 전체에 설치하는 것이 일반적으로 충분합니다.
- Linux/macOS - Node.js는 일반적으로 자체 CA 번들을 사용하며, 여기에는 Cato 루트 CA가 포함되어 있지 않습니다.
Java는 cacerts라는 자체 신뢰 저장소 파일을 사용합니다. TLS 검사를 활성화하려면 Cato 루트 CA를 이 저장소에 가져오십시오.
cacerts의 기본 비밀번호는 changeit입니다.
Linux/macOS
sudo keytool -importcert -noprompt \
-alias cato-root-ca \
-file /path/to/CatoNetworksTrustedRootCA.pem \
-keystore $JAVA_HOME/lib/security/cacerts \
-storepass changeit
Windows (PowerShell)
keytool -importcert -noprompt `
-alias cato-root-ca `
-file "C:\path\to\CatoNetworksTrustedRootCA.pem" `
-keystore "C:\Program Files\Java\jdk-17\lib\security\cacerts" `
-storepass changeit
모든 Java 기반 도구(Maven, Gradle, JDBC 드라이버, Salesforce Apex Data Loader 등)는 cacerts 저장소에 Cato CA가 추가되면 신뢰하게 됩니다.
Docker는 두 부분으로 구성되어 있습니다: 호스트에 있는 엔진/데몬과 모든 이미지/컨테이너.
- Docker 엔진은 호스트 OS 신뢰 저장소를 사용하므로 Cato 루트 CA를 시스템 전체에 설치하는 것으로 충분합니다.
- 이미지의 경우, 컨테이너에 Cato 루트 CA를 가져와야 합니다.
Debian/Ubuntu 기반 이미지:
COPY CatoNetworksTrustedRootCA.pem /usr/local/share/ca-certificates/cato-root-ca.crt
RUN update-ca-certificates
RHEL/CentOS 기반 이미지:
COPY CatoNetworksTrustedRootCA.pem /etc/pki/ca-trust/source/anchors/
RUN update-ca-trust
이렇게 하면 컨테이너 내의 애플리케이션이 Cato 검사된 TLS 트래픽을 신뢰할 수 있도록 합니다.
Android Studio는 번들 JDK 내부의 자체 cacerts 신뢰 저장소를 사용합니다. TLS 검사를 활성화하려면 그 저장소에 Cato 루트 CA를 가져오십시오. 기본 비밀번호는 changeit입니다.
Linux/macOS
sudo keytool -importcert -noprompt \
-alias cato-root-ca \
-file /path/to/CatoNetworksTrustedRootCA.pem \
-keystore $ANDROID_STUDIO_JDK/lib/security/cacerts \
-storepass changeit
Windows (PowerShell)
keytool -importcert -noprompt `
-alias cato-root-ca `
-file "C:\path\to\CatoNetworksTrustedRootCA.pem" `
-keystore "C:\Program Files\Android\Android Studio\jre\lib\security\cacerts" `
-storepass changeit
댓글 0개
이 문서에는 댓글을 달 수 없습니다.