모든 프록시 연결에는 사용 권한을 증명하는 방법이 필요합니다. 표준 방식은 두 가지입니다: IP를 등록하고 자격 증명을 생략하는 방법, 또는 매 요청마다 프록시 서버 로그인 사용자명과 비밀번호 인증으로 접속하는 방법입니다.
IP 전용 인증은 주소가 절대 변경되지 않을 때 매우 효과적입니다. 하지만 가정용 인터넷, 여러 네트워크를 이동하는 노트북, 또는 유동 IP가 할당된 VPS 환경에서는 주소가 변경되어도 끊기지 않는 인증 방식이 필요합니다. 바로 이때 로그인/비밀번호 인증이 필요합니다.
자격 증명 기반 인증의 작동 방식
소프트웨어가 프록시에 연결되면, 프록시는 접근 권한을 확인하는 인증 절차를 요청합니다. HTTP 프록시 인증 방식에서 클라이언트는 사용자 이름과 비밀번호를 Base64로 인코딩한 Proxy-Authorization 헤더를 전송합니다. 프록시는 해당 자격 증명을 검증하고, 일치할 경우 트래픽이 정상적으로 흐릅니다. curl을 사용한 간단한 예시는 다음과 같습니다: curl -x http://username:password@proxy-address:port https://example.com — 또는 Python requests에서: requests.get("https://example.com", proxies={"https": "http://username:password@proxy-address:port"}).
SOCKS5 프록시 사용자 이름 및 비밀번호 인증의 경우, 절차가 약간 다릅니다. SOCKS5는 자체 핸드셰이크 과정에서 자격 증명을 처리하며, 이는 웹 트래픽이 시작되기 전의 별도 단계입니다. 클라이언트가 인증 의사를 알리고 로그인과 비밀번호를 전송하면, 프록시가 성공 또는 실패를 응답합니다. 그 이후에야 실제 연결이 시작됩니다.
두 방법 모두 동일한 목적을 달성합니다. 어떤 IP 주소에서 접속하든 프록시 사용 권한이 있음을 인증하는 것입니다.
IP 전용 인증 대신 자격 증명을 사용하는 이유
IP 전용 모드는 더 간단합니다 — 별도의 자격 증명이 필요 없고, 소프트웨어에서 설정할 것도 없습니다. 하지만 고정 공인 IP 주소가 필요합니다. ISP가 IP를 변경하는 순간, 화이트리스트를 업데이트하기 전까지 접속이 끊어집니다.
로그인/비밀번호 인증 방식은 네트워크 환경에 대한 의존성을 없애줍니다. 사무실, 카페, 해외 어디서든 프록시를 사용할 수 있습니다. 자격 증명이 올바르고 IP 주소가 등록된 주소의 /21 서브넷 범위 내에 있는 한 연결은 정상적으로 이루어집니다. 대부분의 프록시 제공업체는 자격 증명 인증을 단일 화이트리스트 IP 또는 /32 범위로만 제한하지만, FineProxy의 /21 서브넷 방식은 2,048개의 주소를 커버합니다. 이를 통해 동적 IP 로테이션 중에도 세션이 거의 끊기지 않으며, 시장에서 보기 드문 수준의 유연성을 제공합니다.
이는 다음과 같은 경우에 중요합니다:
- Wi-Fi 네트워크를 이동하며 사용하는 노트북 및 기기
- ISP가 매일 새로운 주소를 할당하는 가정용 인터넷 연결
- 여러 명이 서로 다른 위치에서 접속하는 팀
- IP가 변경되는 클라우드 인스턴스에서 실행되는 CI/CD 파이프라인
FineProxy에서의 작동 방식
저희 플랫폼에서는 IP 등록이 필수입니다 — 시스템이 고객을 식별하는 기본 방식이기 때문입니다. 여기에 로그인/비밀번호 인증을 추가하면, 등록된 주소의 /21 서브넷 내 모든 IP에서 프록시 접속이 허용됩니다.
이는 2,048개의 주소에 해당합니다. 대부분의 ISP는 이보다 훨씬 좁은 범위 내에서 유동 IP를 로테이션하므로, 실제로는 별도의 수동 업데이트 없이도 연결이 정상적으로 유지됩니다.
FineProxy는 저희가 제공하는 모든 프로토콜(HTTP, HTTPS, SOCKS5)에서 자격 증명 인증을 지원합니다. HTTPS의 경우, 각 IP마다 자체 SSL 인증서가 적용되어 있으므로 자격 증명 기반 인증을 사용하더라도 클라이언트와 프록시 간의 암호화 연결이 안전하게 유지됩니다.
자격 증명은 구매 직후 대시보드에서 바로 확인할 수 있습니다. 형식은 간단합니다: HTTP/HTTPS의 경우 username:password@proxy-address:port이며, SOCKS5의 경우 클라이언트의 인증 설정에서 구성하시면 됩니다.
구매 즉시 대시보드에 자격 증명이 표시됩니다. 형식은 username:password@address:port이며, 브라우저, 스크립트, 또는 자동화 도구에 바로 붙여넣어 사용할 수 있습니다.
자격 증명을 안전하게 보관하는 방법
로그인/비밀번호 인증의 단점은 자격 증명이 존재한다는 것이며, 존재하는 것은 유출될 수 있다는 점입니다. 몇 가지 실용적인 규칙을 안내해 드립니다:
스크립트에 자격 증명을 하드코딩하는 대신 환경 변수를 사용하십시오. export HTTPS_PROXY=”http://user:pass@proxy:port”를 설정하면 비밀번호가 소스 코드에 노출되지 않습니다.
프록시 자격 증명을 Git 리포지토리에 절대 커밋하지 마십시오. 프라이빗 리포지토리라도 공유, 복제되거나 통제할 수 없는 곳에 백업될 수 있습니다.
사용하시는 도구가 지원하는 경우, 자격 증명을 설정 파일에 저장하지 마시고 런타임에 시크릿 매니저에서 가져오십시오.