2013-07-24 2 views
1

나는 cron 작업을 사용하여 매주 db를 백업하기 위해 MySQLDump를 사용하려고합니다. 셸 스크립트에서 자격 증명을 하드 코딩하고 싶지 않습니다. MySQL 데이터베이스 버전은 5.1이므로 mysql-config-editor를 사용할 수 없습니다. 리눅스 파일 권한 600을 사용하여 보안 설정할 수있는 옵션 파일을 알고 있습니다. 자격 증명을 암호화하여 읽을 수 없게 만들 수 있습니까?MySQLDump의 백업 자격 증명 보안

+0

SQLyog와 같은 GUI를 사용하여 예약 된 백업을 수행 할 수 있습니다. 작업 파일에는 암호화 된 암호가 있습니다. –

답변

1

자격 증명을 암호화하고 읽을 수 없게 만드는 방법이 있습니까?

누가 파일을 보호하고 싶은지와 암호화가 일반 파일 권한 외에 도움이되는지 묻습니다.

암호가 포함 된 파일을 암호화하려면 합법적 인 백업 프로세스가 암호 키에 액세스 할 수 있도록하여 파일에서 암호를 읽을 수 있도록해야합니다. 그런 다음 다른 모든 프로세스가 해당 키에 액세스하지 못하도록해야합니다.

이로 인해 작업이 훨씬 복잡해지기 때문에 기본 파일 시스템 보안 모델 위에 보안을 추가하지 않고도 누출 위험이 높아집니다. 따라서 .my.cnf 파일에 대한 올바른 소유권 및 파일 사용 권한을 유지하는 것이 좋습니다.

추가 읽기 : http://benlog.com/articles/2012/04/30/encryption-is-not-gravy/

나는 개인적으로 cron을 통해 루트로 매일 mysqldump를 실행합니다. 이것을 깨기 위해서는 침입자가 /root/.my.cnf (모드는 600이고 root가 소유)에 액세스하기 전에 기본적인 파일 시스템 권한을 파괴해야합니다. 침입자가이를 수행 할 수 있다면 데이터베이스 파일에 직접 액세스 할 수 있으므로 암호화 된 암호 파일은 여기에서 도움이되지 않습니다.

~/.my.cnf의 모드가 600이고 소유권이 해당 시스템 사용자로 설정된 경우에만 mysqldump를 실행하기위한 전용 시스템 사용자를 설정할 수도 있습니다.

ps. 이것은 내 컴퓨터에서 매일 실행하는 mysql 백업 스크립트입니다. https://gist.github.com/timkuijsten/6067107

0

최신 버전의 MySQL 5.6이이 문제를 해결합니다. 이제 mysql_config_editor를 사용하여 명령 줄 로그인 암호를 암호화 할 수 있습니다.