본문 바로가기
오라클/WebServer

[OHS] 웹서버 디렉토리 접근 제한

by sangyeon 2021. 7. 26.
728x90

#1. 취약점 개요

Apache 특정 디렉토리 내에 존재하는 파일들을 호출할 사용자 인증을 수행하도록 설정할 있음. 따라서 해당 설정을 이용하여 중요 파일 데이터 접근은 허가된 사용자만 가능하도록 제한함.

 

#2. 조치 방법

    1. 사용자 인증을 하기 위해서 디렉토리 별로 httpd.conf 파일 AllowOverride 지시자의 옵션 설정을 변경 (None에서 Authconfig 또는, All 변경)
    2. 사용자 인증을 설정할 디렉토리에 .htaccess 파일 생성
    3. 사용자 인증 계정 생성 : htpasswd -c <인증 파일> <사용자 계정>

 

#3. 테스트 내용

: Doc-Root allowOverride 설정을 AuthConfig 변경 Doc-Root 상위의 특정 디렉토리 아래에 파일을 호출할 때는 사용자 인증을 수행하도록 설정

 

3-1. httpd.conf DocumentRoot 설정 변경

<Directory "/home/ohs/ohs12213/domains/syweb/webdocs">
    #Options Indexes FollowSymLinks
    AllowOverride AuthConfig
    Require all granted
</Directory>

 

3-2. DocumentRoot 하위의 admin 디렉토리 생성 아래와 같이 html 파일과 .htaccess 파일 생성

[ohs@sydev admin]$ pwd
/home/ohs/ohs12213/domains/syweb/webdocs/admin


[ohs@sydev admin]$ ls -arlt
total 8
-rw-rw-r-- 1 ohs ohs 135 Jul 13 10:55 .htaccess
-rw-rw-r-- 1 ohs ohs  34 Jul 13 14:08 secret.html
drwxrwxr-x 2 ohs ohs  42 Jul 13 14:12 .
drwxrwxr-x 3 ohs ohs  56 Jul 13 14:16 ..


[ohs@sydev admin]$ cat .htaccess
AuthName "디렉토리 사용자 인증"
AuthType Basic
AuthUserFile /home/ohs/ohs12213/domains/syweb/auth/.auth
Require valid-user

-> 여기서 AuthUserFile 사용자 인증에 대한 아이디 패스워드 암호화 파일 저장 경로(디렉토리 경로만 만들어주면 해당 경로에 .auth 파일로 생성 )

 

 

3-3. .htaccess 파일이 있는 경로에서 아래와 같이 암호화 파일 생성

[ohs@sydev admin]$ pwd
/home/ohs/ohs12213/domains/syweb/webdocs/admin
[ohs@sydev admin]$ htpasswd -c /home/ohs/ohs12213/domains/syweb/auth/.auth test
New password:
Re-type new password:
Adding password for user test

->  htpasswd -c ${암호화파일 경로}/암호화파일명 [아이디]

 

 

암호화 파일 경로에 .auth 파일 확인

[ohs@sydev auth]$ cat .auth
test:$apr1$TZ7RplzY$jRN7Bd5JLsQkEv4JWesUL/

->  아이디 test 패스워드는 암호화 .

 

 

3-4. 호출


> 기본
webdocs index페이지는 정상적으로 호출

 

> /admin/secret.html 페이지 호출 접근제한으로 아이디 패스워드 필요!



> 아이디 패스워드 입력 정상적으로 페이지 호출 확인

 

 

728x90