인증되지 않은 API 보고서

발행: (2025년 12월 28일 오후 11:58 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

개요

API 엔드포인트를 스캔하여 인증되지 않은 접근 취약점을 식별하는 보안 자동화 도구입니다. 다양한 HTTP 메서드와 인증 방식을 테스트하여 적절한 인증 없이 데이터를 노출할 수 있는 API를 탐지합니다.

기능

  • 다중 메서드 테스트: GET, POST, PUT, DELETE 메서드 테스트
  • 인증 우회 탐지: 적절한 인증 없이 접근 가능한 API 식별
  • 토큰 검증: 다양한 인증 방식(Bearer, Basic) 테스트
  • 자동 보고서 생성: 상세 보안 보고서 생성
  • 이메일 알림: 보안 결과에 대한 알림 전송
  • 동시 처리: 효율성을 위한 멀티스레드 스캔

사전 요구 사항

  • Python 3.13+
  • 필수 Python 패키지(requirements.txt 참조)
  • 대상 API에 대한 네트워크 접근 권한
  • 알림을 위한 이메일 설정

설치

# 솔루션 디렉터리로 이동
cd unauthenticated-apis-report

# 의존성 설치
pip install -r requirements.txt

설정

API 목록 설정

다음과 같이 unauthenticated-api.json 파일을 만들어 API 엔드포인트를 지정합니다:

{
  "data": [
    "https://api.example.com/v1/users",
    "https://api.example.com/v1/orders",
    "https://api.example.com/v1/admin"
  ]
}

알림 설정

보안 알림을 위해 Notification 모듈에서 이메일 알림을 구성합니다.

사용법

기본 스캔

python unauthenticated-api.py

주요 함수

  • get_api_list(): 설정 파일에서 API 엔드포인트를 로드
  • check_authentication(api_url): 특정 엔드포인트에 대한 인증 테스트 수행
  • get_api_authentication(): 개별 인증 테스트 실행
  • generate_password(): 테스트용 무작위 토큰 생성

보안 테스트 방법

  1. 인증 헤더 없음 – 인증 없이 API가 정상 응답하는지 테스트합니다.
  2. 잘못된 토큰 테스트 – 무작위 토큰을 사용해 약한 검증을 식별합니다.
  3. 인증 스키마 테스트
    • Bearer 토큰 검증
    • Basic 인증 테스트
    • 사용자 정의 인증 헤더
  4. HTTP 메서드 테스트 – 각 엔드포인트에 대해 일반적인 HTTP 메서드 모두를 테스트합니다.

보고서 출력

도구는 다음과 같은 상세 보고서를 생성합니다:

  • 요청/응답 상세
  • 인증 상태
  • 취약점 발견 내용
  • 대응 권고 사항

보안 고려 사항

  • 윤리적 사용: 자신이 소유하거나 테스트 허가를 받은 API만 스캔하십시오.
  • 속도 제한: 대상 시스템에 과부하가 걸리지 않도록 지연을 구현하십시오.
  • 자격 증명 보안: 테스트에 실제 자격 증명을 사용하지 마십시오.
  • 네트워크 보안: 인증된 안전한 네트워크에서만 실행하십시오.

통합

CI/CD 파이프라인

보안 스캔 워크플로에 통합:

# 파이프라인에 추가
python unauthenticated-api.py --output-format json

모니터링

새로운 취약점이 발생하는지 정기적으로 스캔을 설정하십시오.

문제 해결

일반적인 이슈

  • 연결 시간 초과: 느린 API에 대해 타임아웃 값을 늘리세요.
  • 속도 제한: 요청 사이에 지연을 추가하세요.
  • SSL 오류: 올바른 인증서 검증을 구성하세요.

디버그 모드

자세한 문제 해결을 위해 상세 로그를 활성화하십시오.

기여

  • 테스트할 새로운 인증 스키마 추가
  • 보고서 기능 강화
  • 오류 처리 개선
  • 추가 HTTP 메서드 지원

GitHub 링크

https://github.com/prashantgupta123/devops-automation/tree/main/unauthenticated-apis-report

보안 안내

이 도구는 권한이 있는 보안 테스트를 위해 설계되었습니다. API를 스캔하기 전에 반드시 적절한 권한을 확보하십시오. 무단 테스트는 서비스 약관이나 관련 법률을 위반할 수 있습니다.

Back to Blog

관련 글

더 보기 »

AWS 클라우드 설계 원칙 식별

AWS Well-Architected Framework AWS Well‑Architected Framework는 보안이 뛰어나고, 복원력이 있으며, 효율적이고, 비용 효율적인 클라우드 아키텍처를 구축하기 위한 지침을 제공합니다.