설명
OpenAPI 3.0의 전역 servers는 API의 기본 접속 주소를 정의합니다. HTTP 주소를 사용하면 클라이언트가 평문으로 통신할 수 있습니다. servers를 생략하거나 빈 배열로 두면 기본 주소는 상대 URL인 /이므로, 이를 해석하는 기준 URL의 프로토콜을 확인해야 합니다.
잠재적 영향
실제 연결에 HTTP가 사용되면 요청의 인증 정보와 응답 데이터가 통신 경로에서 노출되거나 변조될 수 있습니다.
해결 방법
기본 서버 주소가 HTTPS를 사용하도록 설정하세요. 상대 URL은 HTTPS 기준 URL로 해석되는지 확인하고, 경로·작업별 서버 재정의도 점검하세요. 실제 서버와 게이트웨이에도 HTTPS를 적용하세요.
예시
다음 발췌문은 스테이징 주소를 HTTPS로 바꾸고 HTTPS 운영 주소를 추가합니다.
변경 전
json
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://development.gigantic-server.com/v1"
},
{
"url": "http://staging.gigantic-server.com/v1"
}
]
}
변경 후
json
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://development.gigantic-server.com/v1"
},
{
"url": "https://staging.gigantic-server.com/v1"
},
{
"url": "https://api.gigantic-server.com/v1"
}
]
}