observatory에서 웹 애플리케이션 취약성 진단

소개



지난번 에 계속해서 웹 어플리케이션의 취약성 진단입니다.
observatory도 사용해 보았습니다.

observatory란?



mozilla가 제공하는 취약성 진단 서비스입니다.
URL을 입력하는 것만으로 100점 만점으로 채점해 줍니다. 매우 쉽습니다.
점수표

진단



사용법은 간단.
여기로 이동하여 진단 대상 URL을 입력하십시오.

결과 및 대책



55점. .
결과가 보기 쉽네요.


Laravel의 대책은 여기 를 참고로 했습니다.

CSP 설정



아래에서 설정한 바, 한층 더 걸렸습니다.content-security-policy: style-src 'self'
  • Blocks execution of inline JavaScript by not allowing 'unsafe-inline' inside script-src

  • javascript나 css의 자원을 제한하는 지정입니다. 여기에 지정된 자원만 허용됩니다.
    'unsafe-inline'은 공격의 대상이 되어 버리므로, 추천은 되지 않는 것 같습니다만, 원타임의 해시를 준비하는 것이 귀찮기 때문에, 'unsafe-inline'을 설정합니다.

    self도 허가하고 싶기 때문에 이런 느낌입니다.Content-Security-Policy: script-src 'self' 'unsafe-inline'
  • Blocks execution of plug-ins, using object-src restrictions

  • 오브젝트(이미지 등)의 자원을 제한하는 지정입니다. 여기에 지정된 자원만 허용됩니다.

    self만 허용합니다.Content-Security-Policy: object-src 'self'
  • Clickjacking protection, using frame-ancestors

  • ,
  • Deny by default, using default-src 'none'

  • 디폴트로 사용하는 자원의 지정입니다.
    다른 위치에서 명시적으로 권한 설정을 하고 있으므로 none을 설정합니다.Content-Security-Policy: default-src 'none'
  • Restricts use of the tag by using base-uri 'none', base-uri 'self', or specific origins

  • base는 사용할 계획이 없으므로 none을 설정합니다.Content-Security-Policy: base-uri 'none'
  • Restricts where contents may be submitted by using form-action 'none', form-action 'self', or specific URIs

  • 양식 작업은 self를 설정합니다.Content-Security-Policy: form-action 'self'

    마지막으로



    상기 대책을 실시해, 최종적으로 결과는 B+가 되었습니다.script-src 'unsafe-inline' 의 제거와 CSRF 토큰의 secure화를 하지 않으면,
    만점에는 닿는 것 같습니다. .

    참고:
    - HSTS(HTTP Strict Transport Security) 배포
    - 콘텐츠 보안 정책(CSP)

    좋은 웹페이지 즐겨찾기