나는 내 시스템(즉, 네트워크가 아닌)에서 페이지를 차단하도록 Squid를 설정했으며 SSL이 페이지 차단과 작동하도록 하려고 합니다. 이를 위해 SSL-bump를 설정하고 브라우저에 인증서를 설치했습니다.
(HTTPS 및 HTTP에서) 차단하고 싶지만 (HTTP 및 HTTPS에서) 하위 URL만 허용 *.reddit.com/*
하고 싶습니다 .*.reddit.com/r/LearnJapanese
이것은 내 squid.conf 파일의 일부입니다.
acl bad_domain url_regex "/usr/local/squid/etc/block.acl"
acl good_domain url_regex "/usr/local/squid/etc/allow.acl"
http_access deny bad_domain !good_domain
http_access allow good_domain
http_access allow localnet
http_access allow localhost
http_access deny all
# Squid normally listens to port 3128
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=10MB cert=/usr/local/squid/etc/squid.pem
ssl_bump allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
block.acl의 내용:
^http(s)?://(.+)?reddit\.com(.+)?$
allowed.acl의 내용:
^http(s)?://(.+)?reddit\.com/r/LearnJapanese(.+)?$
HTTP에서는 잘 작동하지만(예: reddit.com/r/LearnJapan에는 액세스할 수 있지만 Reddit의 나머지 부분에는 액세스할 수 없음) HTTPS에서는 같은 행운을 누리지 못했습니다.
HTTPS를 통해 Reddit에 액세스하면 페이지가 전혀 차단되지 않지만 차단되어야 합니다(물론 reddit.com/r/LearnJapan은 제외).
다음을 제외한 모든 Reddit에 대한 액세스를 차단하려면 어떻게 해야 합니까?.reddit.com/r/Learn日本语/) HTTP 및 HTTPS를 통해? 감사해요.
답변1
SSL은 종단간 암호화되므로 Squid와 같은 프록시는 일반적으로 HTTP보다 HTTPS 요청에 대해 훨씬 덜 알고 있습니다(http://wiki.squid-cache.org/Features/HTTPS#CONNECT_tunnel):
요청 URL의 [많은] 공통 부분이 CONNECT 요청에 없습니다.
- URL 구성표 또는 프로토콜(예: http://, https://, ftp://, voip://, itunes:// 또는 telnet://)
- URL 경로(예: /index.html 또는 /secure/images/),
- 및 쿼리 문자열(예:?a=b&c=d)
HTTPS 요청에 대해 자세히 알아보려면 Squid는 클라이언트에 대해 본질적으로 중간자 공격을 수행해야 합니다.오징어 문서이를 수행하는 방법이 설명되어 있지만 이로 인해 개인 정보 보호와 관련된 몇 가지 문제가 발생한다는 점에 유의하십시오. 사용자는 일반적으로 암호화된 정보로 귀하를 신뢰해야 하며 웹 브라우저는 공격에 대해 경고할 수 있습니다.
답변2
.ssl_bump server-first all
ssl_bump allow all
그것이 문제에 도움이 되는지 잘 모르겠지만, 터미널에도 다음 줄을 넣었습니다.
/sbin/iptables -t nat -A PREROUTING -p TCP -s 127.0.0.1 --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -p TCP -s 127.0.0.1 --dport 443 -j REDIRECT --to-port 3128
HTTPS를 사용하여 블랙리스트에 있는 페이지로 이동하려고 하면 "액세스 거부" 메시지가 표시되지 않지만 모든 프로토콜(예: HTTP 및 HTTPS)에 대해 Squid 프록시를 사용하도록 Firefox를 구성하면 "프록시 서버 연결이 거부되었습니다"라는 메시지가 표시됩니다. 메시지) 이전에 생성된 루트 인증서( /usr/local/squid/etc/squid.pem
)를 추가했습니다.