Apache가 클라이언트 IP와 프록시 로그인을 모두 요구하게 하기
Apache 2.4의 프록시 인증과 클라이언트 주소 제한을 결합하되 어느 한 조건만으로 접근이 허용되지 않게 하세요.
Apache 2.4 포워드 프록시가 승인된 소스 주소와 유효한 로그인 모두를 요구해야 한다면 <RequireAll>를 사용하세요.
<Proxy "*">
AuthType Basic
AuthName "Private proxy"
AuthBasicProvider file
AuthUserFile /etc/apache2/private-proxy-users
<RequireAll>
Require ip 192.0.2.25
Require valid-user
</RequireAll>
</Proxy>이 인증 조각을 기존 제한 프록시에 병합하세요. 클라이언트 주소와 계정 파일 경로를 바꾸고, 인증/권한 부여 모듈이 사용 가능하며 파일에 대상 사용자가 이미 들어 있는지 확인하세요. 완전한 리스너 배포 설정은 아닙니다.
정책을 결정하는 세부 사항은 두 가지입니다. 컨테이너는 AND를 표현합니다. 긍정적인 요구 사항을 나란히 둔다고 해서 반드시 모두 요구되는 것은 아닙니다. Require valid-user는 인증된 계정을 허용하고 Require user alice는 특정 계정 하나를 지정합니다. 단독 Require user는 아무것도 표현하지 않습니다. Apache 사용자 권한 부여 참조를 확인하세요.
| 출처 | 로그인 | 필요한 결과 |
|---|---|---|
| 허용됨 | 유효함 | 의도한 권한 있는 요청이 허용됩니다. |
| 허용됨 | 없거나 유효하지 않음 | 권한 있는 전달이 허용되지 않습니다. |
| 허용된 출처 외부 | 유효함 | 권한 있는 전달이 허용되지 않습니다. |
이 조각에 의존하기 전에 이를 둘러싼 가상 호스트와 다른 일치하는 권한 부여 섹션을 검토한 다음 @@권한 경계를 테스트하세요. 더 구체적인 설정이 실제 결과를 바꿀 수 있습니다. Basic 로그인에는 클라이언트와 프록시 사이의 보호된 전송도 필요합니다. 대상 HTTPS는 나중에 시작하므로 그보다 앞선 평문 자격 증명 교환을 보호하지 않습니다.