Internet Explorer로 Oracle Enterprise Manager에 접속 할 경우 아래와 같은 페이지가 뜨고 접속이 안 되는 경우 해결법.





원인.

마이크로 소프트의 보안 인증서 관련 업데이트(KB 2661254)로 인하여 모든 운영체제에서 1024bit 보다

짧은 키를 가진 RSA 인증서는 차단되도록 변경되었습니다.

하지만 오라클 EM의 기본 인증서 Bit Length는 512bit 이기 때문에 익스플로러에서는 원천 차단되어 넘어가지 않는 것 입니다.


해결법은 3가지가 존재합니다.

1. certutil을 이용하여 익스플로러의 차단 인증서 길이를 1024 에서 512로 내리는 방법.

2. 오라클의 인증서를 1024로 재 발급 하는 방법.

3. 다른 브라우저를 사용한다.


2번의 방법은 추후 포스팅 하기로 하고 먼저 1번 certutil을 이용한 방법을 포스팅 하겠습니다.

3번은 제일 간단하니 뭐... 포스팅하지 않겠습니다.


1. certutil을 이용한 방법


certutil은 윈도우 vista 이상이면 기본으로 포함되어 있는 도구이므로 그 이하 버전의 윈도우를 제외하곤 따로 설치 하실 필요는 없습니다.

certutil을 지원하지 않는 버전의 윈도우에서는 레지스트리 직접수정으로 해결 가능합니다.

마소에서 작업 전 레지스트리 백업을 권장 하는것으로 보아 사실 certutil 자체가 인증관련 레지스트리 수정을 보조하는 도구로서

win7이나 win2008 등 certutil을 지원하는 버전의 윈도우도 레지수정으로 처리를 해도 관계 없을 것으로 보입니다.


- 레지스트리 경로

HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\OID\EncodingType 0\CertDLLCreateCertificateChainEngine\Config


- 작성 키 값

  MinRsaPubKeyBitLength

  EnableWeakSignatureFlags

  WeakSignatureLogDir

  WeakRsaPubKeyTime


이 포스팅에서는 MinRsaPubKeyBitLength와 EnableWeakSignatureFlags로 1024이하의 인증서를 계속 허용하는 방법만 다루겠습니다.

자세한 세팅에 대해 궁금하신분은 참조 URL의 "Microsoft 보안 공지: 최소 인증서 키 길이 업데이트" 를 참조 하세요.


- 각 키의 설명

MinRsaPubKeyBitLength

허용되는 최소 RSA 키 길이를 정의하는 값입니다. 기본 RSA 키 길이는 1024입니다.

본 포스팅에서는 오라클 인증서의 길이인 512로 설정합니다.

ex) certutil -setreg chain\minRSAPubKeyBitLength 512


EnableWeakSignatureFlags

2, 4, 6, 8의 네 가지 값을 가질 수 있으며 설정에 따라 차단 기능 작동 방식이 달라집니다.

4나 8 로 설정 했을 경우에는 WeakSignatureLogDir의 설정이 필수입니다.

본 포스팅에서는 2로 설정합니다.

ex) certutil -setreg chain\EnableWeakSignatureFlags 2


    설명 

 키 길이가 1024비트보다 작은 RSA 루트 인증서를 사용

4

 키 길이가 1024비트보다 작은 인증서를 계속 차단하면서 로깅을 사용

6

 루트 인증서 아래에서 키 길이가 1024비트보다 작은 RSA 인증서의 로깅을 사용하도록 설정

8

 로깅만 사용하도록 설정하고 길이가 1024비트보다 작은 키를 차단하지 않음


WeakSignatureLogDir
 키 길이가 1024비트보다 짧은 인증서가 기록될 폴더를 지정합니다.
ex) certutil -setreg chain\WeakSignatureLogDir "c:\Under1024KeyLog"

WeakRsaPubKeyTime

구성된 날짜 및 시간 전에 코드에 설명하는 데 사용된 인증서는 키 길이가 1024비트보다 짧은지 확인되지 않습니다.

라고 설명은 되어있는데 설정해봤지만 별 반응이 없어서 다음에 다시 해보기로 했습니다.

마소에서는 certutil -setreg chain\WeakRsaPubKeyTime @01/15/2011+00:18 라고 입력하라고 되어있는데 이렇게 입력하면 오류가 납니다.

날짜를 각 언어 로케일대로 입력해야하는데 한글의 경우엔 YYYY-MM-DD로 입력

ex) certutil -setreg chain\WeakRsaPubKeyTime @2013-05-01+00:01


- 작업 순서


1. 커맨드 창을 엽니다.

ex) 윈도우키 + R -> cmd (엔터)


2. 아래 명령어를 입력합니다.

certutil -setreg chain\minRSAPubKeyBitLength 512

certutil -setreg chain\EnableWeakSignatureFlags 2


레지스트리 수정의 경우엔 위의 레지스트리 경로로 가서 아래와 같은 DWORD키를 만드세요.

키 : minRSAPubKeyBitLength         값 : 512

키 : EnableWeakSignatureFlags     값 : 2



변경 사항 어쩌고는 신경쓰시지 않아도 됩니다. 익스플로러만 껐다 키면 문제 없습니다.


3. 설정이 잘 되었는지 확인합니다.

certutil -getreg chain



4. 설정을 해제 할 때 입력 명령어

certutil -delreg chain\minRSAPubKeyBitLength

certutil -delreg chain\EnableWeakSignatureFlags

레지 수정의 경우엔 해당 경로로 가서 키를 삭제 하세요.



여기까지 설정을 마쳤다면 익스플로러를 닫은 후 다시 열고 EM에 접속해보세요.

같은 화면 뜨지만 빨간 박스 안의 링크가 추가되거나 원래 추가되어 있던 사람은 링크를 눌렀을때 정상적으로 접속이 됩니다.







이렇게 설정을 해놓은 상태에서는 계속 512비트의 인증서도 받아들이도록되니 보안수준이 낮아지겠죠.

레지스트리 파일이나 배치파일로 만들어두고 설정을 켯다 껐다 하는것이 낫지 않을까 합니다.



--------------------------------------------------------------------------------------------------------


- 참조 URL

Microsoft 보안 공지: 최소 인증서 키 길이 업데이트 : http://support.microsoft.com/kb/2661254/ko


Posted by Sting!
,