설명
HTTP를 통한 요청은 민감한 데이터를 평문으로 전송하여, 중간자 공격(Man-in-the-Middle, MITM)이나 패킷 스니핑 공격에 취약하게 만듭니다. 이러한 요청은 기밀성, 무결성, 인증이 보장되지 않기 때문에 보안상 위험합니다.
잠재적 영향
- 데이터 유출: 공격자가 네트워크를 통해 평문으로 전송된 민감한 정보를 탈취할 수 있습니다.
- 데이터 변조: 공격자가 전송 중인 데이터를 변조할 수 있습니다.
- 인증 우회: 공격자가 인증 정보를 탈취하여 인증 메커니즘을 우회할 수 있습니다.
해결 방법
- HTTPS 사용: 요청을 HTTPS로 전송하고 서버 인증서 검증을 활성화하여 전송 데이터를 보호하세요.
- 최신 보안 프로토콜 사용: TLS 1.2 이상을 사용하여 보안성을 높입니다.
- 보안 설정 강화: 서버와 애플리케이션의 보안 설정을 강화하여 HTTPS 사용을 강제합니다.
예시
변경 전
python
# Unsafe HTTP requests
import requests
response = requests.get('http://example.com/api/data')
변경 후
python
# Safe HTTPS requests
import requests
response = requests.get('https://example.com/api/data')
설명
- 변경 전: HTTP를 사용하여 민감한 데이터를 평문으로 전송하여 중간자 공격에 취약합니다.
- 변경 후: HTTPS와 기본 서버 인증서 검증으로 전송 데이터를 보호합니다.
verify=False로 인증서 검증을 끄지 마세요.