보안 구성 조정
기능 성능과 균형을 맞추도록 보안을 조정할 수 있습니다. 일반 보안, CSIv2(Common Secure Interoperability Version 2), LDAP(Lightweight Directory Access Protocol) 인증, 웹 인증 및 권한 부여 조정에 대한 고려사항에 따라 균형을 맞출 수 있습니다.
이 태스크 정보
프로시저
- 일반 보안을 조정하려면 다음 권장사항을 고려하십시오.
- 정확히 어떤 코드가 사용자 서버에 넣어지고 프로세스 자원을 보호할 필요가 없는지 정확히 아는 경우 Java 2 보안 관리자를 사용하지 않도록 설정할 것을 고려하십시오. 그렇게 하는 것은 로컬 자원을 상당히 위험한 상태로 몰아갈 수 있음을 기억하십시오.
- 새 보안 정책을 변경하기 위해 배치 관리자 및 노드 에이전트를
다시 시작하기 전에 새 보안 설정 값을 확대하는 것을 고려해 보십시오.
모든 서버에서 보안 구성이 일치하지 않으면 액세스 거부 오류가 발생합니다. 따라서, 관리 보안의 사용 가능 또는 불가능 기능을 설정할 때 새 보안 설정 값을 확대시켜야 합니다.
일반적으로 구성 변경사항은 구성 동기화를 사용하여 확대됩니다. 자동 동기화가 사용 가능하면, 자동 동기화 간격이 지날 때까지 기다리거나, 동기화 간격이 만기되기 전에 동기화를 강제 실행할 수 있습니다. 수동 동기화를 사용하는 경우 모든 노드를 동기화해야 합니다.
셀이 구성 상태에 있는 경우(보안 정책이 보안 사용 가능 및 사용 불가능 상태인 노드와 혼합된 경우), syncNode 유틸리티를 사용하여 새 설정이 전파되지 않은 노드를 동기화시킬 수 있습니다.
분산 환경에서 보안을 사용 가능하게 하는 방법에 대한 보다 자세한 정보는 범주에 대한 보안 사용 가능의 내용을 참조하십시오.
- 환경이 충분히 보안되고 있음을 느끼는 경우 캐시 및 토큰 제한시간을 늘리는 것을
고려하십시오. 값을 증가함에 따라 덜 빈번하게 다시 인증하게 됩니다. 이 조치는 차후 요청에서 이미 작성된 신임을
다시 사용하도록 지원합니다. 토큰 제한시간을 늘리는 경우, 토큰이 해킹되어 해커에게 토큰이 만기되기 전에 시스템에 침입하는
시간을 더 많이 제공하는 단점이 있습니다. 보안 캐시 특성을 사용하여 해시 알고리즘의 재해싱 및 분배 빈도에 영향을 주는
1차 및 2차 해시테이블 캐시의 초기 크기를 판별합니다.
이 특성 목록에 대해서는 인증 캐시 설정 항목을 참조하십시오.
- RMI는 Stateful 연결을 사용하지만 SOAP는 완전히 Stateless하므로 SOAP(Simple Object Access Protocol)에서 RMI(Remote Method Invocation)으로의 관리 커넥터 변경을 고려하십시오. 성능이 사용자 환경에서 개선되었는지 여부를 판별하려면 벤치마크를 실행하십시오.
- 애플리케이션 시작 속도를 증가시키기 위해 모든 사용자 및 그룹의 액세스 ID를 완료하려면 wsadmin 스크립트를 사용하십시오. 애플리케이션이 여러 사용자 또는 그룹을 포함하는 경우나 애플리케이션이 자주 중지되고 시작되는 경우 이 조치를 완료하십시오. WebSphere Application Server는 권한 테이블에서 사용자 및 그룹 이름을 고유 액세스 ID에 맵핑합니다. 액세스 ID의 정확한 형식은 저장소에 따라 다릅니다. 액세스 ID는 애플리케이션 전개 도중이나 이후에만 판별할 수 있습니다. 어셈블리 도중에 작성된 권한 테이블에는 올바른 액세스 ID가 없습니다. 액세스 ID 업데이트 방법에 대한 자세한 정보는 AdminApp에 대한 명령 기사를 참조하십시오.
엔터프라이즈 Bean 성능에는 보안이 사용 가능하거나 사용 불가능한 요소가 있으므로 ORB(Object Request Broker) 조정을 고려하십시오. ORB 조정 가이드라인에 대한 정보를 참조하십시오.
- SSL을 사용하는 경우에는 세션 관리 설정에 대한 정보에 설명된 대로 SSL 세션 추적 메커니즘 옵션을 사용하도록 설정하십시오.
일부 경우에는 제한되지 않은 JCE(Java Cryptography Extension) 정책 파일을 사용하면 성능이 향상될 수 있습니다. 웹 서비스 보안 조정에 대한 정보를 참조하십시오.
- 워크로드를 단일 시스템의 단일 JVM이 아니라 여러 JVM(Java Virtual Machine)에 분배하면 권한 결정에 경합이 적으므로 보안 성능을 향상시킬 수 있습니다.
- CSIv2(Common Secure
Interoperability version 2)를 조정하려면 다음 단계를 고려하십시오.
- Java 클라이언트를 인증하려면 사용자 ID 및 비밀번호 대신 SSL(Secure Sockets Layer) 클라이언트 인증 사용을 고려하십시오. 이미 SSL 연결을 작성 중이므로, 상호 인증을 사용하면 사용자 ID 및 비밀번호를 완전히 포함하는 서비스 컨텍스트를 제거하는 동안 약간의 오버헤드를 추가합니다.
- 보안에 아주 민감하지 않은 많은 데이터를 전송하려는 경우, 암호의 강도를 줄이십시오. 대량으로 암호화해야 하는 데이터가 많고 암호가 강할 수록, 이 조치는 오래 걸립니다. 데이터가 민감하지 않으면, 128비트 암호로 처리를 낭비하지 마십시오.
- 다운스트림 대표에 대해 ID 신뢰를 사용하는 경우, 신뢰 서버 ID 목록(모든 서버 신뢰를 의미)에 별표(*)만 입력하도록 고려하십시오. 이 신뢰를 제공하려면 서버 간에 SSL 상호 인증을 사용하십시오. SSL 핸드쉐이크에서 이 추가 단추를 추가하면 업스트림 서버를 완전히 인증하고 신뢰 목록을 검사하는 것보다 더 낫게 수행합니다. 별표(*)가 사용되면 ID 토큰이 신뢰된 것입니다. SSL 연결은 클라이언트 인증서 인증 방식으로 서버를 신뢰합니다.
- CSIv2에 대한 stateful 세션이 사용 가능한지 확인하십시오. 이것이 기본값이지만, 최초 요청에서의 인증과 차후 토큰 만기만을 요구합니다.
- CSIv2 세션 캐시에 대한 값을 변경할 것을 고려하십시오. 이 값을 변경하면 자원 부족을 피할 수 있습니다. 자세한 정보는 CSIv2(Common Secure Interoperability Version 2) 아웃바운드 통신 주제를 참조하십시오.
- WebSphere Application Server
버전 5 이상 서버와 유일하게 통신 중인 경우, CSI 및 SAS 대신 활성 인증 프로토콜 CSI를
작성하십시오. 이 조치는 클라이언트 및 서버측 둘 다에서
모든 요청에 대한 인터셉터 호출을 제거합니다.중요사항: SAS는 버전 6.1 셀에 연합된 이전 버전 서버와 버전 6.0.x 서버 사이에서만 지원됩니다.
- LDAP(Lightweight
Directory Access Protocol) 인증을 조정하려면 다음 단계를 고려하십시오.
- 관리 콘솔에서 보안 > 글로벌 보안을 클릭하십시오.
- 사용자 계정 저장소 아래에서 사용 가능한 범주 정의 드롭 다운 목록을 클릭하고 독립형 LDAP 레지스트리를 선택한 후 구성을 클릭하십시오.
- 대소문자 구분이 중요하지 않으면 독립형 LDAP 레지스트리 구성에서 권한 부여 시 대소문자 구분 안 함 옵션을 선택하십시오.
- 연결 재사용 옵션을 선택하십시오.
- LDAP 서버가 지원하는 캐시 기능을 사용하십시오.
- IBM Tivoli® Directory Server를 사용하는 경우에는 IBM Tivoli Directory Server 또는 SecureWay 디렉토리 유형을 선택하십시오. IBM Tivoli Directory Server는 그룹 멤버십 검색 개선을 위해 새 그룹 멤버십 속성을 사용하도록 프로그래밍되었으므로 성능이 더 나아졌습니다. 그러나 IBM Tivoli Directory Server를 사용하려면 권한은 대소문자를 구분하지 않아야 합니다.
- iPlanet Directory 사용자이면 iPlanet Directory Server(Sun ONE이라고도 함) 또는 Netscape를 디렉토리로 선택하십시오. iPlanet Directory Server 디렉토리를 사용하면 그룹 회원 찾아보기에서 성능이 개선됩니다. 그러나 그룹 메커니즘에 대해서는 역할만을 사용하십시오.
- 웹 인증을 조정하려면 다음 단계를 고려하십시오.
- 환경이 충분히 보안되고 있음을 느끼는 경우 캐시 및 토큰 제한시간 값을 늘리십시오. 웹 인증 정보는 이 캐시에 저장되며 인증 정보가 캐시에 있는 동안에는 사용자를 인증하기 위해 로그인 모듈이 호출되지 않습니다. 이것은 차후 요청에서 이미 작성된 신임을 다시 사용하도록 지원합니다. 토큰 제한시간을 늘리는 경우, 토큰을 도난당해 침입자에게 토큰이 만기되기 전에 시스템에 침입하는 시간을 더 많이 제공하는 단점이 있습니다.
- 단일 사인온(SSO)을 사용합니다. SSO를 구성하려면 보안 > 글로벌 보안을 클릭하십시오. 웹 보안 아래에서 단일 사인온(SSO)을 클릭하십시오.
SSO는 인증 메커니즘 및 만기 패널에서 LTPA를 인증 메커니즘으로 구성한 경우에만 사용 가능합니다. 하지만 인증 메커니즘 및 만기 패널에서 SWAM(Simple WebSphere Authentication Mechanism)을 인증 메커니즘으로 선택할 수도 있습니다. SSO를 선택하면, 하나의 애플리케이션 서버에 대한 단일 인증만으로 동일한 SSO 도메인에서 여러 애플리케이션 서버에 요청할 수 있습니다. 어떤 경우에는 SSO가 바람직하지 않을 수도 있으므로 이런 경우에는 사용하지 않을 수도 있습니다.
- 기능이 필요하지 않을 경우 단일 사인온(SSO) 패널에서 웹 인바운드 보안 속성 전파 옵션을 사용하거나 사용하지 않도록 설정하십시오. 어떤 경우에는 기능을 사용 가능하도록 설정하면 성능이 개선될 수 있습니다. 볼륨이 커서 많은 사용자 레지스트리 호출로 성능이 떨어지는 경우에 이 기능을 사용하면 성능이 가장 개선됩니다. 다른 경우에는 기능을 사용 불가능하도록 설정하면 성능이 개선될 수 있습니다. 사용자 레지스트리 호출에 자원이 많이 사용되지 않을 경우에 그렇습니다.
- 다음 두 개의 사용자 정의 특성은 보안 속성 전파가 사용 가능한 경우
성능 향상에 도움이 될 수 있습니다.
- com.ibm.CSI.propagateFirstCallerOnly
이 특성의 기본값은 true입니다. 이 사용자 정의 특성을 true로 설정하면 보안 속성 전파가 사용 가능한 경우 스레드에 유지되는 전파 토큰의 첫 번째 호출자가 로그됩니다. 이 특성이 false로 설정되면, 모든 호출자 전환이 로그되어 성능에 영향을 줄 수 있습니다.
- com.ibm.CSI.disablePropagationCallerList
이 사용자 정의 특성을 true로 설정하면 호출자 또는 호스트 목록을 전파 토큰에 추가할 수 있는 기능이 완전히 사용 불가능하게 설정됩니다. 이 기능은 전파 토큰의 호출자 또는 호스트 목록이 환경에 필요하지 않은 경우에 유용합니다.
- com.ibm.CSI.propagateFirstCallerOnly
- 권한을 조정하려면 다음 단계를 고려하십시오.
- 사용자 레지스트리에서 사용자를 그룹으로 맵핑하십시오. Java EE(Java Platform, Enterprise Edition) 역할과 그룹을 연관시키십시오. 이 연관은 사용자 수가 증가함에 따라 성능을 크게 개선시킵니다.
- 적절하게 엔터프라이즈 Bean에 대한 메소드-권한을 지정하십시오. 예를 들어, 메소드-이름 요소에서 모든 메소드를 표시하기 위해 별표(*)를 사용할 수 있습니다. 엔터프라이즈 Bean의 모든 메소드가 동일한 권한을 요구하면, 모든 메소드를 표시하기 위해 메소드-이름에 별표(*)를 사용하십시오. 이 표시는 배치 디스크립터의 크기를 줄이므로 배치 디스크립터를 로드하는 데 필요한 메모리를 줄입니다. 또한 엔터프라이즈 Bean 메소드의 메소드-권한 일치 중 검색 시간을 줄입니다.
- Servlet에 대한 보안-제한조건을 적절하게 지정하십시오. 예를 들어, URL 패턴 *.jsp를 사용하여 모든 JSP(JavaServer Pages) 파일을 표시하기 위해 동일한 인증 데이터 제한조건을 적용시킬 수 있습니다. 주어진 URL의 경우, 배치 디스크립터에서의 완전 일치가 가장 긴 경로 일치보다 우선순위를 갖습니다. 보안 제한조건에서 지정된 URL에 대한 완전 일치 및 가장 긴 경로 일치가 없는 경우 *.jsp, *.do, *.html 확장자 일치를 사용하십시오.
- Java 2 보안을 사용하는 경우 새 조정 매개변수를 사용하십시오. 새로운 조정 매개변수는
성능을 대폭 향상시킬 수 있으며 컨테이너 관리 인증 데이터 별명을 사용하여 J2C Auth Subjects에 새로운 캐시를 사용 가능하게 하는 읽기 전용 주제라는 새로운 개념을 도입합니다.
J2C 인증 주제가 작성된 후에 수정할 필요가 없는 경우에는 Java 2 보안 성능을 향상시키기 위해 다음과 같은 새로운 조정 매개변수를 사용할 수 있습니다.
- com.ibm.websphere.security.auth.j2c.cacheReadOnlyAuthDataSubjects=true
- com.ibm.websphere.security.auth.j2c.readOnlyAuthDataSubjectCacheSize=50 (이는 캐시의 해시 테이블에서 최대 주제 수입니다. 캐시가 이 크기에 도달하면 일부 항목이 제거됩니다. 성능 향상을 위해서 이 크기는 역할 기반 보안 및 Java 2 보안이 함께 사용될 때 고유한 주제의 수와 같아야 합니다(사용자 프린시펄의 고유성 + 인증 데이터 별명 + 관리 연결 팩토리 인스턴스를 기반으로 하는 캐시).
- 새 조정 매개변수를 사용하여 보안 속성 전파의 성능을
향상시키십시오. 관리 콘솔의 사용자 정의 특성을 통해 새 조정 매개변수를 설정하여
보안 속성 전파의 추가적인 오버헤드를 줄일 수 있습니다.
- com.ibm.CSI.disablePropagationCallerList=true
- com.ibm.CSI.propagateFirstCallerOnly=true(첫 번째 호출자만을 추적하고 싶은 경우에 사용함).
- 보안 속성 전파의 성능에 영향을 미칠 수 있는
보호 캐시에 대한 설정(WSSecureMap)을 다시 평가합니다. WSSecureMap 보안 캐시 설정은
관리 콘솔에서 사용자 정의 특성을 통해 조정할 수 있습니다.
- com.ibm.ws.security.WSSecureMapInitAtStartup=true
- com.ibm.ws.security.WSSecureMapSize(100 이상의 정수).
결과
다음에 수행할 작업
하위 주제
SSL 성능 팁
SSL(Secure Sockets Layer) 성능 팁에 대해 학습하려면 이 페이지를 사용하십시오. 성능 문제점은 보통 기능과 속도 간의 균형 조건을 포함한다는 점을 고려하십시오. 보통 더 많은 기능과 처리를 포함할수록, 성능은 더 느려지게 됩니다.보안 성능 조정 팁
일반적으로, 보안을 강화할 때 두 가지가 발생합니다. 트랜잭션 당 비용은 증가하고 처리량이 감소합니다. WebSphere Application Server를 구성할 때 다음 보안 정보를 고려하십시오.보안 성능 조정
보안 설정을 손상하지 않으면서 성능을 조정하려면 다음 프로시저를 사용하십시오.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_tune
파일 이름:tsec_tune.html