취약점 개요 | |
점검 내용 | 사용하지 않는 Dos 공격에 취약한 서비스의 실행 여부 점검 |
점검 목적 | 시스템 보안성을 높이기 위해 취약점이 많이 발표된 echo, discard, daytime, chargen, ntp, snmp 등 서비스를 중지함 |
보안 위협 | 해당 서비스가 활성화되어 있는 경우 시스템 정보 유출 및 DoS(서비스 거부 공격)의 대상이 될 수 있음 |
참고 | ※ DoS(Denial of Service attack): 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격. 특정 서버에게 수많은 접속시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함됨 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : 사용하지 않는 DoS 공격에 취약한 서비스가 비활성화 된 경우 |
취약 : 사용하지 않는 DoS 공격에 취약한 서비스가 활성화 된 경우 | |
조치 방법 | echo, discard, daytime, charge, ntp, dns, snmp 등 서비스 비활성화 설정 |
점검 및 조치 | |
점검 | “/etc/shadow” 파일의 소유자 및 권한 확인 #ls -l /etc/shadow r-------- root <shadow 파일> |
위에 제시된 파일 및 디렉터리의 소유자가 root가 아니거나 파일의 권한이 400이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 |
|
조치 | Step 1) vi 편집기를 이용하여 “/etc/xinetd.d/” 디렉터리 내 echo, discard, daytime, hargen 파일 열기 Step 2) 아래와 같이 설정 (Disable = yes 설정) • /etc/xinetd.d/echo 파일(echo-dgram, echo-stream) • /etc/xinetd.d/discard 파일(discard-dgram, discard-stream) • /etc/xinetd.d/daytime 파일(daytime-dgram, daytime-stream) • /etc/xinetd.d/chargen 파일(chargen-dgram, chargen-stream) service echo { disable = yes id = echo-stream type = internal wait = no socket_type = stream } Step 3) xinetd 서비스 재시작 #service xinetd restart |
점검 스크립트
#!/bin/bash
. function.sh
BAR
CODE [U-23] DoS 공격에 취약한 서비스 비활성화
cat << EOF >> $RESULT
[양호]: 사용하지 않는 DoS 공격에 취약한 서비스가 비활성화 된 경우
[취약]: 사용하지 않는 DoS 공격에 취약한 서비스가 활성화 된 경우
EOF
BAR
ls /etc/xinetd.d/echo* >/dev/null 2>&1
if [ $? != 0 ] ; then
OK /etc/xinetd.d/echo 파일이 존재하지 않습니다.
else
for i in `ls /etc/xinetd.d/echo*`
do
VULN $i 파일이 존재합니다.
if [ `cat $i | grep disable | awk '{print $3}'` = yes ] ; then
OK $i 파일에 대한 서비스가 비활성화 되어 있습니다.
else
WARN $i 파일에 대한 서비스가 활성화 되어 있습니다.
fi
done
fi
LINE
ls /etc/xinetd.d/discard* >/dev/null 2>&1
if [ $? != 0 ] ; then
OK /etc/xinetd.d/discard 파일이 존재하지 않습니다.
else
for i in `ls /etc/xinetd.d/discard*`
do
VULN $i 파일이 존재합니다.
if [ `cat $i | grep disable | awk '{print $3}'` = yes ] ; then
OK $i 파일에 대한 서비스가 비활성화 되어 있습니다.
else
WARN $i 파일에 대한 서비스가 활성화 되어 있습니다.
fi
done
fi
LINE
ls /etc/xinetd.d/daytime* >/dev/null 2>&1
if [ $? != 0 ] ; then
OK /etc/xinetd.d/daytime 파일이 존재하지 않습니다.
else
for i in `ls /etc/xinetd.d/daytime*`
do
VULN $i 파일이 존재합니다.
if [ `cat $i | grep disable | awk '{print $3}'` = yes ] ; then
OK $i 파일에 대한 서비스가 비활성화 되어 있습니다.
else
WARN $i 파일에 대한 서비스가 활성화 되어 있습니다.
fi
done
fi
LINE
ls /etc/xinetd.d/chargen* >/dev/null 2>&1
if [ $? != 0 ] ; then
OK /etc/xinetd.d/chargen 파일이 존재하지 않습니다.
else
for i in `ls /etc/xinetd.d/chargen*`
do
VULN $i 파일이 존재합니다.
if [ `cat $i | grep disable | awk '{print $3}'` = yes ] ; then
OK $i 파일에 대한 서비스가 비활성화 되어 있습니다.
else
WARN $i 파일에 대한 서비스가 활성화 되어 있습니다.
fi
done
fi
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-25 (상) NFS 접근 통제 (0) | 2021.09.01 |
---|---|
[Linux] U-24 (상) NFS 서비스 비활성화 (0) | 2021.09.01 |
[Linux] U-22 (상) crond 파일 소유자 및 권한 설정 (0) | 2021.09.01 |
[Linux] U-21 (상) r 계열 서비스 비활성화 (0) | 2021.09.01 |
[Linux] U-20 (상) Anonymous FTP 비활성화 (0) | 2021.09.01 |