2011-04-09 6 views
3

나는 몇 차례 수색했지만이 문제에 관해서는 불분명 한 답을 제시하지 못했습니다.MySQL의 중요한 데이터를 보호하는 방법은 무엇입니까?

중요한 정보 (중간 크기의 텍스트)를 저장하는 웹 앱을 개발하고 있으며 웹 사이트 자체는 안전한 웹 호스팅 제공 업체에서 호스팅됩니다. 그러나 필자는 phpMyAdmin과 같은 데이터베이스에 대한 원치 않는 액세스에 대해 걱정하지 않고 MySQL에 민감한 텍스트를 저장하는 가장 좋은 방법이 무엇인지 궁금해하며 (차트 생성과 같이 사용자 대신 해당 정보에 대한 작업을 수행 할 수 있습니다. pdfs 작성).

내 영어를 사용해 주셔서 감사합니다.

+2

영어가 완벽했습니다. – dugas

+2

@thedugas와 동의 - 나는 네이티브 스피커에서 훨씬 더 영어를 보았다. – ceejayoz

+0

@thehudgas @ceejayoz 감사합니다. 감사합니다. :) – Sallar

답변

5

서버를 제어하지 않으면 보안이 전혀 없습니다.

  1. 서버를 제어하십시오.
  2. mysql 보안 모델을 사용하여 phpmyadmin 또는 기타 등으로 누가 데이터를 볼 수 있는지 제한 할 수 있습니다.

충분하지 않다면 암호화에 대해 생각해 볼 수 있습니다. 그러나 키를 어딘가에 저장해야하므로 이제는 mysql 암호로 시작한 곳으로 되돌아갑니다.

+0

어떤 종류의 암호화를 제안합니까? – Sallar

3

하나의 옵션은 MySQL의 내장 암호화를 사용하는 것입니다 (Encryption and Compression Functions 참조). 다른 주요 옵션은 바이너리 필드를 사용하고 애플리케이션에서 AES를 사용하여 암호화하는 것입니다.

서버에 키를 저장하면 서버와 데이터베이스에 액세스 할 수있는 모든 사람이 데이터를 해독 할 수 있습니다. 이것이 너무 우려된다면 사용자로부터 키를 얻는 방법을 고려해야합니다. 안전하고 편리한 방법으로하기가 어려울 수 있습니다.

+0

이렇게하면 암호화 된 열에서 인덱스가 쓸모 없게됩니다. 트레이드 오프의 무언가. – ceejayoz

+0

내 데이터를 검색 가능하게하려면 어떻게해야합니까? – Sallar

+1

전체 텍스트 검색에는 [Lucene] (http://lucene.apache.org/java/docs/) 또는 [Solr] (http://lucene.apache.org/solr/)를 사용하는 것이 좋습니다. 데이터를 암호화하지 않은 경우 그러나 문제는 그 색인이 암호화되지 않으면 데이터가 그로부터 재구성 될 수 있다는 것입니다.bmargulies가 제안하는대로 서버를 완벽하게 제어하려는 것 같습니다. [linode] (http://www.linode.com/?r=8e44b5c078453aa590239fbe056dfe028c5b4395) 또는 [슬라이스 호스트] (http://www.slicehost.com/)와 같은 VPS를 고려할 수 있습니다. – WhiteFang34

1

당신은/MySQL의 인코딩을 사용하여 데이터베이스 필드를 암호화

1

당신은 당신의 MySQL 사용자 계정을 잠글한다 디코딩 할 수있다. 웹 애플리케이션 자체가 수행 할 수있는 작업을 제한하십시오. 데이터베이스에 필요한 최소한의 권한 만 부여하고 스토어드 프로 시저를 작성하여 필요한 프로 시저에만 액세스 할 수 있는지 확인하십시오.

호스팅 제공 업체를 신뢰할 수 없다면 적어도 데이터베이스를 신뢰할 수있는 곳으로 이동해야합니다. 즉, 데이터베이스에 대한 연결 보안 (SSL)이 필요합니다.

데이터를 암호화해야합니다. @ WhiteFang34에서 말했듯이, 내장 된 암호화를 사용하여 자신의 암호화를 시도하지 마십시오.

+0

나는 해커가 대부분 일반 사용자가 아닌 것에 대해 걱정하고 있습니다. – Sallar

2

MIT에서 설계 한 Cryptdb라는 시스템이 있습니다. Cryptdb는 데이터 소유자 암호를 기반으로 데이터를 암호화 할 수 있으며 관리자조차도 실제 데이터에 액세스 할 수 없습니다. 팀은 phpBB의 오버 헤드가 14 %라고 말합니다!

+0

Grubbs (2017) : 암호화 된 데이터베이스가 안전하지 않은 이유 : https://eprint.iacr.org/2017/468.pdf – asmaier

관련 문제