Tinyproxy 대상 필터, 클라이언트 ACL, CONNECT 포트
Tinyproxy 대상 필터로 호스트 이름을 제한하고, 소스 클라이언트나 CONNECT 포트를 제어하는 규칙과 구분하세요.
Tinyproxy의 Allow 줄은 누가 프록시를 사용할 수 있는지에 답합니다. 그곳에 적힌 호스트에만 접근할 수 있다는 뜻은 아닙니다. 대상 필터링은 별도의 설정입니다.
하나의 이름 있는 서비스에 도달하도록 의도된 프록시라면 필터를 허용 목록으로 쓸 수 있습니다.
Filter "/etc/tinyproxy/allowed-hosts"
FilterDefaultDeny Yes
FilterURLs No
그다음 파일에는 선택한 필터 구문에서 허용되는 대상 패턴이 들어갑니다. 좁은 정확한 호스트 패턴을 유지하고, 정규식 앵커나 와일드카드 구문을 고르기 전에 설정된 FilterType 를 확인하세요. 한 모드용으로 작성한 패턴이 다른 모드에서는 다른 의미일 수 있습니다.
세 가지 서로 다른 제어가 있습니다
- 클라이언트
Allow/Deny규칙은 소스 클라이언트를 제한합니다. - 대상 필터링은 요청된 호스트나 URL을 제한합니다.
ConnectPort는 CONNECT 대상 포트를 제한합니다.
Tinyproxy 매뉴얼은 이들을 별도로 문서화합니다. 대상 필터는 프록시 인증을 추가하지 않으며, 포트 허용은 요청을 하나의 호스트 이름으로 한정하지 않습니다.
일반 터널을 통한 HTTPS라면 대상 호스트를 기준으로 작업하세요. 암호화된 요청 경로는 프록시가 보는 일반 텍스트로 제공되지 않으므로, 평문 HTTP에서 동작하는 경로 표현식이 HTTPS 페이지 경로를 검사한다고 가정해서는 안 됩니다.
사이트의 의존성도 고려하세요. 한 페이지가 이미지를 가져오거나 다른 호스트를 통해 인증할 수 있습니다. 실제로 필요한 대상만 추가하세요. 빠진 이미지 하나를 고치려고 정확한 호스트 규칙을 넓은 접미사로 바꾸면 훨씬 많은 트래픽이 허용될 수 있습니다. 허용된 각 대상에 이유가 있도록 목록을 충분히 이해하기 쉽게 유지하세요.