0

나는 내 클라이언트 사이트 중 하나에서 보안을 강화하려고합니다. 결제 제공 업체가 설정되어 있지 않으므로 민감한 자동 이체 정보가 mySql 서버에 있어야합니다. 이 직불 결제 정보는 회계 부서의 사용자가 사람이 읽을 수 있어야합니다. 다음과 같이중요한 데이터를 mySql에 저장하기

테스트 서버 설정 : 현재

  1. 는 메인 사이트가 워드 프레스 블로그에 앉아있다.
  2. 고객이 EV SSL 인증서로 HTTPS 암호화 된 양식을 완료합니다.
  3. 데이터는 워드 프레스 데이터베이스와 별도의 데이터베이스에 저장됩니다.
  4. 자동 이체 세부 사항은 현재 일반 텍스트로 저장됩니다

지금의 4가 날 귀찮게 것입니다 ...하지만 그것 때문에 단지 테스트 서버에, 순간 괜찮아!

답변

1

이 데이터를 얼마나 멀리 보호해야하는지에 따라 달라 지므로 대답하기가 정말 어렵습니다.

첫 번째 단계는 분명히 mysql에 저장된 모든 세부 사항을 암호화하는 것입니다. 누군가가 데이터베이스를 덤프하는 경우입니다.

이 솔루션은 좋지만 다른 사람이 응용 프로그램 서버에서 암호 해독 키를 가져 오면 어쨌든 데이터베이스 덤프를 해독 할 수있는 것처럼 취약점을 소개합니다.

여기에서 고려해야 할 여러 솔루션이있다, 난 당신이 몇 가지 괜찮은 사람을 찾을 수 있어야합니다 몇 가지 조사와 확신하지만, 마음 속에 떠오르는 한 가지 방법은 다음과 같습니다

당신은에 데이터를 암호화 할 수 공개/개인 키 암호화 알고리즘을 사용하는 응용 프로그램 서버 공용 키는 응용 프로그램 서버에있는 저장소 정보를 암호화하는 데만 사용할 수 있습니다. 해킹 당하면 데이터베이스에서 데이터를 더 추가하는 것 밖에 할 수 없습니다. 이 경우 개인 키는 사람이이 정보를 볼 때마다 입력해야하는 암호입니다.

이것은 표시 될 때까지 여행이 완전히 암호화되어 있기 때문에 데이터에 대한 기계 처리를 할 수 없다는 명백한 단점이 있습니다.

(그리고 당신은 여전히 ​​응용 프로그램 서버에 대한 액세스 권한을 얻는 사람의 취약점을 가지고 단순히 세션 파일 키가 임시로 저장되어야 할 것이다/memcache에 덤핑)

정직하기를, 우선 내가 할 것 데이터베이스 전체를 암호화합니다. 그만이 알맞은 보호 계층을 추가합니다. 대부분의 경우 서버의 파일 시스템에 액세스하는 것보다 데이터베이스를 덤프하는 것이 더 쉽습니다.

+1

당신이 간접적으로 머리에 못을 충돌 생각 - 직불 데이터베이스가 어떤 상황에서 웹 프론트 엔드에서 액세스를 읽을 수 없습니다해야합니다. 이는 고전적인 보안 격리입니다. –

+0

좋은 지적, 격리에 의한 보안 +1. 나는 첫 걸음에서 고립에 의존하는 경향이 없다. 일반적으로 나는 할 수있는 모든 것을 해싱하므로 물리적으로 데이터를 가지지 않으며, 가역적 방법이 필요하다면 대신 키를 암호화하고 보호해야합니다. 전체 DB보다는 키를 보호하는 것이 더 간단합니다. –

0

은행 계좌 정보/신용 카드 정보 또는 두 가지 모두에 대해 이야기하고 있습니까?

신용 카드 정보를 저장하면 PCI 요구 사항이 충족됩니다.

또한 기밀 정보를 저장할 계획이라면 절대 암호화되지 않은 상태로 저장하지 마십시오.

질문이 있으시면 알려주세요.

파비오 @fcerullo