[리눅스/서비스 관리] Apache 상위 디렉토리 접근 금지 (U-37)

Apache 상위 디렉토리 접근 금지

 

취약점 개요

■ 위험도
- 상

■ 점검 목적
- 상위 경로 이동 명령으로 비인가자의 특정 디렉토리에 대한 접근 및 열람을 제한하여 중요 파일 및 데이터 보호를 목적으로 함

■ 보안 위협
- 상위 경로로 이동하는 것이 가능할 경우 접근하고자 하는 디렉토리의 하위 경로에 접속하여 상위경로로 이동함으로써 악의적인 목적을 가진 사용자의 접근이 가능함

점검 및 조치 방법

■ 판단 기준
- 양호 : 상위 디렉토리에 이동제한을 설정한 경우
- 취약 : 상위 디렉토리에 이동제한을 설정하지 않은 경우

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

■ 점검 및 조치 사례


● SOALRIS, LINUX, AIX, HP-UX
Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기

# vi /[Apache_home]/conf/httpd.conf

 

Step 2) 설정된 모든 디렉토리의 AllowOverride 지시자에서 AuthConfig 옵션 설정
(수정 전) AllowOverride 지시자에 none 옵션이 설정되어 있음


(수정 후) AllowOverride 지시자에 AuthConfig 옵션이 설정되어 있음


Stpe 3) 사용자 인증을 설정할 디렉토리에 .htaccess 파일 생성


Step 4) 사용자 인증에 사용할 아이디 및 패스워드 생성


Step 5) 변경된 설정 내용을 적용하기 위해 Apache 데몬을 재시작 해줍니다

■ 스크립트

echo "U-54 START"
echo " "                                                                                                                >>  $COMPUTERNAME 2>&1
echo "[ U-54 Apache 상위 디렉터리 접근 금지 ]"                                                                          >>  $COMPUTERNAME 2>&1
if [ `ps -ef | grep httpd | grep -v "grep" | wc -l` -eq 0 ]                                         
then                                         
     echo "Apache 미실행중입니다."                                                                                        >>  $COMPUTERNAME 2>&1
else                                         
     if [ `grep -n -i allowoverride $HTTPD_CONF | grep -v '#' | wc -l` -eq 0 ]                                          
     then                                         
          echo "해당 항목의 설정이 없습니다."                                                                             >>  $COMPUTERNAME 2>&1
     else                                         
          grep -n -i allowoverride $HTTPD_CONF | grep -v '#'                                                       >>  $COMPUTERNAME 2>&1
     fi                                           
fi                                           
echo " "                                                                                                                >>  $COMPUTERNAME 2>&1
echo "U-54 END"                                                                                                              >>  $COMPUTERNAME 2>&1
echo "======================================================================================"       >>  $COMPUTERNAME 2>&1
echo " "                                                                                                                >>  $COMPUTERNAME 2>&1
echo " "                                                                                                                >>  $COMPUTERNAME 2>&1

댓글

Designed by JB FACTORY