MariaDB 클라언트-서버 TLS/SSL 암호화 연결(3)
MySQL / MariaDB 에 TLS 를 활성화 하고 클라이언트를 사용시 몇 가지 사례를 살펴본다.
글 타래:
- MariaDB 클라언트-서버 TLS/SSL 암호화 연결(1)
- MariaDB 클라언트-서버 TLS/SSL 암호화 연결(2)
- MariaDB 클라언트-서버 TLS/SSL 암호화 연결(3)
글 진행 순서:
- Grant 와 SSL 사용
1. Grant 와 SSL 사용
GRANT 로 어떤 사용자에게 SSL 을 필수로 지정한다.
1 | mysql> grant all privileges on freedb.* to 'USERID'@'%' require ssl; |
결과적으로 USERID 가 freedb 에서 허용된 권한은 다음 같다
1 | mysql> show grants for 'USERID'@'%'; |
이 계정에 주어진 SSL 필수 권한 상태에서 MySQL Workbench로 SSl 을 강제로 끄고 연결해 보자.
SSL을 연결하지 않고 접속하면 접근을 막는 것을 확인할 수 있다.
2. TLS 세션 확인
mysqlclient, MySQLworkbench 혹은 Python/C/Java 등에서 DBI 인터페이스로 SSL 을 연결하고 SQL 을 실행한다. 이때 접속한 세션이 TLS 상태로 연결됐는지를 확인할 수 있다.
접속한 클라이언트에서 아래 SQL 로 Ssl_cipher
를 검색해보면 현재 세션이 TLS 상태인지를 확인이 가능하다. 빈 결과가 나오면 평문 TCP/IP 으로 접속되 것이다.
1 | > show session status like 'Ssl_cipher'; |
—
MariaDB 클라언트-서버 TLS/SSL 암호화 연결(3)