[리눅스/서비스 관리] Apache 웹 서비스 영역의 분리 (U-41)
- 취약점 점검/리눅스
- 2021. 7. 11.
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