제가 운영하는 RDS의 인증서 만료 메세지가 와서 내용에 대한 정리를 하려 글을 씁니다.
먼저 잘 정리된 글이있어서 출처의 글을 참고를 많이 하였습니다.
현재 rds mysql의 버전은 8.0.35입니다.
show global variables like 'version';
Variable_name|Value |
-------------+------+
version |8.0.35|
RDS에 접속시 나오는 인증서 업데이트 권고 메세지입니다. 2024년 8월 22일에 인증서가 만료되므로 업데이트하라는 내용입니다.
그럼 인증서는 무엇이고 어떻게 해야하는지 알아보겠습니다.
1.SSL/TLS 란?
MySQL 8.0이상에 client 접속을 시도하다보면 아래의 메세지를 자주 볼 수 있는데요, 접속 시 usessl의 설정과 관련해서 파라미터값의 설정에 따라 에러가 발생하는 경우입니다. 이는 파라미터 설정을 바꾸면 쉽게 해결되는 문제이긴 한데요.
https://bae9086.tistory.com/508#google_vignette
SSL은 Secure Sockets Layer 약자이고 TLS는 Transport Layer Security 약자로 암호화 전송 또는 전송 계층 보안에 의미를 담고 있습니다.
이때 인증서를 이용하여 서버/클라이언트간의 버전이 맞아야 호환성이 맞게되고 통신이 가능하게 된다는 것이네요.
MySQL은 버전별로 지원하는 SSL/TLS버전에 대한 부분이 정해져있습니다.
클아이언트에서도 환경에 따라 지원되는 SSL/TLS버전이 정해져있습니다.
현재 8.0.35이므로 제일 아래의 TLSv1.2, TLSv1.3 이것만 지원된다고 보면 되겠네요.
서버에서 직접 tls_version을 확인해보겠습니다.
show global variables like 'tls_version';
Variable_name|Value |
-------------+---------------+
tls_version |TLSv1.2,TLSv1.3|
아래 쿼리를 통해 접속된 세션들의 접속 방식 등을 확인할 수 있습니다.
select b.processlist_user,
b.processlist_id,
b.connection_type,
a.ssl_version,
a.ssl_cipher
from sys.session_ssl_status a join performance_schema.threads b
on a.thread_id= b.thread_id
where ssl_version is not null
order by ssl_version desc;
processlist_user|processlist_id|connection_type|ssl_version|ssl_cipher|
----------------+--------------+---------------+-----------+----------+
zabbix | 61128|TCP/IP | | |
zabbix | 41|TCP/IP | | |
...
자기 세션 확인
show session status like 'ssl_version';
Variable_name|Value|
-------------+-----+
Ssl_version | |
확인결과 메인 애플리케이션 유저들은 TCP/IP 방식으로 접근해서 사용하네요.
아마 RDS의 인증서 업데이트를 진행해도 현재 애플리케이션의 변경을 할 필요는 없을 것 같습니다.
다음시간에는 실제로 인증서 업데이트를 rds에서 수행하고 정리해보도록 하겠습니다.
'클라우드 > AWS' 카테고리의 다른 글
[RDS] SSL 인증서 만료 업데이트 (0) | 2024.06.19 |
---|---|
AWS Certified Developer - Associate 합격후기 (0) | 2022.08.10 |
AWS Certified Cloud Practitioner 자격증 합격 후기 및 공부방법 (0) | 2022.04.04 |
AWS 서비스의 종류 (0) | 2020.03.27 |
댓글