본문 바로가기
Hacking/infra 진단

[Linux] U-11(상) /etc/syslog.conf 파일 소유자 및 권한 설정

by 알거음슴 2021. 8. 23.

 

취약점 개요
점검 내용 /etc/syslog.conf 파일 권한 적절성 점검
점검 목적 /etc/syslog.conf 파일의 권한 적절성을 점검하여, 관리자 외 비인가자의 임의적인 syslog.conf 파일 변조를 방지하기 위함
보안 위협 syslog.conf 파일의 설정내용을 참조하여 로그의 저장위치가 노출되며 로그을 기록하지 않도록 설정하거나 대량의 로그를 기록하게 하여 시스템 과부하를 유도할 수 있음
참고 /etc/syslog.conf: syslogd 데몬 실행시 참조되는 설정파일로 시스템 로그 기록의 종류, 위치 및 Level을 설정할 수 있음
점검대상 및 판단 기준
대상 LINUX
판단기준 양호 : /etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)이고, 권한이 640 이하인 경우
취약 : /etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)가 아니거나, 권한이640 이하가 아닌 경우
조치 방법 /etc/syslog.conf” 파일의 소유자 및 권한 변경 (소유자 root(또는 bin, sys), 권한 644 이하)

 

점검 및 조치
점검 “/etc/syslog.conf” 파일의 소유자 및 권한 확인
#ls –l /etc/syslog.conf
rw-r----- root <syslog.conf 파일>
syslog.conf” 파일의 소유자가 root가 아니거나 파일의 권한이 640가 아닌 경우 아래의
보안설정방법에 따라 설정을 변경함
조치 /etc/syslog.conf” 파일의 소유자 및 권한 변경 (소유자 root, 권한 644)
 #chown root /etc/syslog.conf
 #chmod 640 /etc/syslog.conf

 

점검 스크립트

#!/bin/bash

. function.sh

BAR
CODE [U-11] /etc/syslog.conf 파일 소유자 및 권한 설정
cat << EOF >> $RESULT
[양호]:  /etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)이고, 권한이 640 이하인 경우
[취약]:  /etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)가 아니거나, 권한이 640 이하가 아닌 경우
EOF
BAR

CHECK=0
if [ -f /etc/syslog.conf ] ; then
	CHECK=1
fi

if [ $CHECK != 0 ] ; then
	CHOWN1=`ls -l /etc/syslog.conf | awk '{print $3}'`
	if [ $CHOWN1 = root ] ; then
		OK /etc/syslog.conf 파일이 존재하며 소유자는 root입니다.
	elif [ $CHOWN1 = bin ] ; then
		OK /etc/syslog.conf 파일이 존재하며 소유자는 bin입니다.
	elif [ $CHOWN1 = sys ] ; then
		OK /etc/syslog.conf 파일이 존재하며 소유자는 sys입니다.
	else	
		VULN "/etc/syslog.conf 파일이 존재하지만 소유자는 root(또는 bin, sys)가 아닙니다. "
	fi
elif [ $CHECK = 0 ] ; then
	INFO /etc/syslog.conf 파일이 존재하지 않습니다.
fi

if [ $CHECK = 1 ] ; then
	find /etc/syslog.conf -type f -perm -640 -ls | grep -v 'rw-r-----' >/dev/null 2>&1
	if [ $? = 0 ] ; then
		WARN syslog.conf 파일의 권한이 `ls -l /etc/passwd | awk '{print $1}'`로 설정되어 640보다 높습니다.
	else
		OK syslog.conf 파일의 권한이 640이하 입니다.
	fi
fi

cat $RESULT