2016-11-18 6 views
2

HTTP 요청 콘텐츠가 서버에 도달하기 전에 유효성을 검사하는 일반적인 방법을 찾고 싶습니다.웹 서비스의 요청 내용을 확인하는 방법은 무엇입니까?

목표는 제품에 강력한 보안을 제공하는 것입니다.

나는 공개 된 API를 가지고 있으며 다음 규칙을 허용하는 모든 프록시에서 내 API에 대한 요청을 필터링하려고합니다.

내 API 방법의 예를 하나 들어 :

  • 요청 본문이
  • 은 "키 1"이 문자열이 필요합니다 유효한 JSON 객체
  • 입니다 :

    POST: my_server/data/colection 
    application/json 
    
    { 
        "key1": "stringValue", 
        "key2": 2, 
        "key3": true 
    } 
    

    나는 다음과 같은 사실을 확인하려면 허용 [az, 0-9], 최대 길이는 50 자입니다.

  • "키 2"는 부울는 1-1000
  • "KEY3"의 범위,

선택하면 번호가 필요하다 내가 거부하고 싶지 적합 기준 이상 요청의 내용 또는 스키마 해당 상태 코드와 함께 요청.

그런 일을하도록 허용하는 서비스 또는 프록시 모듈 (nginx, haproxy 또는 기타)이 있습니까?

P. 부분적인 해결책조차도 효과가있을 수 있습니다.

답변

0

이것은 웹 응용 프로그램 방화벽 (wafs)의 일반적인 기능입니다. 시장에 꽤 많은 것들이 있지만 나는 그 중 어떤 것을 광고하고 싶지는 않지만, 대부분은 다른 훌륭한 보안 기능 (내부 규칙을 기반으로 잠재적 인 공격을 걸러 내기, 위협 정보를 수집하고 공유하는 것 등)과 함께이 작업을 수행 할 수 있습니다. 인터넷).

waf로 고려해야 할 세 가지 사항은 상대적으로 높은 가격표, 제대로 설정하는 데 필요한 노력 및 완벽하지는 않다는 것입니다. 보호 된 애플리케이션이 취약한 경우 XSS를 어느 정도까지 보호 할 수는 있지만 대부분의 경우 필터가 주변에있는 방식이 될 것입니다. 그러나 그것은 변혁을 가져온다.

저는 api 게이트웨이에 익숙하지 않지만이 중 일부는이 매개 변수 유형 및 범위 적용 기능을 제공 할 수도 있습니다 (전체 웨이브가 제공하는 다른 보호 기능없이).