sourcecode

MariaDB 10.1 암호화 확인

copyscript 2022. 9. 17. 09:52
반응형

MariaDB 10.1 암호화 확인

MariaDB에 테이블 수준의 InnoDB 데이터베이스 암호화를 설정하였습니다.

데이터가 제대로 암호화되었는지 확인할 수 있는 방법이 있는지 알고 싶습니다.검색해 보았습니다./var/lib/mysql/ibdata1하지만 그게 믿을 만한 테스트인지 아닌지 모르겠어요

저는 이 질문을 mariadb.com에 올렸습니다.그때의 제안은 알려진 데이터에 대해 grep을 실행하는 것이었습니다.

Rackspace의 DBA는 다음과 같은 바이너리 데이터를 보다 효율적으로 처리하기 위해 strings 명령을 대신 사용할 것을 제안했습니다.

strings /var/lib/mysql/sample_table/user.ibd | grep "knownuser"

이 방법에서는 암호화된 테이블에 대한 결과가 반환되지 않고 암호화되지 않은 테이블에 대한 결과가 반환됩니다(양쪽에 "knownuser"가 로드되어 있는 경우).

information_schema.innodb_tablespaces_encryption을 쿼리할 수 있습니다.innodb 테이블스페이스가 암호화되면 테이블 내에 존재합니다.

SELECT * FROM information_schema.INNODB_TABLESPACES_ENCRYPTION 
WHERE NAME LIKE 'db_encrypt%';

원천

테스트에 대한 조언은 암호화 키를 사용하지 않고 전체 데이터 집합을 다른 노드에 복사하고 MySQL을 시작하고 암호화된 테이블을 쿼리하는 것입니다.유효한 암호화 키가 없기 때문에 읽을 수 없을 것이라고 추측하고 있습니다.

디스크상의 파일을 보존하고 있는 상태로 해석하는 것은, 특수한 툴이 없는 한 어려운 일이 있습니다.아마도 Jeremy Cole의 innodb_http://https://github.com/jeremycole/innodb_ruby 같은 것이 또 다른 리트머스 테스트일 것이다.

[로그를 암호화하는 키를 변경해도 기능하지 않습니다.]

  • 데이터베이스 서버를 중지합니다.
  • 키 파일 백업
  • 키 파일에서 키를 변경합니다.(델트하지 마세요.서버를 재기동할 수 없는 경우에도 유효한 키를 유지할 필요가 있습니다.)

  • MariaDB를 다시 시작합니다.

  • 표를 읽어 봅니다(예를 들어 phpMyAdmin 사용).

올바르게 암호화되면 다음과 같은 답이 있습니다. "테이블이 암호화되어 있습니다.암호화 테이블을 읽으려고 할 수 있습니다.

  • 마리아를 멈춰라
  • 백업을 복원합니다.
  • 마리아를 재기

언급URL : https://stackoverflow.com/questions/33817877/verifying-mariadb-10-1-encryption

반응형