에 대한 헤드리스 브라우저 설정에 대한 인증서 생성 Linux

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • TLS/SSL 인증서를 생성하여 Docker REST API를 보호하고 HTTP 요청을 인증합니다.

    시작하기 전에

    주제에 나열된 에 대한 헤드리스 브라우저 설정 Linux 필요 조건을 완료합니다.

    필요한 역할: 인스턴스의 관리자, 호스트 머신의 ServiceNow 로컬 관리자.

    이 태스크 정보

    경고:
    신뢰할 수 있는 인증 기관에서 인증 기관 키를 가져옵니다.

    기본적으로 Docker API를 노출할 때 요청이 인증되지 않으므로 호스트 시스템이 공격에 취약해질 수 있습니다. 그러나 Docker API는 HTTPS 암호화에 제공된 공개 개인 키에 대해 요청이 확인되는 TLS 인증을 지원합니다. 이 단계에서는 서버 및 클라이언트에 대해 해당 키를 만듭니다.

    팁:
    이를 더 쉽게 기억하려면 Linux 터미널에 다음 명령을 입력합니다. 참고: 이러한 환경 변수를 터미널 프로파일에 추가하지 마십시오. 보안상의 이유로 현재 세션 기간 동안만 존재해야 합니다.
    • export PASSWORD="<password를 사용하여 인증서를 생성하려면>"
    • export SERVERIP="<이 서버의 IP 주소>"
    • export HOSTNAME="이 서버의 <hostname>"
    자세한 내용은 TLS(HTTPS)를 사용하여 Docker 디먼 소켓 보호를 참조하세요.

    프로시저

    1. 명령줄을 엽니다.
    2. 자체 서명된 인증 기관 키를 생성하거나 신뢰할 수 있는 인증 기관에서 키 쌍을 검색합니다.
      다음 명령은 예제입니다. 구성은 다를 수 있습니다.
      • openssl genrsa -aes256 -passout pass:$PASSWORD -out ca-key.pem 4096
      • openssl req -passin pass:$PASSWORD -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
      • chmod 0400 ca-key.pem
      • chmod 0444 ca.pem
    3. 인증 기관 키를 사용하여 서버 키 쌍을 생성합니다.
      다음 명령은 예제입니다. 구성은 다를 수 있습니다.
      • openssl genrsa -out server-key.pem 4096
      • openssl req -subj "/CN=$HOSTNAME" -new -key server-key.pem -out server.csr
      • echo "subjectAltName = DNS:$HOSTNAME,IP:$SERVERIP,IP:127.0.0.1" > extfile.cnf
      • openssl x509 -passin pass:$PASSWORD -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
    4. 인증 기관 키를 사용하여 클라이언트 키 쌍을 만듭니다.
      다음 명령은 예제입니다. 구성은 다를 수 있습니다.
      • openssl genrsa -out client-key.pem 4096
      • openssl req -subj "/CN=$HOSTNAME" -new -key client-key.pem -out client.csr
      • echo "extendedKeyUsage = clientAuth" > extfile.cnf
      • openssl x509 -passin pass:$PASSWORD -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      이제 모든 암호화 키를 생성했습니다.

    5. CA 공개 키 및 클라이언트 키 쌍을 Java 키 스토어로 임포트합니다.
      다음 명령은 예제입니다. 구성은 다를 수 있습니다.

      keytool -genkey -keyalg RSA -alias dse -keystore my.keystore와 같이 키 저장소 파일을 만들고 암호를 만듭니다(나중에 사용할 수 있도록 저장).

      키 저장소 파일에서 기본 항목 삭제: keytool -delete -alias dse -keystore my.keystore

      CA 공개 키를 키 저장소(keytool -import -keystore my.keystore -trustcacerts -alias ca -file ca.pem)로 임포트합니다.

      클라이언트 키 페어를 임포트합니다.
      주:
      새 pkcs12 키 저장소 파일을 만들고 키 쌍을 가져옵니다. 그런 다음 내용을 원래 키 저장소 파일에 복사합니다.
      • openssl pkcs12 -export -name clientkeypair -in client-cert.pem -inkey client-key.pem -out clientkeypair.p12
      • keytool -importkeystore -destkeystore my.keystore -srckeystore clientkeypair.p12 -srcstoretype pkcs12 -alias clientkeypair

      이제 키 스토어 파일에 모든 인증서를 추가했으므로 인스턴스에 업로드 ServiceNow 될 때 나중을 위해 my.keystore 파일을 저장합니다. 또한 키 저장소 파일을 작성하라는 메시지가 표시될 때 입력한 비밀번호를 기억해야 합니다. 인스턴스의 양식 ServiceNow 에 입력해야 합니다.