2013-09-10 1 views
1

공유 서버 계정에서 MySQL을 사용합니다. 해커가 내 응용 프로그램과 해당 MySQL 서버 간의 연결을 모니터하는 경우 걱정됩니다. Zeos에서 내 원격 데이터베이스와 안전하게 통신하려면 어떻게해야합니까?

는 연결이 어쨌든 암호화인가요 아니면 (ZEOS TZConnection 구성 요소는 데이터베이스 이름, 사용자 이름과 암호를 어떤 서버에 알리는 연결시 포함)를 통과하는 원시 데이터입니까?

원시인 경우 어떻게 보호 할 수 있습니까?

+0

로컬 서버에서는 모든 건물의 로컬 데이터베이스를 서로 동기화해야합니다. 단일 원격 24/7 서버를 사용하면이 방법이 더 이상 사용되지 않습니다. 내 관심사는 그런 식으로 통신 보안에 관한 것입니다. – PSyLoCKe

+1

앱에서 데이터베이스로 직접 연결하지 마십시오. https를 사용하여 응용 프로그램을 서버의 응용 프로그램에 연결하면 해당 서버 응용 프로그램이 데이터베이스와의 상호 작용을 처리합니다. Google 또는 Bing을 통해 https 및 Delphi에 대한 조사를 수행 할 수 있습니다. 내가 질문을 편집 한 –

+0

내가 파이어 버드 클러스터링 ... –

답변

2

실제로는 서버와 말하는 당신의 TZConnection 없습니다. 대신, Mysql server에서 데이터를 송수신하는 libmysql.dll과 통신합니다.

SSL를 사용할 수있는 서버에 대한 연결을 확보합니다. 당신은 3 인증서가 필요합니다

  • CA-cert.pem
  • 클라이언트 cert.pem
  • 당신이 그들을 생성하는 방법에 대한 정보를 찾을 수 있습니다

클라이언트 key.pem MySQL link. 당신이 그들을 일단

는 다음과 같이 SSL 사용해야 나타 내기 위해 설정 TZConnection 필요 : MySQL과 SSL에 대한

Connection.Properties.Values['MYSQL_SSL']  := 'TRUE'; 
Connection.Properties.Values['MYSQL_SSL_CA'] := 'c:/MyPath/CA-cert.pem'; 
Connection.Properties.Values['MYSQL_SSL_CERT'] := 'c:/MyPath/client-cert.pem'; 
Connection.Properties.Values['MYSQL_SSL_KEY'] := 'c:/MyPath/client-key.pem'; 

더 많은 정보를 ZEOS 포럼에서이 discussion에서 찾을 수 있습니다.

+0

감사를 의미하는 지역의 동기화를 인용 할 때, 동기 텍스트는 – PSyLoCKe

+0

웹에서 파일을 가리킬 수 있습니까? – PSyLoCKe

+1

@EASI, 내가 아는 한 3 가지 파일의 이름을 변경할 수는 있지만 직접 시도하지 않았습니다. 웹상에서 나는 인증서 파일을 가리키는 것에 대해서는 모릅니다. 델파이 나 Zeos와 아무 관련이 없기 때문에 새로운 질문으로 MySQL에 태그를 달아달라고합니다. –