Swift 하드코딩된 공개 IP 주소

Swift 하드코딩된 공개 IP 주소

설명

운영 엔드포인트나 서버 설정에 공개 IP 주소를 하드코딩하면 인프라 변경, 인증서 검증, 네트워크 정책 적용이 어려워지고 우회 연결이 만들어질 수 있습니다.

잠재적 영향

  • 환경별 네트워크 정책 우회
  • 인증서 호스트명 검증 실패 또는 예외 증가
  • 배포 후 엔드포인트 변경 어려움

해결 방법

  1. 운영 대상은 DNS 이름과 환경별 설정으로 관리합니다.
  2. 로컬 개발, 사설망, 문서화 예제 주소는 허용하되 운영 코드와 분리합니다.
  3. 인증서 검증과 네트워크 정책이 적용되는 표준 HTTPS 엔드포인트를 사용합니다.

예시

변경 전

swift
static let baseURL = "https://34.117.59.81/data"

변경 후

swift
import Foundation

struct AppConfig {
    let apiBaseURL: URL
}

func makeRequestURL(config: AppConfig) -> URL {
    return config.apiBaseURL.appendingPathComponent("data")
}

설명:

  • 변경 전: 공개 IP 주소가 코드에 고정되어 있습니다.
  • 변경 후: 환경별 설정을 통해 엔드포인트를 관리합니다.

참조