nginx ssl

이석준·2022년 10월 12일
0

nginX 설정

1. 명령어

  • nginx 명령어를 찾을 수 없을 때
    a. 현재 실행중인 nginx 프로세스에서 bin의 위치를 찾아야한다.
    b. 찾은 bin 파일을 /bin폴더에 복사한다.
  • nginx 명령어 option
    - nginx -t : conf파일의 문법오류가 있는지 확인
    - nginx -s reload : 새로 설정한 conf 파일로 nginx 재기동
    - nginx -c {conf파일 위치} : conf 파일을 set한다. (우측 default conf 파일 수정 권장)

2. nginx.conf

  • nginx 설정을 위한 파일
  • 프록시(ssl ...) 설정 시 해당 http { server {{listen 설정}} } 내부 작성 필요
  • 다른 conf파일을 include하여 처리가 가능
  • 설정
		# ssl 과 http/2 설정
 		listen          443 ssl http2;
        listen [::]:443 ssl http2;
        
       
        #인증서 파일 설정
        ssl_certificate     _wildcard_spectra_co_kr.crt;
        ssl_certificate_key _wildcard_spectra_co_kr_SHA256WITHRSA.key;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m;
        ssl_session_tickets off;

        # intermediate configuration
        #tls protocol  (보안 소켓 version) 설정 tls 1.2 , 1.3 사용 
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
        ## ssl-tls 협상 시 위 ciphers를 우선한다는 설정
        ssl_prefer_server_ciphers off;

        # HSTS:  zabbix 기본값으로 설정되어있으며 필요에 따라 수정필요
        add_header Strict-Transport-Security "max-age=63072000" always;
        # CSP : zabbix 기본값으로 설정되어있으며 필요에 따라 수정필요
        add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; font-src https: data:; report-uri /csp-report";

  • HSTS
    일반적으로 HTTPS를 강제하게 될 때 서버측에서 302 Redirect 를 이용하여 전환시켜 줄 수 있습니다. 하지만 이것이 취약점 포인트로 작용될 수 있습니다. 하여 클라이언트 (브라우저) 에게 HTTPS를 강제 하도록 하는 것이 권장되는데, 이것이 HSTS (HTTP Strict Transport Security) 입니다. 클라이언트 (브라우저)에서 강제 하기 때문에 Plain Text (HTTP) 를 이용한 연결 자체가 최초부터 시도되지 않으며 클라이언트 측에서 차단된다는 장점이 있습니다.
  • CSP (Content-security-policy)
    CSP 의 주요 목적 은 크로스 사이트 스 크 립 트 (cross - ste scripting, XSS) * * 를 방어 하 는 것 입 니 다.예 를 들 어 CSP 는 내 연 된 자바 스 크 립 트 를 완전히 금지 하고 외부 코드 를 어디서 불 러 오 는 지 제어 할 수 있다.그것 도 동적 코드 의 실행 을 금지 할 수 있다.이 모든 * 원본 을 비활성화 하면 XSS * * 가 더 어려워 집 니 다.한 사 이 트 는 Content - security - Policy 응답 헤드 를 설정 하여 필요 한 CSP 정책 을 사용 합 니 다.

0개의 댓글