Loading...
MySQL 9.5 Reference Manual 9.5의 19.3.2 Encrypting Binary Log Files and Relay Log Files의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
19.3.2.1 Scope of Binary Log Encryption 19.3.2.2 Binary Log Encryption Keys 19.3.2.3 Binary Log Master Key Rotation
MySQL binary log file과 relay log file은 암호화할 수 있으며, 이를 통해 이러한 file과 그 안에 포함된 잠재적으로 민감한 data를 외부 공격자에 의해 오용되는 것으로부터 보호하고, 또한 file이 저장되어 있는 운영 체제의 사용자에 의한 무단 열람으로부터도 보호하는 데 도움이 됩니다. 이들 file에 사용되는 암호화 알고리즘인 AES(Advanced Encryption Standard) cipher algorithm은 MySQL Server에 내장되어 있으며, 설정으로 변경할 수 없습니다.
MySQL server에서 이 암호화를 사용하려면 binlog_encryption system variable을 ON으로 설정합니다. 기본값은 OFF입니다. 이 system variable은 binary log file과 relay log file에 대해 암호화를 활성화합니다. server에서 binary logging을 활성화하지 않았더라도 암호화를 활성화할 수 있으므로, binary log가 없는 replica에서도 relay log file을 암호화할 수 있습니다.
암호화를 사용하려면, MySQL Server의 키링 서비스를 제공하도록 설치 및 설정된 keyring component 또는 plugin이 있어야 합니다. 이 작업을 수행하는 방법은 Section 8.4.5, “The MySQL Keyring”을 참조하십시오. 지원되는 모든 keyring component 또는 plugin을 binary log 암호화 키를 저장하는 데 사용할 수 있습니다.
암호화가 활성화된 상태로 server를 처음 시작하면, binary log와 relay log가 초기화되기 전에 새로운 binary log 암호화 키가 생성됩니다. 이 키는 각 binary log file(server에서 binary logging이 활성화된 경우)과 각 relay log file(server에 복제 채널이 있는 경우)에 대한 파일 암호를 암호화하는 데 사용되며, 파일 암호에서 추가로 생성된 키는 file 안의 data를 암호화하는 데 사용됩니다.
현재 server에서 사용 중인 binary log 암호화 키를 binary log master key라고 합니다. 이러한 2단계 암호화 키 아키텍처 덕분에 필요에 따라 binary log master key를 회전(새 master key로 교체)할 수 있으며, 각 file의 전체 내용을 새 master key로 다시 암호화할 필요 없이 파일 암호만을 새 master key로 다시 암호화하면 됩니다. relay log file은 암호화가 활성화된 후에 생성된 새로운 채널을 포함하여 모든 채널에 대해 암호화됩니다. binary log index file과 relay log index file은 암호화되지 않습니다.
server가 실행 중인 동안 암호화를 활성화하면, 그 시점에 새로운 binary log 암호화 키가 생성됩니다. 예외는, 이전에 server에서 암호화가 활성화된 후 비활성화된 경우로, 이때는 이전에 사용되던 binary log 암호화 키가 다시 사용됩니다. binary log file과 relay log file은 즉시 회전되며, 새 file과 이후의 모든 binary log file 및 relay log file에 대한 파일 암호는 이 binary log 암호화 키를 사용해 암호화됩니다. server에 여전히 남아 있는 기존 binary log file과 relay log file은 암호화되지 않은 상태로 유지되지만, 더 이상 필요하지 않다면 purge할 수 있습니다.
binlog_encryption system variable을 OFF로 변경하여 암호화를 비활성화하면, binary log file과 relay log file은 즉시 회전되며, 이후의 모든 logging은 암호화되지 않은 상태로 기록됩니다. 이전에 암호화된 file은 자동으로 복호화되지는 않지만, server는 여전히 해당 file을 읽을 수 있습니다. server가 실행 중인 동안 암호화를 활성화하거나 비활성화하려면 BINLOG_ENCRYPTION_ADMIN privilege가 필요합니다.
암호화된 binary log file은 file header 시작 부분의 magic number를 통해 구분할 수 있습니다. 암호화된 log file에는 (0xFD62696E)이 사용되며, 이는 암호화되지 않은 log file에 사용되는 magic number(0xFE62696E)와 다릅니다. SHOW BINARY LOGS statement는 각 binary log file이 암호화되었는지 여부를 보여줍니다.
binary log file이 암호화된 경우, mysqlbinlog은 file을 직접 읽을 수 없지만, --read-from-remote-server option을 사용하여 server에서 읽어올 수 있습니다. 암호화된 binary log file을 mysqlbinlog을 사용해 backup하는 경우, mysqlbinlog로 생성된 file 사본은 암호화되지 않은 형식으로 저장된다는 점에 유의하십시오.
binary log encryption은 binary log transaction compression과 함께 사용할 수 있습니다. binary log transaction compression에 대한 자세한 내용은 Section 7.4.4.5, “Binary Log Transaction Compression”을 참조하십시오.
19.3.1 Setting Up Replication to Use Encrypted Connections
19.3.3 Replication Privilege Checks