2017-01-25 1 views
0

많은 REST 인터페이스를 제공하는 스프링 부트 애플리케이션이 있습니다. 회사 웹 개발 보안 표준은 응용 프로그램에서 ESAPI SecurityWrapper 필터의 사용을 요구합니다.ESAPI SecurityWrapper 및 REST 인터페이스

ESAPI SecurityWrapper는 Http 상태 코드를 강제로 200으로 덮어 써서 confound attackers using automated scanners.으로 만듭니다. 이는 내 REST 인터페이스에 명백한 영향을 미칩니다.

Http 상태 코드가 영향을받지 않도록하기 위해 SecurityWrapper에 대한 해결 된 해결 방법이 있습니까? 내 모든 시도는 지금까지 극단적 인 해키 였고 여기 보안 요원의 승인을 받기가 쉽지 않습니다.

+0

SecurityWrapperFilter를 위임하는 것은 실제로 이런 끔찍한 정책입니다. 보안 구현은 예상되는 정상적인 사용에 방해가됩니다. – avgvstvs

+0

그래서 ESAPI 소스 코드를 검색 할 때'SecurityWrapperResponse.sendError (int)'가 어디에서 호출되는지 알 수 없습니다. 응답을 덮어 쓰는 것이 확실합니까? – avgvstvs

+1

@avgvstvs : 저는 디버거를 통해 그것을 실행했습니다. 그리고 확실히 호출됩니다. 필터는 요청 및 응답 객체를 래핑 된 동등한 것으로 대체하므로 코드가 만드는 요청 및 응답 객체에 대한 호출은 실제로 래핑 객체의 구현을 호출합니다. 따라서 치명적인 오류가 발생하면 코드에서 응답 코드를 500으로 설정하지만 실제로 호출하는 메서드는 전달한 값을 무시하고 HttpStatus.OK로 바꿉니다. – DaveH

답변

0

사용자 지정 동작을 원할 경우 SecurityWrapperFilter를 쉽게 확장 할 수 있어야합니다. 혼란스러운 공격자는 좋은 일입니다.

+0

실제로 http 반환 코드가 무엇인지 파악하는 데 다소 시간이 걸렸으므로 사실상 개발자가 혼란 스러웠습니다. 그리고 서브 클래 싱은 처음 생각했던 것만 큼 쉽지 않았습니다. 동작은 필터 내에서 새롭게 처리 된 객체에서 비롯됩니다. – DaveH