
API 설계, 테스트, 출시 시 가장 중요한 보안 대책 체크리스트
English | 繁中版 | 简中版 | العربية | Azərbaycan | Български | বাংলা | Català | Čeština | Deutsch | Ελληνικά | Español | فارسی | Français | हिंदी | Indonesia | Italiano | 日本語 | ພາສາລາວ | Македонски | മലയാളം | Монгол | Nederlands | Polski | Português (Brasil) | Русский | ไทย | Türkçe | Українська | Tiếng Việt
API를 설계하고, 테스트하고, 배포할 때 고려해야 할 중요한 보안 대책에 대한 점검 목록입니다.
Basic Auth를 사용하지 말고 표준 인증방식을 사용하세요.인증, 토큰 생성, 패스워드 저장은 직접 개발하지 말고 표준을 사용하세요.Max Retry와 격리 기능을 사용하세요.HSTS 헤더를 SSL과 함께 사용하세요.redirect_uri의 유효성을 항상 검증하세요.response_type=token을 허용하지 마세요)state 파라미터를 사용하세요.GET (읽기), POST (생성), PUT (대체/갱신), DELETE (삭제). 그리고 요청 메소드가 리소스에 적합하지 않은 경우 405 Method Not Allowed로 응답하세요.application/xml이나 application/json 등)만을 허용하려면 요청의 Accept 헤더에서 content-type의 유효성을 검사하고 일치하지 않으면 406 Not Acceptable로 응답하세요.content-type을 검증하세요. (예를 들어 application/x-www-form-urlencoded나 multipart/form-data 또는 application/json 등)XSS, SQL-Injection 또는 Remote Code Execution 등)자격 인증 (credentials), 패스워드, 보안 토큰 또는 API 키)도 포함하고 있어서는 안 되며 이러한 것들은 표준 인증 방식의 헤더를 사용하세요.Quota, Spike Arrest, Concurrent Rate Limit)를 사용하고, API 리소스를 동적으로 배포하세요./user/654321/orders 대신 /me/orders를 사용하세요.UUID를 사용하세요.XXE (XML 외부 엔티티 공격, XML external entity attack)를 피하기 위해 엔티티 파싱을 비활성화하세요.X-Content-Type-Options: nosniff 헤더를 반환하세요.X-Frame-Options: deny 헤더를 반환하세요.Content-Security-Policy: default-src 'none' 헤더를 반환하세요.X-Powered-By, Server, X-AspNet-Version 등의 디지털 지문 (fingerprinting) 성격의 헤더는 제거하세요.content-type을 강제하세요. 만약 application/json 데이터를 반환하고 있다면 응답의 content-type은 application/json입니다.자격 인증 (credentials), 패스워드, 보안 토큰과 같은 민감한 데이터는 반환하지 마세요.200 OK, 400 Bad Request, 401 Unauthorized, 405 Method Not Allowed 등)포크, 변경, pull request를 보내 자유롭게 기여하세요. 질문은 [email protected]로 이메일을 보내주세요.