[리눅스/서비스 관리] RPC 서비스 관리 (U-27)

RPC 서비스 관리

 

취약점 개요

■ 위험도
- 상

■ 점검 목적
- 다양한 취약점(버퍼 오버플로우, DoS, 원격실행 등) 이 존재하는 RPC 서비스를 점검하여 해당 서비스를 비활성화 하도록 함

■ 보안 위협
- 버퍼 오버플로우(Buffer Overflow), DoS, 원격실행 등의 취약성이 존재하는 RPC 서비스를 통해 비인가자의 root 권한 획득 및 침해사고 발생 위험이 있으므로 서비스를 중지하여야 함

점검 및 조치 방법

■ 판단 기준
- 양호 : 불필요한 RPC 서비스가 비활성화 되어 있는 경우
- 취약 : 불필요한 RPC 서비스가 활성화 되어 있는 경우

■ 조치 방법
- 일반적으로 사용하지 않는 RPC 서비스들을 inetd.conf 파일에서 주석 처리한 후 inetd 재구동

■ 점검 및 조치 사례

● LINUX, AIX, HP-UX, SOLARIS 5.9 이하 버전
Step 1) vi 편집기를 이용하여 "/etc/xinetd.d/" 디렉토리 내의 불필요한 RPC 서비스 파일열기
Step 2) 아래와 같이 설정

Step 3) xinetd 서비스 재시작
# service xinetd restart

SOLARIS 5.10 이상 버전
Step 1) 불필요한 rpc 서비스 관련 데몬 확인

Step 2) svcadm disable "중지하고자 하는 데몬" 명령으로 서비스 데몬 중지
# inetadm -d svc:/network/rpc/rusers:default

■ 스크립트

echo -e "======================================================================================" >> $COMPUTERNAME
echo U-44 START
echo -e "[ U-44 RPC 서비스 확인 ]\n" >> $COMPUTERNAME
##### 불필요한 RPC_Remote Procedure Call_ 서비스 #####
##### rpc.cmsd / rpc.ttdbserverd / sadmind / rusersd / walld / sprayd / rstatd / rpc.nisd #####
##### rexd / rpc.pcnfsd / rpc.statd / rpc.ypupdated / rpc.rquotad / kcms_server / cachefsd #####
echo "[불필요한 RPC 서비스 비활성화 여부 확인]" >> $COMPUTERNAME
cat /etc/inetd.conf >>$COMPUTERNAME 2>&1
echo "[ /etc/xinetd.d 디렉토리 내 서비스별 파일 비활성화 여부 확인 ]" >> $COMPUTERNAME
cat /etc/xinetd.d >>$COMPUTERNAME 2>&1
##### xinetd 를 안쓰면 cat /etc/inetd.conf #####
##### xinetd 를 쓰면 /etc/xinetd.d/[서비스별 파일명] 의 파일 내용에서 비활성화 여부 확인 #####
echo -e "\nU-44 END" >> $COMPUTERNAME
echo -e "======================================================================================\n" >> $COMPUTERNAME

 

■ 용어 설명 / 팁
- RPC(Remote Procedure Call) : 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 프로토콜

댓글

Designed by JB FACTORY