기본 사용자 이름 및 비밀번호 인증으로 squid 프록시를 설정하는 방법은 무엇입니까? [닫은]


85

저는 현재 acl에서 ip를 사용하고 있으며 사용자 이름과 암호를 사용하여이를 수행하고 싶습니다.


다음은 htdigest 스타일 인증을 사용하여 Squid3를 설정하는 또 다른 예입니다. dabase.com/blog/Minimal_squid3_proxy_configuration
hendry

다음은 인증을 통한
hevi

답변:


202

Ubuntu 14.04 에서 기본 인증을 설정하기 위해 수행 해야하는 작업은 다음과 같습니다 (다른 곳에서는 가이드를 찾지 못함).

기본 오징어 conf

/etc/squid3/squid.conf 과도하게 비대해진 기본 구성 파일 대신

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# Choose the port you want. Below we set it to default 3128.
http_port 3128

이전 ncsa_auth 대신 basic_ncsa_auth 프로그램을 참고하십시오.

오징어 2.x

squid 2.x의 경우 /etc/squid/squid.conf파일 을 편집 하고 다음을 배치 해야합니다 .

auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

사용자 설정

sudo htpasswd -c /etc/squid3/passwords username_you_like

선택한 사용자 이름에 대한 비밀번호를 두 번 입력 한 다음

sudo service squid3 restart

오징어 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

선택한 사용자 이름에 대한 비밀번호를 두 번 입력 한 다음

sudo service squid restart

htdigest 대 htpasswd

저에게 질문 한 많은 사람들을 위해 : 두 도구는 다른 파일 형식을 생성합니다.

  • htdigest 암호를 일반 텍스트로 저장합니다.
  • htpasswd 해시 된 암호를 저장합니다 (다양한 해싱 알고리즘을 사용할 수 있음).

이러한 형식의 차이에도 불구하고 basic_ncsa_auth .NET Core로 생성 된 암호 파일을 구문 분석 할 수 있습니다htdigest . 따라서 다음을 대신 사용할 수 있습니다.

sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

이 접근법은 경험적이며 문서화되지 않았으며 향후 Squid 버전에서 지원되지 않을 수 있습니다 .

우분투 14.04에 htdigesthtpasswd모두에서 사용할 수있는 [apache2-utils][1]패키지.

맥 OS

위와 유사하지만 파일 경로가 다릅니다.

오징어 설치

brew install squid

오징어 서비스 시작

brew services start squid

오징어 구성 파일은에 저장됩니다 /usr/local/etc/squid.conf.

다음 줄을 주석 처리하거나 제거하십시오.

http_access allow localnet

그런 다음 Linux 구성과 유사하지만 업데이트 된 경로를 사용하여 다음을 추가합니다.

auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

을 (를) basic_ncsa_auth사용할 때 설치된 버전에 따라 경로 가 다를 brew수 있으므로을 사용하여 확인할 수 있습니다 ls /usr/local/Cellar/squid/. 또한 다음 섹션 아래에 위의 내용을 추가해야합니다.

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

암호 기본 인증 자격 증명 : 이제 자신에게 사용자 생성 (: 메모 htpasswdhtdigest맥 OS에도 모두 사용할 수 있습니다)

htpasswd -c /usr/local/etc/squid_passwords username_you_like

오징어 서비스 다시 시작

brew services restart squid

1
지금 수정되었습니다. 감사합니다 마크.
Stefano Fratini 2014-08-04

11
저에게는 htdigest 명령이 작동하지 않았지만 "sudo htpasswd -cd / etc / squid3 / passwords admin"으로 대체하면 예상대로 작동했습니다.
Phil Hannent 2014 년

1
그것이 나를 위해 일하더라도 그것이 내가 생각한 것입니다. 이 게시물과 관련된 토론이 있었는데 50 %의 사람들이 작동한다고 말했고 50 %는 htpasswd에 대한 변경을 제안했습니다. 그래도 난 ... :( 토론에 참여할 수있는 충분한 명성을하지 않았다
스테파노 Fratini에게

2
나를 위해 일했지만 htdigest 대신 htpasswd를 사용해야했습니다. 이유는 모르겠지만 이런 식으로 작동했습니다.
Pisu

21
시스템에없는 경우 htpasswd수행하십시오 sudo apt-get install apache2-utils.
exebook
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.