2017-01-09 1 views
2

현재 Apache CXF를 사용하여 제 3 자에게 요청하는 응용 프로그램을 작성 중입니다. 우리는 보내는 모든 요청을 기록해야합니다. 문제는 대부분의 요청에 로깅 할 수없는 중요한 데이터가 포함되어 있다는 것입니다. 데이터 자체는 일반적으로 전송되기 전에 암호화되지만 암호화 된 값은 기록 할 수 없습니다.비누 요청 로깅 - 민감한 데이터를 제외하기위한 우아한 솔루션

매우 쉬운 해결책은 기록해서는 안되는 필드의 "차단 목록"을 만드는 것입니다. 이 문제는 끊임없이 성장하는 응용 프로그램에서 필드를 놓치기 쉽습니다.

내가하고 싶은 일은 기록되어야하는 필드를 "허용 목록으로 만드는"방법을 찾아내는 것입니다.

복잡해 보이지만, 나는 이것을 할 필요가있는 유일한 사람이 될 수 없습니다.

+0

그래서 암호화되기 전에 요청을 기록하고 민감한 필드를 제거 하시겠습니까? 숨길 수있는 각 필드에 주석을 달고 사용자 정의 직렬 변환기를 사용할 수 있습니까? – pedrofb

+0

필드 값은 전체 요청이 아닌 암호화되므로 로깅은 일반적으로 필드가 암호화 된 후에 암호화됩니다. 우리는 제 3 자로부터 wsdl을 받기 때문에 수업에 주석을 달 수 없습니다. 클래스를 재생성 할 때마다 다시 돌아가서 클래스에 로깅 주석을 다시 추가해야합니다. –

+0

그러면 허용 된 사이트가 허용 된 사이트로 보입니다. 블랙리스트는 단어 집합을 작성하기 어렵 기 때문에 위험하며 wsdl 공급자는 컨트롤을 건너 뛸 수있는 이름을 변경할 수 있습니다. 암호화 후에 인터셉터를 설정하여 화이트리스트에없는 필드를 비워 둘 수 있습니다. – pedrofb

답변

0

XPath 표현식의 하위 집합을 기반으로 익명화/하위 트리 제거를 허용하는 tool을 작성했습니다. SAX 필터를 사용하는 것이 더 진보 된 접근 방식이라고 생각합니다.