작업 환경

  • VMware Workstation Pro (17.6.2 ver)
  • Server 
    • Rocky_Linux(8.10 ver) : NAT
U-37 (상) 3. 서비스 관리 > 3.19 웹서비스 상위 디렉토리 접근 금지
취약점 개요
점검 내용 “..” 와 같은 문자 사용 등으로 상위 경로로 이동이 가능한지 여부 점검
점검 목적 상위 경로 이동 명령으로 비인가자의 특정 디렉터리에 대한 접근 및 열람을 제한하여
중요 파일 및 데이터 보호를 목적으로 함
 보안 위협 상위 경로로 이동하는 것이 가능할 경우 접근하고자 하는 디렉터리의 하위 경로에 접속하여
상위경로로 이동함으로써 악의적인 목적을 가진 사용자의 접근이 가능함
판단 기준

양호 : 상위 디렉터리에 이동제한을 설정한 경우
취약 : 상위 디렉터리에 이동제한을 설정하지 않은 경우
참고 X

 

 
서비스 확인법

#AllowOverride 지시자 Authconfig 옵션 확인
vi /etc/httpd/conf/httpd.conf

#아래의 설정 확인
AllowOverride None

AllowOveride None 설정 확인

 

LINUX

  • Step 1) vi 편집기를 이용하여 /etc/httpd/conf/httpd.conf 파일 열기
    • vi /etc/httpd/conf/httpd.conf
  • Step 2) 설정된 모든 디렉터리의 AllowOverride 지시자에서 AuthConfig 옵션 설정
    • (수정 전) AllowOverride 지시자에 None 옵션이 설정되어 있음
    • (수정 후) AllowOverride 지시자에 AuthConfig 옵션이 설정되어 있음
# 수정 전
<Directory “/usr/local/apache2/htdocs”>
     AllowOverride None
     Allow from all
</Directory>

# 수정 후
<Directory “/usr/local/apache2/htdocs”>
     AllowOverride AuthConfig
     Allow from all
 </Directory>

 

  1. Step 3) 사용자 인증을 설정할 디렉터리에 .htaccess 파일 생성 (아래 내용 삽입)
    • vi /사용자 인증 설정 디렉터리/.htaccess
 AuthName "디렉터리 사용자 인증"
 AuthType Basic
 AuthUserFile /usr/local/apache/test/.auth
 Require valid-user

 

  1. AuthName : 인증 영역(웹 브라우저의 인증 창에 표시되는 문구)
  2. AuthType : 인증 형태(Basic 또는, Digest)
  3. AuthUserFile : 사용자 정보(아이디 및 패스워드) 저장 파일 위치
  4. AuthGroupFile : 그룹 파일의 위치(옵션)
  5. Require : 접근을 허용할 사용자 또는, 그룹 정의

 

  • Step 4) 사용자 인증에 사용할 아이디 및 패스워드 생성
htpasswd -c /usr/local/apache/test/.auth test
     New password:
     Re-type new password:
     Adding password for user test

 

  • Step 5) 변경된 설정 내용을 적용하기 위하여 Apache 데몬 재시작
    • systemctl restart httpd

 


조치시 영향
해당 설정이 적용된 디렉터리 내 파일들은 아이디/패스워드 인증절차 없이는 접속이 불가능