회사는 일반적으로 나중에 사용하기 위해 SSL 인증서를 어디에 저장합니까?


26

최근 도메인에 와일드 카드 SSL 인증서를 구입했습니다. 모든 인증서를 Java 키 저장소로 변환했지만 이제는 나중에 사용할 수 있도록 인증서를 어디에 저장해야하는지 묻습니다.

사람들은 이러한 유형의 파일에 BitBucket과 같은 소스 제어를 사용하거나 필요할 때마다 또는 다른 것을 생성합니까?

향후 사용을 위해 이러한 인증서를 저장하는 데 표준 솔루션 또는 "모범 사례"가 있는지 궁금합니다.


기존 백업 솔루션으로 암호화하여 백업하십시오. 외부 공급자와 암호화되지 않은 개인 키를 저장하지 마십시오. 나는 일반적으로 문제 및 만료 날짜를 인증서 및 키 파일 이름에 포함시켜 차별화합니다.
Andrew Domaszek

답변:


22

여러 가지 솔루션이 있습니다.

한 가지 방법은 하드웨어 기반 어플라이언스, 하드웨어 보안 모듈 또는 이와 동등한 소프트웨어 기반 의 특정 키 저장소 입니다.

또 다른 방법은 단순히 이전 키를 취소하고 상황이 발생할 때 새로운 개인 / 공개 키 쌍을 생성하는 것입니다. 이는 키 보안 유지에서 인증서 제공 업체 계정의 사용자 이름 / 암호 보안 및 재발급 절차로 문제를 다소 이동시킵니다. 대부분의 조직에는 이미 권한있는 계정 관리 솔루션이 있다는 장점이 있습니다. 예 : 1 2

암호를 포함하여 개인 및 공개 키 쌍의 하드 카피 인쇄 (복원 할 수있는 암컷 개)에서 장기간 저장 용으로 등급이 지정된 디지털 미디어에 간단히 저장하는 것까지 오프라인 저장 방법에는 여러 가지가 있습니다. .

정말 나쁜 곳은 GitHub, 팀 WiKi 또는 네트워크 공유입니다 (그리고 아이디어를 얻습니다).

2015/4/29 업데이트 : Keywhiz도 흥미로운 접근법으로 보입니다.


궁금합니다. HSM의 "소프트웨어 기반 등가"는 무엇을 의미합니까?

오늘날 일부 하드웨어 어플라이언스 공급 업체는 가상 어플라이언스 (VM) 형태로 어플라이언스를 판매합니다. Oracle key vault 및 Open source SoftHSM 과 같은 것들도 있습니다.
HBruijn

따라서 기본적으로 표준 컴퓨터를 HSM으로 바꿀 수 있습니다.

1
"그러나 그것은 회복하는 암컷 개가 될 것입니다"-> 이것은 나의 하루를 만들었다! 농담을 제외하고는 저장하기 전에 암호화해야합니다.
Ismael Miguel

정의에 따라 공개 키를 모든 사람에게 공개합니다. 이를 암호화 할 이유가 없습니다. 그러나 그것이 조잡 할 이유는 없습니다. 보안은 주로 개인 키를위한 것으로, 일반적으로 암호화 / 암호로 보호되어야합니다. 가능한 적은 사본을 만드는 것을 목표로해야합니다.
HBruijn

21

아니요, SSL 인증서는 최소한 개인 키 부분이 아닌 소스 제어에 포함되지 않습니다.

암호처럼 취급하십시오. 우리는 실제로 암호와 동일한 방식으로 KeePass에 저장됩니다. 파일을 첨부 할 수 있으며 암호화됩니다.


3

개인 키를 소스 제어에두면 액세스 권한이있는 모든 사용자가 서버를 가장 할 수 있습니다. 웹 서버가 PFS (Perfect Forward Secrecy)를 사용하지 않는 경우 Wireshark와 같이 일반적으로 사용 가능한 오픈 소스 도구를 사용하여 캡처 된 SSL 트래픽을 해독 할 수도 있습니다.

OpenSSL을 사용하는 암호로 DES 또는 AES를 암호화하여 키를 보호 할 수 있습니다. OpenSSL은 Linux, OSX 및 Windows에서 사용할 수 있습니다.

OpenSSL은 또한 암호 문구가 불편할 때 (예 : 자동으로 시작하지만 자동 암호 문구 입력을 지원하지 않는 웹 서버에서) 암호 문구를 제거 할 수 있습니다.

AES 암호화를 사용하여 암호 문구 추가 (DES보다 안전) :-

openssl rsa -aes256 -in private.key -out encrypted.private.key

비밀번호 문구 제거 (비밀번호 문구를 묻는 메시지가 표시됨) :-

openssl rsa -in encrypted.private.key -out decrypted.private.key

1
당신이 경우 제대로 일을하는 것이 분명하지만, 과거의 트래픽을 손상시킬 안 후 개인 키도 노출 보다 쉽게 타협 미래의 트래픽을 위해 MITM'ing을합니다.
CVn

안녕하세요 @Michael, 이론 상으로는 슬프게도 많은 Apache 및 IIS 캡처를 해독하여 PFS가 기본적으로 꺼져 있다고 가정 할 수 있습니다. 많은 IPSEC VPN조차도 꺼져 있습니다.
Tricky

PFS는 많은 암호 제품군에서 지원되지 않으므로 기본적으로 많이 사용되지 않습니다. SSL Labs 서버 테스트를 시도하십시오. FS를 지원하는 암호화 제품군을 나타냅니다. 물론 모든 비 FS 암호화 제품군을 비활성화하면 많은 클라이언트가 FS 암호화 제품군을 지원하지 않기 때문에 추위에 빠질 수 있습니다. 그러나 FS 제품군 우선 치료를 제공하는 것이 효과적입니다. 그러나 수행중인 작업과 상대적인 강점과 약점을 알지 못하는 경우 수동으로 암호 제품군을 주문하지 않는 것이 좋습니다.
CVn

SSL Labs @Michael의 추천에 감사드립니다. 불행히도 내 서버는 인터넷에 연결되어 있지 않지만 활성화 된 암호로 놀았으며 PFS는 일부 암호에서만 지원되는 것으로 보입니다. PFS는 실제로 패킷 추적 디코딩을 방지합니다. 이에 따라 답변을 업데이트하겠습니다.
Tricky

1

KeyWhiz에 대해 읽은 후 또 다른 옵션은 HashiCorp 's Vault였습니다. 암호 관리자뿐만 아니라 비밀 저장소도 KeyWhiz와 다소 비슷하다고 생각합니다. GO로 작성되었으며 클라이언트도 서버로 작동하며 많은 백엔드 및 인증 방법에 연결됩니다. Vault는 Enterprise 옵션도 제공하는 오픈 소스입니다.

SSL 키와 인증서는 텍스트 파일 일 뿐이므로 base64로 인코딩하여 Vault에 문자열로 저장하거나 Vault에 텍스트로 저장할 수도 있습니다. WebUI 또는 GUI, 모든 명령 줄 또는 스크립트 기반은 없으며 부팅하기에 매우 좋고 안정적인 웹 API가 있습니다.

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault

0

개인 키와 인증서를 저장하려면 오프라인 HSM (예 : 하드웨어 암호화 토큰 또는 CAC)을 확인하는 것이 좋습니다. 이를 통해 개인 키가 우발적으로 손상되는 것을 방지 할뿐만 아니라 기본적인 암호화 오프로드도 제공합니다.

관리 할 암호화 자산이 더있는 경우 갱신을 자동화하고, 수명주기를 추적하고, 엔드 포인트에 대한 프로비저닝을 자동화 할 수있는 Enterprise Key & Certificate Management 소프트웨어를 살펴 보는 것이 좋습니다. 데이터베이스의 CLOB


왜 다운 보트인가? 불평하지 않고; 이 답변의 문제점에 대해 궁금합니다.
Matt

왜 투표가 중단되었는지 확실하지 않습니다. HSM은 보안 키 저장 및 고속 암호화를 위해 특별히 설계되었습니다. 비용이나 복잡한 관리와 관련된 것만 추측 할 수 있습니다. 모든 주요 은행은 Chip & Pin 거래와 같은 주요 업무에 HSM을 사용합니다.
Tricky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.