MySQL 포트 3306은 암호화되어 있으며 그렇지 않은 경우 어떻게 암호화 할 수 있습니까? 사항 중 하나는

직장에서 시스템에 대한 보안 감사를 진행하고 있으며 요구 사항 중 하나는 공용 / 보호되지 않은 네트워크를 통해 모든 트래픽을 암호화하는 것입니다. 사무실 네트워크에서 외부 서버 중 하나의 MySQL 데이터베이스 (포트 3306을 통해)에 액세스하므로 MySQL에 대한 연결을 암호화해야합니다.

이미 암호화되어 있으며 암호화되어 있지 않은 경우 어떻게 암호화 할 수 있습니까?

멋진 SSH 포트 포워드 또는 VPN을 사용할 수없는 도구와 스크립트를 사용하고 있습니다 … 여전히 가능합니까?



답변

아니요, 기본적으로 mysql 트래픽은 암호화되지 않습니다. 연결별로 OpenSSL과 작동하도록 MySQL 설정하는 것이 가장 좋습니다. 요즘 대부분의 바이너리는 SSL을 지원하도록 만들어졌지만 버전이이를 지원하는지 쉽게 확인할 수 있습니다. 설명서에서 :

서버 바이너리가 SSL 지원으로 컴파일되었는지 확인하려면 –ssl 옵션을 사용하여이를 호출하십시오. 서버가 SSL을 지원하지 않으면 오류가 발생합니다.

shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'

답변

기본적으로 MySQL은 클라이언트 / 서버 통신을 암호화하지 않습니다.

SSL을 통한 연결을 허용하고 사용자에게 SSL을 사용하도록 MySQL을 설정할 수 있습니다. SSL 설정 가이드는 다음과 같습니다.