mod_autoindex로 mod_auth_basic에 대한 반복 검사를 금지하는 방법은 무엇입니까?


1

에서 아파치 2.4 을 모두 사용하는 경우, mod_autoindex그리고 mod_auth_basic디렉토리에를, 그 디렉토리의 인덱스는 원인이 mod_auth_basic디렉토리에있는 모든 단일 파일 / 하위 디렉토리에 대해 한 번 처음부터 암호 해시 및 조회를 수행 할 수 있습니다.

비용이 많이 드는 bcrypy와 같은 문자열 비밀번호 스토리지 해시를 사용하는 경우 이로 인해 상당한 지연이 발생할 수 있습니다. 또한 모든 파일의 인증 설정이 동일하므로 사용자와 그룹을 한 번만 확인하면되기 때문에이 동작은 필요하지 않습니다. 여러 번 확인하면 보안 혜택없이 강력한 암호 해싱의 로컬 비용이 크게 증가하여 저렴한 알고리즘을 사용하여 전체 보안을 크게 줄입니다.

내 질문은 : 이 동작을 어떻게 억제 할 수 있습니까?

어떻게 할 수 mod_autoindex암호 인증 라이브러리에 단 하나의 전화를?

문제가있는 예는 다음과 같습니다.

<VirtualHost *:443>

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/mycert.crt
    SSLCertificateKeyFile /etc/apache2/ssl/mykey.key

    <Directory "/webdata/doc">

        AuthType basic
        AuthName "Safe Documents"
        AuthBasicProvider file
        AuthUserFile passwd/docuemnts_users.passwd
        require valid-user
        Options +Indexes

    </Directory>

</VirtualHost>

답변:


0

Apache httpd 요청 처리 코드 를 따르면, 그렇지 않은 것 같습니다. 올바르게 읽으면 주 요청에 대해 인증 / 권한 부여가 한 번 수행됩니다.

mod_autoindex 모듈은 출력 체인에서 작동하여 권한이 부여 된 컨텐츠를 생성합니다. mod_autoindex.c 의 유일한 권한 부여 코드 는 색인 생성 허용 여부를 확인하는 것입니다.

디버깅 기호 및 모든 것으로 코드를 프로파일 링 한 경우 결과를 게시하십시오.


내가 한 것은 내 시스템 (Ubuntu 14.04)에서 계산하는 데 1.02 초가 걸리는 bcrypt 암호 해시로 계정을 설정 한 다음 다른 디렉토리를로드하는 데 파이어 폭스를 인수하는 데 걸리는 시간을 확인하십시오 (페이지의 핑, 다른 내용은 아님) 이미지). 내가 찾은 것은 정적 파일 또는 CGI 스크립트의 경우 1 초이지만 디렉토리의 경우 (1 + n) 초입니다. 여기서 n은 디렉토리에 나열된 항목 수입니다. 이것은 다른 bcrypt 해시 시간 동안 반복 가능했기 때문에 다소 결정적인 것처럼 보였습니다.
Pi Marillion

액세스가 시도되지 않은 경우 각 디렉토리 항목에 대한 해시를 검사 할 필요가 없기 때문에 이것이 버그라고 생각할 수 있습니다. 아마 당신은 버그 보고서 파일 수 httpd.apache.org/bug_report.html
조반니 Tirloni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.