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

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

    시작하기 전에

    주제에 나열된 를 위한 헤드리스 브라우저 설정 Linux 필수 구성 요소를 완료합니다.

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

    이 태스크 정보

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

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

    팁:
    이를 더 쉽게 기억하려면 Linux 터미널에 다음 명령을 입력합니다. 참고: 이러한 환경 변수를 터미널 프로파일에 추가하지 마십시오. 보안상의 이유로 현재 세션 기간 동안만 존재해야 합니다.
    • export PASSWORD="<인증서를 생성하는 데 사용할 암호>"
    • export SERVERIP="<이 서버의 IP 주소>"
    • export 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 양식에 이 내용을 입력해야 합니다.