728x90
반응형
취약점 분석 스크립트
#!/bin/bash
# log파일로 해당 진단 내용 파일 생성
. function.sh
BAR
CODE [ U-17 ] $HOME/.rhosts, hosts.equiv 사용 금지
cat << EOF >> $RESULT
[ 양호 ] : login, shell, exec 서비스를 사용하지 않거나, 사용 시 아래와 같은 설정이 적용된 경우
1. /etc/hosts.equiv 및 $HOME/.rhosts 파일 소유자가 root 또는, 해당 계정인 경우
2. /etc/hosts.equiv 및 $HOME/.rhosts 파일 권한이 600 이하인 경우
3. /etc/hosts.equiv 및 $HOME/.rhosts 파일 설정에 '+'(신뢰) 설정이 없는 경우
[ 취약 ] : login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우
EOF
BAR
TMP=$(mktemp)
FILENAME1=~/.rhosts
FILENAME2='/etc/hosts.equiv'
# 1) 서비스 실행유무 확인
systemctl list-unit-files | grep rsh.socket | awk '{print $2}' > $TMP # enabled / disabled
if [ $TMP == 'enabled' ] ; then
INFO "서비스가 활성화 되어있습니다."
# 2) / $HOME/.rhosts , hosts/equiv 파일 확인
# 파일 소유자, 권한 확인
CHECK1=$(find $FILENAME1 -user root -perm 600 2>/dev/null)
CHECK2=$(find $FILENAME2 -user root -perm 600 2>/dev/null)
if [ -n "$CHECK1" ] && [ -n "$CHECK2" ] ; then
# 파일 설정 '+' 유무 확인
CONFIG1=$(cat $FILENAME1 | grep "+")
CONFIG2=$(cat $FILENAME2 | grep "+")
if [ -n "$CONFIG1" ] && [ -n "$CONFIG2" ] ; then
WARN "login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우"
else
WARN "login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우"
fi
else
WARN "login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우"
fi
else
OK "login, shell, exec 서비스를 사용하지 않거나, 사용 시 아래와 같은 설정이 적용된 경우"
fi
cat $RESULT
echo;
- 스크립트 실행 전 파일 유무를 확인한다.
- 스크립트를 실행한 결과는 다음과 같이 출력된다.
728x90
반응형