[리눅스/서비스 관리] Apache 웹 서비스 영역의 분리 (U-41)

Apache 웹 서비스 영역의 분리

리눅스-웹-서비스

 

취약점 개요

■ 위험도
- 상

■ 점검 목적
- 웹 서비스 영역과 시스템 영역을 분리시켜서 웹 서비스의 침해가 시스템 영역으로 확장될 가능성을 최소화하기 위함

■ 보안 위협
- 웹 서버의 루트 디렉토리와 OS의 루트 디렉토리를 다르게 지정하지 않았을 경우, 비인가자가 웹 서비스를 통해 해킹이 성공할 경우 시스템 영역까지 접근이 가능하여 피해가 확장될 수 있음

 

 

점검 및 조치 방법

■ 판단 기준
- 양호 : DocumentRoot를 별도의 디렉토리로 지정한 경우
- 취약 : DocumentRoot를 기본 디렉토리로 지정한 경우

■ 조치 방법
- DocumentRoot "/usr/local/apache/htdocs", "/usr/local/apache2/htdocs", "/var/www/html" 셋 중 하나일 경우 -> DocumentRoot "별도 디렉토리" 로 변경

■ 점검 및 조치 사례


○ SOLARIS, LINUX, AIX, HP-UX
Step 1) vi 편집기를 이용하여 /[Apache_Home/conf/httpd.conf 파일 열기

# vi /[Apache_Home/conf/httpd.conf

 

Step 2) DocumentRoot 설정 부분에 "/usr/local/apache/htdocs", "/usr/local/apache2/htdocs", "/var/www/html" 셋 중 하나가 아닌 별도의 디렉토리로 변경 DocumentRoot "디렉토리"

■ 스크립트

echo "U-41 START"
echo " "																							>>	$COMPUTERNAME 2>&1
echo "[ U-41 Apache 웹 서비스 영역의 분리 ]"																>>	$COMPUTERNAME 2>&1
if [ `ps -ef | grep httpd | grep -v "grep" | wc -l` -eq 0 ]									
then									
	echo "Apache 미실행중입니다."																		>>	$COMPUTERNAME 2>&1
else									
	grep -i "^documentroot" $HTTPD_CONF | awk '{print$2}' | tr -d \"	> u-58.txt
	if [ `cat u-41.txt | grep '$HTTPD_ROOT' | wc -l` -eq 0 ]									
	then									
		echo "웹 서비스 영역이 분리되어 있습니다."															>>	$COMPUTERNAME 2>&1
	else									
		echo "웹 서비스 영역이 분리되어 있지 않습니다."														>>	$COMPUTERNAME 2>&1
	fi									
	echo "HTTPD_ROOT=`ls -ald $HTTPD_ROOT`"															>>	$COMPUTERNAME 2>&1
	echo "DOCUMENTROOT=`cat u-58.txt`"                                                          	>>	$COMPUTERNAME 2>&1
fi									
echo " "																							>>	$COMPUTERNAME 2>&1
echo "U-41 END"																						>>	$COMPUTERNAME 2>&1
echo "======================================================================================"		>>	$COMPUTERNAME 2>&1
echo " "																							>>	$COMPUTERNAME 2>&1
echo " "																							>>	$COMPUTERNAME 2>&1
rm -rf u-41.txt

댓글

Designed by JB FACTORY