취약점 개요 | |
점검 내용 | /etc/hosts.equiv 파일 및 .rhosts 파일 사용자를 root 또는, 해당 계정으로 설정한 뒤 권한을 600으로 설정하고 해당파일 설정에 ‘+’ 설정(모든 호스트 허용)이 포함되지 않도록 설정되어 있는지 점검 |
점검 목적 | ‘r’ command 사용을 통한 원격 접속은 인증 없이 관리자 원격접속이 가능하므로 서비스 포트를 차단해야 함 |
보안 위협 | login, rsh 등과 같은 ‘r’ command의 보안 설정이 적용되지 않은 경우, 원격지의 공격자가 관리자 권한으로 목표 시스템상의 임의의 명령을 수행시킬 수 있으며, 명령어 원격 실행을 통해 중요 정보 유출 및 시스템 장애를 유발시킬 수 있음. 또한 공격자 백도어 등으로도 활용될 수 있음 r-command(rlogin, rsh등) 서비스의 접근통제에 관련된 파일로 권한설정을 미 적용한 경우 r-command 서비스 사용 권한을 임의로 등록하여 무단 사용이 가능함 |
참고 | ※ ‘r’command: 인증 없이 관리자의 원격접속을 가능하게 하는 명령어들로 rsh(remsh), rlogin, rexec 등이 있으며, 포트번호 512,513,514 (TCP)를 사용함 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : 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 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우 | |
조치 방법 | Step 1) /etc/hosts.equiv 및 $HOME/.rhosts 파일 소유자를 root 또는, 해당 계정으로 변경 Step 2) /etc/hosts.equiv 및 $HOME/.rhosts 파일 권한을 600 이하로 변경 Step 3) /etc/hosts.equiv 및 $HOME/.rhosts 파일에서 “+”를 제거하고 반드시 필요한 호스트 및 계정만 등록 (해당 내역 요청) |
점검 및 조치 | |
점검 | Step 1) 파일 소유자 및 권한 확인 #ls –al /etc/hosts.equi #ls –al $HOME/.rhosts rw------- root <hosts.equiv 파일> rw------- root <$HOME/.rhosts 파일> Step 2) 계정 별 ‘+’ 부여 적절성 확인 #cat /etc/hosts.equiv #cat $HOME/.rhosts • /etc/hosts.equiv : 서버 설정 파일 • $HOME/.rhosts : 개별 사용자의 설정 파일 |
“/etc/hosts.equiv 및 $HOME/.rhosts” 파일의 소유자가 root가 아니거나 파일의 권한이 600이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 | |
조치 | Step 1) “/etc/hosts.equiv” 및 “$HOME/.rhosts” 파일의 소유자를 root 또는, 해당 계정으로 변경 #chown root /etc/hosts.equiv #chown <user_name> $HOME/.rhosts Step 2) “/etc/hosts.equiv” 및 “$HOME/.rhosts” 파일의 권한을 600 이하로 변경 #chmod 600 /etc/hosts.equiv #chmod 600 $HOME/.rhosts Step 3) “/etc/hosts.equiv” 및 “$HOME/.rhosts” 파일에서 “+”를 제거하고 허용 호스트 및 계정 등록 #cat /etc/hosts.equiv (or $HOME/.rhosts) |
점검 스크립트
#!/bin/bash
. 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
FILENAME1='/etc/hosts.equiv'
FILENAME2=~/.rhosts
# 1) service edable?
SERVICE=$(systemctl list-unit-files | grep rsh.socket | awk '{print $2}') # enabled|disabled
if [ $SERVICE = 'enabled' ] ; then
INFO "서비스가 활성화 되어있습니다."
# 2) hosts/equiv check / $HOME/.rhosts check
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
OK "login, shell, exec 서비스를 사용하지 않거나, 사용 시 아래와 같은 설정이 적용된 경우"
else
VULN "login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우"
fi
else
VULN "login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우"
fi
else
VULN "login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우"
fi
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-19 (상) Finger 서비스 비활성화 (0) | 2021.09.01 |
---|---|
[Linux] U-18 (상) 접속 IP 및 포트 제한 (0) | 2021.09.01 |
[Linux] U-16 (상) /dev에 존재하지 않는 device 파일 점검 (0) | 2021.08.23 |
[Linux] U-14 (상) 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정 (0) | 2021.08.23 |
[Linux] U-15 (상) world writable 파일 점검 (0) | 2021.08.23 |