3단계: 웹 서버 구성하기 - AWS CloudHSM

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

3단계: 웹 서버 구성하기

이전 단계에서 생성한 HTTPS 인증서와 이에 해당되는 가짜 PEM 프라이빗 키를 사용하려면 웹 서버 소프트웨어의 구성을 업데이트하십시오. 시작하기 전에 기존 인증서와 키를 백업해야 한다는 점을 잊지 마십시오. 그러면 AWS CloudHSM이 지원되는 SSL/TLS 오프로드의 Linux 웹 서버 소프트웨어 설정이 완료됩니다.

다음 섹션 중 하나에 있는 단계를 완료합니다.

NGINX 웹 서버를 구성합니다

이 섹션을 사용하여 지원되는 플랫폼에서 NGINX를 구성합니다.

NGINX용 웹 서버 구성을 업데이트하려면
  1. 클라이언트 인스턴스에 연결합니다.

  2. 다음 명령을 실행하여 웹 서버 인증서 및 가짜 PEM 프라이빗 키에 필요한 디렉터리를 생성합니다.

    $ sudo mkdir -p /etc/pki/nginx/private
  3. 다음 명령을 실행하여 웹 서버 인증서를 필요한 위치에 복사합니다. <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    $ sudo cp <web_server.crt> /etc/pki/nginx/server.crt
  4. 다음 명령을 실행하여 가짜 PEM 프라이빗 키를 필요한 위치에 복사합니다. <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    $ sudo cp <web_server_fake_PEM.key> /etc/pki/nginx/private/server.key
  5. 다음 명령을 실행하여 nginx라는 이름의 사용자가 파일을 읽을 수 있도록 파일 소유권을 변경합니다.

    $ sudo chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key
  6. 다음 명령을 실행하여 /etc/nginx/nginx.conf 파일을 백업합니다.

    $ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
  7. NGINX 구성을 업데이트합니다.

    참고

    각 클러스터는 모든 NGINX 웹 서버에서 최대 1000개의 NGINX 작업자 프로세스를 지원할 수 있습니다.

    Amazon Linux

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      ssl_engine cloudhsm; env n3fips_password;
    • 클라이언트 SDK 5를 사용하는 경우

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Amazon Linux 2

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      ssl_engine cloudhsm; env n3fips_password;
    • 클라이언트 SDK 5를 사용하는 경우

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    CentOS 7

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      ssl_engine cloudhsm; env n3fips_password;
    • 클라이언트 SDK 5를 사용하는 경우

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    CentOS 8

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Red Hat 7

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      ssl_engine cloudhsm; env n3fips_password;
    • 클라이언트 SDK 5를 사용하는 경우

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Red Hat 8

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 16.04 LTS

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    ssl_engine cloudhsm; env n3fips_password;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 18.04 LTS

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 20.04 LTS

    텍스트 편집기를 사용하여 /etc/nginx/nginx.conf 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다. 파일의 맨 위에 다음 행을 추가합니다.

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    그런 다음 파일의 TLS 섹션에 다음을 추가합니다.

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

    파일을 저장합니다.

  8. systemd 구성 파일을 백업한 후, EnvironmentFile 경로를 설정합니다.

    Amazon Linux

    작업이 필요하지 않습니다.

    Amazon Linux 2
    1. nginx.service 파일을 백업합니다.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. 텍스트 편집기에서 /lib/systemd/system/nginx.service 파일을 연 후, [서비스] 섹션 아래에 다음 경로를 추가합니다.

      EnvironmentFile=/etc/sysconfig/nginx
    CentOS 7

    작업이 필요하지 않습니다.

    CentOS 8
    1. nginx.service 파일을 백업합니다.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. 텍스트 편집기에서 /lib/systemd/system/nginx.service 파일을 연 후, [서비스] 섹션 아래에 다음 경로를 추가합니다.

      EnvironmentFile=/etc/sysconfig/nginx
    Red Hat 7

    작업이 필요하지 않습니다.

    Red Hat 8
    1. nginx.service 파일을 백업합니다.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. 텍스트 편집기에서 /lib/systemd/system/nginx.service 파일을 연 후, [서비스] 섹션 아래에 다음 경로를 추가합니다.

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 16.04
    1. nginx.service 파일을 백업합니다.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. 텍스트 편집기에서 /lib/systemd/system/nginx.service 파일을 연 후, [서비스] 섹션 아래에 다음 경로를 추가합니다.

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 18.04
    1. nginx.service 파일을 백업합니다.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. 텍스트 편집기에서 /lib/systemd/system/nginx.service 파일을 연 후, [서비스] 섹션 아래에 다음 경로를 추가합니다.

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 20.04 LTS
    1. nginx.service 파일을 백업합니다.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. 텍스트 편집기에서 /lib/systemd/system/nginx.service 파일을 연 후, [서비스] 섹션 아래에 다음 경로를 추가합니다.

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  9. /etc/sysconfig/nginx 파일이 있는지 여부를 확인한 후, 다음 중 하나를 수행합니다.

    • 파일이 있는 경우 다음 명령을 실행하여 파일을 백업합니다.

      $ sudo cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup
    • 파일이 없는 경우 텍스트 편집기를 연 후 /etc/sysconfig/ 폴더에 nginx라는 파일을 생성합니다.

  10. NGINX 환경을 구성합니다.

    참고

    클라이언트 SDK 5는 CU의 자격 증명을 저장하기 위한 CLOUDHSM_PIN 환경 변수를 도입합니다.

    Amazon Linux

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Amazon Linux 2

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    CentOS 7

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    CentOS 8

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Red Hat 7

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Red Hat 8

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Ubuntu 16.04 LTS

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    n3fips_password=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Ubuntu 18.04 LTS

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Ubuntu 20.04 LTS

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    파일을 저장합니다.

    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  11. NGINX 웹 서버를 시작합니다.

    Amazon Linux

    텍스트 편집기에서 /etc/sysconfig/nginx 파일을 엽니다. 이때 Linux 루트 권한이 필요합니다. 암호화 사용자(Cryptography User) 자격 증명 추가하기:

    $ sudo service nginx start
    Amazon Linux 2

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    CentOS 7

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    CentOS 8

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    Red Hat 7

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    Red Hat 8

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    Ubuntu 16.04 LTS

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    Ubuntu 18.04 LTS

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    Ubuntu 20.04 LTS

    실행 중인 NGINX 프로세스를 모두 중지하기

    $ sudo systemctl stop nginx

    systemd 구성을 다시 로드하여 최신 변경 사항 찾아내기

    $ sudo systemctl daemon-reload

    NGINX 프로세스 시작하기

    $ sudo systemctl start nginx
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  12. (선택 사항) 시작 시 NGINX를 시작하도록 플랫폼을 구성합니다.

    Amazon Linux
    $ sudo chkconfig nginx on
    Amazon Linux 2
    $ sudo systemctl enable nginx
    CentOS 7

    작업이 필요하지 않습니다.

    CentOS 8
    $ sudo systemctl enable nginx
    Red Hat 7

    작업이 필요하지 않습니다.

    Red Hat 8
    $ sudo systemctl enable nginx
    Ubuntu 16.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 18.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 20.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

웹 서버 구성을 업데이트한 후에 4단계: HTTPS 트래픽 활성화 및 인증서 확인하기 단원으로 이동합니다.

Apache 웹 서버 구성하기

이 섹션을 사용하여 지원되는 플랫폼에서 Apache를 구성합니다.

Apache용 웹 서버 구성을 업데이트하려면
  1. Amazon EC2 클라이언트 인스턴스에 연결합니다.

  2. 플랫폼의 인증서 및 프라이빗 키의 기본 위치를 정의하십시오.

    Amazon Linux

    /etc/httpd/conf.d/ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Amazon Linux 2

    /etc/httpd/conf.d/ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    CentOS 7

    /etc/httpd/conf.d/ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    CentOS 8

    /etc/httpd/conf.d/ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Red Hat 7

    /etc/httpd/conf.d/ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Red Hat 8

    /etc/httpd/conf.d/ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Ubuntu 16.04 LTS

    /etc/apache2/sites-available/default-ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 18.04 LTS

    /etc/apache2/sites-available/default-ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 20.04 LTS

    /etc/apache2/sites-available/default-ssl.conf 파일에 다음 값이 존재하는지 확인하십시오.

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  3. 웹 서버 인증서를 플랫폼의 필수 위치에 복사하십시오.

    Amazon Linux
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Amazon Linux 2
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    CentOS 7
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    CentOS 8
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Red Hat 7
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Red Hat 8
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Ubuntu 16.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Ubuntu 18.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Ubuntu 20.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    <web_server.crt>를 웹 서버 인증서 이름으로 바꿉니다.

    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  4. 가짜 PEM 프라이빗 키를 플랫폼에 필요한 위치로 복사합니다.

    Amazon Linux
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Amazon Linux 2
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    CentOS 7
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    CentOS 8
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Red Hat 7
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Red Hat 8
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Ubuntu 16.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Ubuntu 18.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Ubuntu 20.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    <web_server_fake_PEM.key>를 가짜 PEM 프라이빗 키가 포함된 파일 이름으로 바꿉니다.

    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  5. 플랫폼에서 필요한 경우 이러한 파일의 소유권을 변경하십시오.

    Amazon Linux
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    apache라는 이름의 사용자에게 읽기 권한을 제공합니다.

    Amazon Linux 2
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    apache라는 이름의 사용자에게 읽기 권한을 제공합니다.

    CentOS 7
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    apache라는 이름의 사용자에게 읽기 권한을 제공합니다.

    CentOS 8
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    apache라는 이름의 사용자에게 읽기 권한을 제공합니다.

    Red Hat 7
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    apache라는 이름의 사용자에게 읽기 권한을 제공합니다.

    Red Hat 8
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    apache라는 이름의 사용자에게 읽기 권한을 제공합니다.

    Ubuntu 16.04 LTS

    작업이 필요하지 않습니다.

    Ubuntu 18.04 LTS

    작업이 필요하지 않습니다.

    Ubuntu 20.04 LTS

    작업이 필요하지 않습니다.

    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  6. 플랫폼의 Apache 지시어를 구성합니다.

    Amazon Linux

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/httpd/conf.d/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    파일을 저장합니다.

    Amazon Linux 2

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/httpd/conf.d/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    파일을 저장합니다.

    CentOS 7

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/httpd/conf.d/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    파일을 저장합니다.

    CentOS 8

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/httpd/conf.d/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLProtocol TLSv1.2 TLSv1.3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProxyCipherSuite HIGH:!aNULL

    파일을 저장합니다.

    Red Hat 7

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/httpd/conf.d/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    파일을 저장합니다.

    Red Hat 8

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/httpd/conf.d/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLProtocol TLSv1.2 TLSv1.3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProxyCipherSuite HIGH:!aNULL

    파일을 저장합니다.

    Ubuntu 16.04 LTS

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/apache2/mods-available/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    파일을 저장합니다.

    SSL 모듈 및 기본 SSL 사이트 구성을 활성화합니다.

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 18.04 LTS

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/apache2/mods-available/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProtocol TLSv1.2 TLSv1.3

    파일을 저장합니다.

    SSL 모듈 및 기본 SSL 사이트 구성을 활성화합니다.

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 20.04 LTS

    이 플랫폼의 SSL 파일을 찾으십시오.

    /etc/apache2/mods-available/ssl.conf

    이 파일에는 서버 실행 방법을 정의하는 Apache 지시어가 들어 있습니다. 왼쪽에 지시어가 표시되고 그 뒤에 값이 표시됩니다. 텍스트 편집기를 사용하여 이 파일을 편집합니다. 이때 Linux 루트 권한이 필요합니다.

    다음 지시어를 다음 값으로 업데이트하거나 입력하십시오.

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProtocol TLSv1.2 TLSv1.3

    파일을 저장합니다.

    SSL 모듈 및 기본 SSL 사이트 구성을 활성화합니다.

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  7. 플랫폼의 환경 값 파일을 구성합니다.

    Amazon Linux

    작업이 필요하지 않습니다. /etc/sysconfig/httpd에 환경 값이 입력됩니다.

    Amazon Linux 2

    httpd 서비스 파일을 엽니다.

    /lib/systemd/system/httpd.service

    [Service] 섹션 아래에 다음을 추가합니다.

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 7

    httpd 서비스 파일을 엽니다.

    /lib/systemd/system/httpd.service

    [Service] 섹션 아래에 다음을 추가합니다.

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 8

    httpd 서비스 파일을 엽니다.

    /lib/systemd/system/httpd.service

    [Service] 섹션 아래에 다음을 추가합니다.

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 7

    httpd 서비스 파일을 엽니다.

    /lib/systemd/system/httpd.service

    [Service] 섹션 아래에 다음을 추가합니다.

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 8

    httpd 서비스 파일을 엽니다.

    /lib/systemd/system/httpd.service

    [Service] 섹션 아래에 다음을 추가합니다.

    EnvironmentFile=/etc/sysconfig/httpd
    Ubuntu 16.04 LTS

    작업이 필요하지 않습니다. /etc/sysconfig/httpd에 환경 값이 입력됩니다.

    Ubuntu 18.04 LTS

    작업이 필요하지 않습니다. /etc/sysconfig/httpd에 환경 값이 입력됩니다.

    Ubuntu 20.04 LTS

    작업이 필요하지 않습니다. /etc/sysconfig/httpd에 환경 값이 입력됩니다.

    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  8. 플랫폼의 환경 변수를 저장하는 파일에서 암호화 사용자(cryptographic user)의 자격 증명이 포함된 환경 변수를 설정합니다.

    Amazon Linux

    텍스트 편집기를 사용하여 /etc/sysconfig/httpd을 편집합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    Amazon Linux 2

    텍스트 편집기를 사용하여 /etc/sysconfig/httpd을 편집합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    CentOS 7

    텍스트 편집기를 사용하여 /etc/sysconfig/httpd을 편집합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    CentOS 8

    텍스트 편집기를 사용하여 /etc/sysconfig/httpd을 편집합니다.

    CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    Red Hat 7

    텍스트 편집기를 사용하여 /etc/sysconfig/httpd을 편집합니다.

    • 클라이언트 SDK 3을 사용하는 경우

      n3fips_password=<CU user name>:<password>
    • 클라이언트 SDK 5를 사용하는 경우

      CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    Red Hat 8

    텍스트 편집기를 사용하여 /etc/sysconfig/httpd을 편집합니다.

    CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    참고

    클라이언트 SDK 5는 CU의 자격 증명을 저장하기 위한 CLOUDHSM_PIN 환경 변수를 도입합니다.

    Ubuntu 16.04 LTS

    텍스트 편집기를 사용하여 /etc/apache2/envvars을 편집합니다.

    export n3fips_password=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    Ubuntu 18.04 LTS

    텍스트 편집기를 사용하여 /etc/apache2/envvars을 편집합니다.

    export CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    참고

    클라이언트 SDK 5는 CU의 자격 증명을 저장하기 위한 CLOUDHSM_PIN 환경 변수를 도입합니다. 클라이언트 SDK 3에서 CU 자격 증명을 n3fips_password 환경 변수에 저장했습니다. 클라이언트 SDK 5는 두 환경 변수를 모두 지원하지만 CLOUDHSM_PIN을 사용하는 것이 좋습니다.

    Ubuntu 20.04 LTS

    텍스트 편집기를 사용하여 /etc/apache2/envvars을 편집합니다.

    export CLOUDHSM_PIN=<CU user name>:<password>

    <CU 사용자 이름><암호>를 암호화 사용자(Cryptography User) 자격 증명으로 바꿉니다.

    참고

    클라이언트 SDK 5는 CU의 자격 증명을 저장하기 위한 CLOUDHSM_PIN 환경 변수를 도입합니다. 클라이언트 SDK 3에서 CU 자격 증명을 n3fips_password 환경 변수에 저장했습니다. 클라이언트 SDK 5는 두 환경 변수를 모두 지원하지만 CLOUDHSM_PIN을 사용하는 것이 좋습니다.

    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  9. Apache 웹 서버를 시작합니다.

    Amazon Linux
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Amazon Linux 2
    $ sudo systemctl daemon-reload $ sudo service httpd start
    CentOS 7
    $ sudo systemctl daemon-reload $ sudo service httpd start
    CentOS 8
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Red Hat 7
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Red Hat 8
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Ubuntu 16.04 LTS
    $ sudo service apache2 start
    Ubuntu 18.04 LTS
    $ sudo service apache2 start
    Ubuntu 20.04 LTS
    $ sudo service apache2 start
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

  10. (선택 사항) 시작 시 Apache를 시작하도록 플랫폼을 구성합니다.

    Amazon Linux
    $ sudo chkconfig httpd on
    Amazon Linux 2
    $ sudo chkconfig httpd on
    CentOS 7
    $ sudo chkconfig httpd on
    CentOS 8
    $ systemctl enable httpd
    Red Hat 7
    $ sudo chkconfig httpd on
    Red Hat 8
    $ systemctl enable httpd
    Ubuntu 16.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 18.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 20.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 22.04 LTS

    OpenSSL Dynamic Engine에 대한 지원은 아직 제공되지 않습니다.

웹 서버 구성을 업데이트한 후에 4단계: HTTPS 트래픽 활성화 및 인증서 확인하기 단원으로 이동합니다.