2013-08-01 2 views
0

그래서 정기적으로 내 사이트의 db를 백업 할 cron 작업에 연결되는 PHP 스크립트를 작성합니다. db는 매일 새로운 SQL 파일에 저장됩니다. 라이브 버전에 불행한 일이 발생해야합니다. DB 구조와 사용자 전자 메일 주소 (암호가 암호화되어 있음)를 모두 노출하면서 이러한 파일 중 하나를 보유 할 수있는 사람이 얼마나 안 좋은지 알고 있습니다.안전한 방법으로 sql 파일을 저장하는 방법 apache server

저는 보안에 정통한 사람이 아닙니다. 처음으로 제대로 돌아와야 할 것들 중 하나입니다. 나는 신뢰할 수있는 스택 오버 플로우 커뮤니티에 대해 물어볼 것이므로 도움을 요청하는 것이 가장 좋을 때 인정할 것을 자랑스러워하지 않을 것입니다. (나는 어딘가에 비슷한 질문이있을 것이라고 생각하지만, 그것을 찾을 수 없었다.)

이러한 파일에 액세스 할 수 없도록하려면 어떤 단계를 수행해야합니까? 아파치 서버입니다. 그룹 읽기/쓰기 (공개 읽기 없음)로 제한되는 루트 외부의 디렉토리에 저장하는 것으로 충분합니까? 아니면 디렉토리를 암호로 보호하거나 실제 파일을 암호화해야합니까? 파일을 암호화 할 필요가 없다면 정말 좋지 않을 것입니다. 단지 파일을 사용하는 것이 더 고통 스러울 것입니다. 그러나 필요하다면 ...

관련 파일 액세스 응용 프로그램 인터페이스에 내장되지 않습니다. http 요청으로 액세스 할 필요가 없거나 액세스 할 수 있습니다. FTP 전용. 그래서 내 질문에 UI의 비밀 번호 보호에 관한되지 않습니다.

시간 내 주셔서 감사합니다.

+1

웹 루트 외부에 저장합니다. 모두 –

답변

0

당신이 웹 루트의 외부를 저장하고 ssh 이상 rsync 같은 뭔가를 다운로드해야하는 경우 서버

에 저장.

최선의 선택 (당신의 MySQL을 실행하는 가정)

서버에 저장할 아니라 로컬 컴퓨터에 크론을 실행하고 해당 지역에 덤프를 할 sshMySQL을 사용하지 마십시오 체계. 그런 식으로 누군가가 가질 수있는 불길한 파일이 없습니다 (물론 로컬 네트워크가 손상되지 않는 한) 모든 데이터가 들어 있습니다.

또한 로컬 MySQL 서버를 설정하여 로컬 컴퓨터에 database replication 일에 보일 수 있습니다 또 다른 옵션 (MySQL은 다시 또 다른 예)

.

+0

서버에있는 파일에 액세스 할 수있는 사람이 있으면 서버의 데이터베이스에 액세스 할 수 있습니다. –

+0

@ 대괄호가 반드시 필요하지는 않습니다. 시스템에 다양한 사용자가있을 수 있습니다. 공유 호스팅, 공유 VPS, 전용 관리 및 자체 관리 시스템에는 다양한 사용자 계정과 액세스 권한이 있습니다. 시스템에 ROOT가있는 사용자는 시스템에 액세스 할 수 있습니다. 실제로 MySQL은 때때로 서버를 실행하는 자신의 사용자 계정을 가질 수 있습니다. 그렇게하면 데이터베이스에 대한 액세스를 관리 할 수 ​​있습니다. 웹에서 플러그가 뽑혀 있지 않는 한 서버 설정에 대해 아무 것도 생각하지 마십시오. –

+0

@Dagon DBA와 같은 사람은 데이터베이스에 액세스 할 수 있으며 웹 디자이너와 같은 사람은 동일한 시스템에 액세스 할 수 있습니다. 두 개의 다른 액세스 영역이 있어야하지만 원격으로 검색 할 수있는 위치에 파일을 저장하기 시작하면 해당 영역을 교차합니다. –

관련 문제