• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 1. 일반적인 보안 문제
    2. MySQL 권한 시스템
    3. MySQL 사용자 계정 관리
    1. 사용자 이름과 암호
    2. 사용자 계정 추가
    3. 사용자 계정 삭제
    4. 계정 자원 제한 설정
    5. 계정 암호 지정
    6. 암호 만료 및 샌드 박스 모드
    7. 플러그 인증
    8. MySQL에서 사용 가능한 인증 플러그인
    9. 프록시 사용자
    10. 보안 연결을 위해 SSL 사용
    1. 기본적인 SSL 개념
    2. SSL을 사용하는 MySQL의 구성
    3. SSL 연결 사용
    4. 명령 옵션
    5. MySQL에서의 SSL 인증서 및 키 설정
    11. SSH를 사용하여 Windows에서 MySQL에 대한 원격 연결
    12. MySQL Enterprise Audit 로그 플러그인
    13. SQL 기반의 MySQL 계정 활동 감사
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

6.3.10.4 SSL 명령 옵션

이 섹션에서는 SSL을 사용할지 여부를 지정하는 옵션과 SSL 인증서 및 키 파일의 이름을 지정하는 옵션에 대해 설명합니다. 이 옵션은 명령 행 또는 옵션 파일에서 지정할 수 있습니다. MySQL이 SSL 지원을 사용하여 구축되어 있지 않으면 이들을 사용할 수 없습니다. 섹션 6.3.10.2 "SSL을 사용하는 MySQL의 구성" 을 참조하십시오. 권장 사용 예 및 연결이 보안인지 여부를 확인하는 방법은 섹션 6.3.10.3 "SSL 연결 사용" 을 참조하십시오.

표 6.16 SSL 옵션 / 변수의 요약

이름 명령 행 옵션 파일 시스템 변수 상태 변수 변수 범위 동적
have_openssl

예
글로벌 아니오
have_ssl

예
글로벌 아니오
skip-ssl 예 예



ssl 예 예



ssl-ca 예 예

글로벌 아니오
- 변수 : ssl_ca

예
글로벌 아니오
ssl-capath 예 예

글로벌 아니오
- 변수 : ssl_capath

예
글로벌 아니오
ssl-cert 예 예

글로벌 아니오
- 변수 : ssl_cert

예
글로벌 아니오
ssl-cipher 예 예

글로벌 아니오
- 변수 : ssl_cipher

예
글로벌 아니오
ssl-crl 예 예

글로벌 아니오
- 변수 : ssl_crl

예
글로벌 아니오
ssl-crlpath 예 예

글로벌 아니오
- 변수 : ssl_crlpath

예
글로벌 아니오
ssl-key 예 예

글로벌 아니오
- 변수 : ssl_key

예
글로벌 아니오

  • --ssl

    서버에 대해이 옵션을 지정하면 서버에서 SSL 연결이 허용되지만 필수는 안됩니다.

    클라이언트 프로그램에 대해이 옵션을 지정하면 SSL을 사용하여 서버에 연결하는 클라이언트에 허용되지만 필수는 안됩니다. 따라서이 옵션만으로는 SSL 연결을 사용하는 데 충분하지 않습니다. 예를 들어,이 옵션을 클라이언트 프로그램을 지정하지만, 서버는 SSL 연결을 허용하도록 구성되어 있지 않으면 암호화되지 않은 연결이 사용됩니다.

    SSL 연결을 사용하기 위해 권장되는 SSL 옵션 설정으로 서버 측에서 적어도 --ssl-cert 및 --ssl-key 를 사용하여 클라이언트 측에서 --ssl-ca 를 사용합니다. 섹션 6.3.10.3 "SSL 연결 사용" 을 참조하십시오.

    기타 --ssl- xxx 옵션에 대한 설명에서 나타난 바와 같이 이러한 옵션은 --ssl 이 암묵적으로 지정되어있을 수 있습니다.

    --ssl 옵션을 중첩 된 형식으로 지정하면 기타 SSL을 무시하고 SSL을 사용하지 않도록 지정할 수 있습니다. 이렇게는 --ssl=0 또는 동의어 ( --skip-ssl , --disable-ssl )로 옵션을 지정합니다. 예를 들어, MySQL 클라이언트 프로그램을 호출 할 때 기본적으로 SSL 연결을 사용되도록 SSL 옵션을 옵션 파일의 [client] 그룹에 지정할 수 있습니다. 대신 암호화되지 않은 연결을 사용하려면 명령 줄에서 --skip-ssl 을 사용하여 클라이언트 프로그램을 호출하여 옵션 파일의 옵션을 재정의합니다.

    MySQL 계정에 SSL 연결의 사용을 요구하려면 해당 계정에 적어도 REQUIRE SSL 절을 포함한 GRANT 문을 발행합니다. MySQL에서 SSL 연결을 지원, 서버와 클라이언트가 적절한 SSL 옵션으로 시작되지 않은 경우 계정의 접속이 거부됩니다.

    REQUIRE 절은 기타 SSL 관련 옵션을 허용합니다. 이것을 사용하면 REQUIRE SSL 보다 엄격한 요구 사항을 강제로 적용 할 수 있습니다. 다양한 REQUIRE 옵션을 사용하여 구성되어있는 계정을 사용하여 연결하는 클라이언트가 어떤 SSL 명령 옵션을 지정할 수 있는지, 또는 어떤 옵션을 지정할 필요가 있는지에 대한 자세한 내용은 섹션 13.7.1.4 "GRANT 구문" 에서 REQUIRE 의 설명을 참조하십시오.

  • --ssl-ca= file_name

    신뢰할 수있는 SSL 인증 기관의 목록을 포함 PEM 형식의 파일 경로. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

    클라이언트 연결을 설정할 때 SSL을 사용하여 서버 인증서를 인증하지 않도록 클라이언트에 지시하는 경우 --ssl-ca 도 --ssl-capath 도 지정하지 않습니다. 서버는 계속 클라이언트 계정에 GRANT 문을 사용하여 확립 된 적용 가능한 요구 사항에 따라 클라이언트를 확인하고 서버 시작시 지정된 --ssl-ca 또는 --ssl-capath 옵션 값을 사용합니다.

  • --ssl-capath= dir_name

    PEM 형식의 신뢰할 수있는 SSL 인증 기관 인증서를 포함하는 디렉토리의 경로. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

    클라이언트 연결을 설정할 때 SSL을 사용하여 서버 인증서를 인증하지 않도록 클라이언트에 지시하는 경우 --ssl-ca 도 --ssl-capath 도 지정하지 않습니다. 서버는 계속 클라이언트 계정에 GRANT 문을 사용하여 확립 된 적용 가능한 요구 사항에 따라 클라이언트를 확인하고 서버 시작시 지정된 --ssl-ca 또는 --ssl-capath 옵션 값을 사용합니다.

    OpenSSL 지원을 사용하여 구축 된 MySQL 배포는 --ssl-capath 옵션을 지원합니다. yaSSL은 어떤 디렉토리에도 표시되지 않고 체인 인증서 트리를 거치지 않기 때문에 yaSSL를 사용하여 구축 된 배포에서는 지원되지 않습니다. yaSSL는 CA 인증서 트리의 모든 구성 요소를 단일 CA 인증서 트리에 포함하여 그 파일의 각 인증서는 고유의 SubjectName 값을 가질 필요가 있습니다. 이러한 yaSSL 제한을 해결하려면 인증서 트리를 구성하는 개별 인증서 파일을 새 파일에 연결하고 파일을 --ssl-ca 옵션의 값으로 지정합니다.

  • --ssl-cert= file_name

    보안 연결을 설정하는 데 사용되는 PEM 형식의 SSL 인증서 파일의 이름입니다. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

  • --ssl-cipher= cipher_list

    SSL 암호화에 사용하는 허용되는 암호의 목록입니다. 목록에서 암호화가 지원되지 않으면 SSL 연결이 작동하지 않습니다. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

    이식성을 최대화하려면 cipher_list 를 콜론으로 구분 된 하나 이상의 암호화 이름의 목록을 지정하도록하십시오. 이 형식은 OpenSSL과 yaSSL 모두 인식됩니다. 예 :

     --ssl-cipher = AES128-SHA
     --ssl-cipher = DHE-RSA-AES256-SHA : AES128-SHA
    

    http://www.openssl.org/docs/apps/ciphers.html 에있는 OpenSSL의 문서에 설명 된대로 OpenSSL에서는 암호를 지정하기위한보다 유연한 구문을 지원하고 있습니다. 그러나 yaSSL에서 지원되지 않기 때문에 yaSSL를 사용하여 구축 된 MySQL 배포판에서 확장 구문을 사용하려고하면 실패합니다.

    OpenSSL은 서버가 링크되어있는 버전에 따라 지원되는 암호가 다를 수 있습니다. 예를 들어, 목록에는 다음의 암호화가 포함되어있을 수 있습니다.

     AES256-GCM-SHA384
     AES256-SHA
     AES256-SHA256
     CAMELLIA256-SHA
     DES-CBC3-SHA
     DHE-DSS-AES256-GCM-SHA384
     DHE-DSS-AES256-SHA
     DHE-DSS-AES256-SHA256
     DHE-DSS-CAMELLIA256-SHA
     DHE-RSA-AES256-GCM-SHA384
     DHE-RSA-AES256-SHA
     DHE-RSA-AES256-SHA256
     DHE-RSA-CAMELLIA256-SHA
     ECDH-ECDSA-AES256-GCM-SHA384
     ECDH-ECDSA-AES256-SHA
     ECDH-ECDSA-AES256-SHA384
     ECDH-ECDSA-DES-CBC3-SHA
     ECDH-RSA-AES256-GCM-SHA384
     ECDH-RSA-AES256-SHA
     ECDH-RSA-AES256-SHA384
     ECDH-RSA-DES-CBC3-SHA
     ECDHE-ECDSA-AES128-GCM-SHA256
     ECDHE-ECDSA-AES128-SHA
     ECDHE-ECDSA-AES128-SHA256
     ECDHE-ECDSA-AES256-GCM-SHA384
     ECDHE-ECDSA-AES256-SHA
     ECDHE-ECDSA-AES256-SHA384
     ECDHE-ECDSA-DES-CBC3-SHA
     ECDHE-RSA-AES128-GCM-SHA256
     ECDHE-RSA-AES128-SHA
     ECDHE-RSA-AES128-SHA256
     ECDHE-RSA-AES256-GCM-SHA384
     ECDHE-RSA-AES256-SHA
     ECDHE-RSA-AES256-SHA384
     ECDHE-RSA-DES-CBC3-SHA
     EDH-DSS-DES-CBC3-SHA
     EDH-RSA-DES-CBC3-SHA
     PSK-3DES-EDE-CBC-SHA
     PSK-AES256-CBC-SHA
     SRP-DSS-3DES-EDE-CBC-SHA
     SRP-DSS-AES-128-CBC-SHA
     SRP-DSS-AES-256-CBC-SHA
     SRP-RSA-3DES-EDE-CBC-SHA
     SRP-RSA-AES-128-CBC-S
     SRP-RSA-AES-256-CBC-SHA
    

    yaSSL는 다음의 암호화를 지원하고 있습니다.

     AES128-RMD
     AES128-SHA
     AES256-RMD
     AES256-SHA
     DES-CBC-SHA
     DES-CBC3-RMD
     DES-CBC3-SHA
     DHE-RSA-AES128-RMD
     DHE-RSA-AES128-SHA
     DHE-RSA-AES256-RMD
     DHE-RSA-AES256-SHA
     DHE-RSA-DES-CBC3-RMD
     EDH-RSA-DES-CBC-SHA
     EDH-RSA-DES-CBC3-SHA
     RC4-MD5
     RC4-SHA
    

    특정 서버에서 지원되는 암호를 정확하게 확인하려면 다음 쿼리를 사용하여 Ssl_cipher_list 상태 변수의 값을 확인합니다.

     SHOW STATUS LIKE 'Ssl_cipher_list';
    
  • --ssl-crl= file_name

    인증서 해지 목록을 포함 PEM 형식의 파일 경로. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

    --ssl-crl 도 --ssl-crlpath 지정되지 않은 경우 CA 경로에 인증서 해지 목록이 포함되어 있어도 CRL 검사가 실행되지 않습니다.

    OpenSSL을 사용하여 구축 된 MySQL 배포는 --ssl-crl 옵션을 지원합니다. yaSSL는 인증서 해지 목록이 작동하지 않기 때문에 yaSSL를 사용하여 구축 된 배포에서는 지원되지 않습니다.

    이 옵션은 MySQL 5.6.3에서 추가되었습니다.

  • --ssl-crlpath= dir_name

    인증서 해지 목록을 포함 PEM 형식의 파일이 포함 된 디렉토리 경로. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

    --ssl-crl 도 --ssl-crlpath 지정되지 않은 경우 CA 경로에 인증서 해지 목록이 포함되어 있어도 CRL 검사가 실행되지 않습니다.

    OpenSSL을 사용하여 구축 된 MySQL 배포는 --ssl-crlpath 옵션을 지원합니다. yaSSL는 인증서 해지 목록이 작동하지 않기 때문에 yaSSL를 사용하여 구축 된 배포에서는 지원되지 않습니다.

    이 옵션은 MySQL 5.6.3에서 추가되었습니다.

  • --ssl-key= file_name

    보안 연결을 설정하는 데 사용되는 PEM 형식의 SSL 키 파일의 이름. 이 옵션은 내재적으로 --ssl 을 나타냅니다.

    MySQL 배포판이 OpenSSL 또는 (MySQL 5.6.3 시점의) yaSSL를 사용하여 구축 된 키 파일이 암호로 보호되어있는 경우 프로그램에서 암호를 입력하라는 메시지가 사용자에게 표시됩니다. 암호는 대화식으로 지정해야 파일에 저장 될 수 없습니다. 암호가 올바르지 않으면 키를 읽을 수없는 경우와 마찬가지로 프로그램이 계속됩니다. MySQL 5.6.3 이전에서는 MySQL 배포판을 yaSSL를 사용하여 구축 된 키 파일이 암호로 보호되어있는 경우 오류가 발생합니다.

  • --ssl-verify-server-cert

    이 옵션은 클라이언트 프로그램에서만 사용할 수 있으며 서버에서는 사용할 수 없습니다. 이렇게하면 서버가 클라이언트에 보내는 인증서의 서버 Common Name 값이 클라이언트에 의해 확인됩니다. 클라이언트는 서버에 연결할 때 클라이언트에서 사용되는 호스트 이름과 일치하는 이름을 확인하고 일치가 없으면 연결에 실패합니다. 이 기능은 중간자 공격을 방지하기 위해 사용할 수 있습니다. 검증은 기본적으로 비활성화되어 있습니다.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved