MySQL 서버에 연결되는 PHP 응용 프로그램이 있으며 웹 및 응용 프로그램 서버와 데이터베이스 간의 연결을 보호하려고합니다.
피크 타임에 웹 서버는 데이터베이스에 수백 개의 동시 연결을 수행하고 많은 작은 읽기 및 쓰기를 수행합니다. 이것이 최적이 아니라는 것을 알고 있으며 이와 병렬로 데이터베이스 연결 수를 줄이기 위해 노력하고 있습니다.
현재 데이터베이스에 대한 지속적인 연결이 설정되어 있지 않으며 앞으로도이를 독립적으로 구현하려고합니다.
하드웨어 현명한-MySQL 서버는 웹 서버와 마찬가지로 상당히 청크합니다 (16 코어). 그들은 전용 서버입니다.
내 질문은 데이터베이스 서버에 대한 연결을 보호하고 암호화하는 가장 효과적인 방법을 둘러 쌉니다.
지금까지의 연구에 따르면 주요 성능 오버 헤드는 SSL 연결을 설정하는 것입니다. SSL이 연결되면 성능 저하가 거의 없습니다. 다음은 연결을 보호하는 각 방법에 대한 내용입니다.
- MySQL SSL 인증서-일반 SSL과 동일하게 작동합니다. 클라이언트 인증서를 사용하여 무단 연결을 방지 할 수 있습니다. 기존 설정과 지속적인 연결이 없습니다. 방화벽의 열린 포트에서 MySQL을 수신 대기해야합니다.
- 기절. 포트를 포트 ssl 터널로 설정하십시오. MySQL을 다시 구성 할 필요는 없습니다. 악의적 인 MySQL 연결 시도를 방지하기 위해 일반적인 MySQL 수신 포트를 닫을 수 있습니다. 지속적인 연결을 지원하지 않습니다. 알 수없는 성능 저하
- SSH 터널링. 클라이언트와 서버 사이에 SSH 터널을 만듭니다. MySQL을 다시 구성 할 필요는 없습니다. 악의적 인 MySQL 연결 시도를 방지하기 위해 일반적인 MySQL 수신 포트를 닫을 수 있습니다. 지속적인 연결을 지원하지만 연결이 끊어지는 경우가 있습니다. 알 수없는 성능 저하
이것은 내가 얻을 수있는 한입니다. 벤치 마크의 한계를 알고 있습니다. 벤치 마크를 실행 한 경험에서 실제 트래픽을 시뮬레이션하는 것은 매우 어렵습니다. 누군가 MySQL 보안에 대한 경험을 바탕으로 조언을 받기를 바랐습니까?
감사
openssl speed
과 관련하여 보호 및 성능 저하에 대한 요구 사항에 맞는 암호를 실행 하고 선택하십시오.