집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?
MySQL 연결에 대한 SSL/TLS 암호화를 구성하려면 다음을 수행하십시오.
server-cert.pem
), 서버 키 ( server-key.pem
), 클라이언트 인증서 ( client-cert.pem
) 및 클라이언트 키 ( client-key.pem
)가 포함됩니다. 이 파일은 MySQL 서버의 보안 디렉토리에 배치해야합니다. MySQL 서버 구성 : MySQL 구성 파일 편집 (운영 체제에 따라 my.cnf
또는 my.ini
). [mysqld]
섹션에서 다음 줄을 추가하거나 수정하십시오.
<code>[mysqld] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/server-cert.pem ssl-key=/path/to/server-key.pem</code>
인증서가 저장된 실제 경로로 /path/to/
교체하십시오.
서버 SSL 구성 확인 : MySQL에 연결하고 다음 명령을 실행하여 서버가 SSL을 사용하고 있는지 확인하십시오.
<code>SHOW VARIABLES LIKE 'have_ssl';</code>
출력은 YES
보여 주어야합니다.
MySQL 클라이언트 구성 : 클라이언트가 연결에 SSL을 사용하도록하려면 클라이언트 구성 파일 또는 런타임에 SSL 옵션을 지정할 수 있습니다. 예를 들어 MySQL 클라이언트 구성 파일 ( my.cnf
또는 my.ini
)의 [client]
섹션에 다음 줄을 추가 할 수 있습니다.
<code>[client] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/client-cert.pem ssl-key=/path/to/client-key.pem</code>
SSL 연결 테스트 : 클라이언트를 사용하여 MySQL 서버에 연결하고 클라이언트 구성 파일에 아직 구성되지 않은 경우 SSL 옵션을 지정합니다. 명령 사용 :
<code>mysql -h hostname -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem</code>
연결되면 실행하여 SSL 상태를 확인할 수 있습니다.
<code>STATUS;</code>
출력에는 SSL: Cipher in use
.
MySQL의 SSL 인증서를 생성하고 설치하려면 다음 단계를 수행하십시오.
인증 기관 (CA) 인증서 생성 : OpenSSL을 사용하여 CA 인증서 및 키를 만듭니다. 다음 명령을 실행하십시오.
<code>openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem</code>
국가 이름 및 조직 이름과 같은 CA에 대한 세부 정보를 입력하라는 메시지가 표시됩니다.
서버 인증서 및 키 생성 : 서버 인증서 요청을 작성하고 CA에 서명하십시오.
<code>openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem</code>
서버 요청을 생성 할 때 Common Name
MySQL 서버의 호스트 이름과 일치하는지 확인하십시오.
클라이언트 인증서 및 키 생성 : 마찬가지로, 마찬가지로, 클라이언트 인증서 요청을 작성하고 CA에 서명하십시오.
<code>openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem openssl rsa -in client-key.pem -out client-key.pem openssl x509 -req -in client-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 02 -out client-cert.pem</code>
/etc/mysql/ssl/
사용할 수 있습니다.my.cnf
또는 my.ini
)을 편집하십시오.예, MySQL SSL/TLS 암호화에 자체 서명 된 인증서를 사용할 수 있습니다. 그러나 고려해야 할 몇 가지 보안 영향이 있습니다.
SSL/TLS 암호화가 MySQL 연결에 올바르게 작동하는지 확인하려면 다음을 수행하십시오.
MySQL 서버 구성 확인 : MySQL 서버에 연결하여 실행하십시오.
<code>SHOW VARIABLES LIKE 'have_ssl';</code>
출력은 SSL이 활성화되어 있음 YES
나타냅니다.
SSL 연결 상태 확인 : MySQL 서버에 연결되면 실행하십시오.
<code>STATUS;</code>
출력에는 사용중인 암호를 보여주는 SSL
필드가 포함되어야합니다. 예를 들어 SSL: Cipher in use is TLS_AES_256_GCM_SHA384
.
SHOW STATUS
COMMANT : 다음 명령을 실행하여 SSL 연결에 대한 자세한 정보를 얻으십시오.
<code>SHOW STATUS LIKE 'Ssl_cipher';</code>
이것은 현재 연결에 사용되는 암호를 보여 주어야합니다.
SSL 옵션으로 클라이언트 연결 확인 : SSL 옵션이 지정된 클라이언트를 사용하여 MySQL 서버에 연결하십시오.
<code>mysql -h hostname -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem</code>
연결이 성공하고 STATUS
명령을 사용하여 SSL 상태를 확인할 수 있습니다.
SSL 연결 메트릭 모니터링 : 실행을 통해 SSL 연결 메트릭을 모니터링 할 수 있습니다.
<code>SHOW GLOBAL STATUS LIKE 'Ssl%';</code>
이 명령은 Ssl_accepts
, Ssl_accept_renegotiates
및 Ssl_client_connects
와 같은 다양한 SSL 관련 상태 변수를 제공하므로 서버의 전체 SSL 사용량을 평가할 수 있습니다.
이 단계를 수행하면 SSL/TLS 암호화가 MySQL 연결에 적절히 구성되고 작동되도록 할 수 있습니다.
위 내용은 MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!