[리눅스 보안] 서버 관리 - RPC 서비스 확인
■ 대상 OS : SunOS, Linux, AIX, HP-UX
■ 취약점 개요
- * RPC(Remote Procedure Call) 서비스는 분산처리 환경에서 개발을 하는 데 있어 많은 이점을 제공하지만, 아래와 같은 서비스들은 버퍼 오버플로우(Buffer Overflow)취약성이 다수 존재하여 root 권한 획득 및 침해사고 발생 위험이 있으므로 서비스를 중지하여야 함.
rpc.cmsd, rpc.ttdbserverd, sadmind, rusersd, walld, sprayd, rstatd, rpc.nisd, rexd, rpc.pcnfsd, rpc.statd, rpc.ypupdated, rpc.rquotad, kcms_server, cachefsd
* RPC(Remote Procedure Call) : 분산 환경에서 서버 응용프로그램에 접근하여 특정 작업을 요구하는 Call을 말함
■ 보안대책
- 양호 : 불필요한 RPC 서비스가 비활성화 되어 있는 경우
- 취약 : 불필요한 RPC 서비스가 활성화 되어 있는 경우
■ 조치방법
- 일반적으로 사용하지 않는 RPC 서비스들을 inetd.conf 파일에서 주석처리한 후 inetd 재구동 (진단 보고서에 발견된 RPC 서비스 조치)
■ 보안설정 방법
◆ OS별 점검 파일 위치 및 점검 방법
- Linux, AIX, HP-UX, SunOs 5.9 이하버전
불필요한 RPC 서비스 비활성화 여부 확인
#cat /etc/inetd.conf
- Linux (xinetd)
"/etc/xinetd.d" 디렉토리 내 서비스별 파일 비활성화 여부 확인
#vi /etc/xinetd.d/[서비스별 파일명]
- SunOS 5.10 이상 버전
RPC 서비스 관련 데몬 확인
#inetadm | grep rpc | grep enabled | egrep "ttdbserver | rex | rstat | rusers | spray | wall | rquota"
※ 불필요한 "RPC" 서비스가 활성화된 경우 아래의 보안설정 방법에 따라 서비스 데몬 중지
■ Linux, AIX, HP-UX, SunOS 5.9 이하 버전
1. "/etc/inetd.conf " 파일에서 해당 라인 #처리(주석처리)
(수정 전) rpc.cmsd/2-4 dgram rpc/udp wait root /usr/dt/bin/rpc.cmsd rpc.cmsd
(수정 후) #rpc.cmsd/2-4 dgram rpc/udp wait root /usr/dt/bin/rpc.cmsd rpc.cmsd
2. inetd 서비스 재시작
#ps -ef | grep inetd
root 141 1 0 15:03:33 ? 0:01 /usr/sbin/inetd -s
#kill -HUP 141
■ Linux (xinetd일 경우)
1. vi 편집기를 이용하여 "/etc/xinetd.d" 디렉토리 내의 불필요한 RPC 서비스 파일을 연 후
2. 아래와 같이 설정 (Disable = yes 설정)
service finger
{
disable = yes
socket_type = stream
wait = no
- 이하 생략 -
}
3. xinetd 서비스 재시작
#service xinetd restart
■ SunOS 5.10 이상 버전
1. 불필요한 rpc 서비스 관련 데몬 확인
- svc:/network/rpc/cde-ttdbserver:tcp
- svc:/network/rpc/spray:default
- svc:/network/rpc/rex:default
- svc:/network/rpc/wall:default
- svc:/network/rpc/rstat:default
- svc:/network/fs/rquota:default
- svc:/network/rpc/rusers:default
- 이하 생략 -
2. svcadm disable "중지하고자 하는 데몬" 명령으로 서비스 데몬 중지
#inetadm -d svc:/network/rpc/rusers:default
★ 불필요한 RPC 서비스
- rpc.cmsd : 데이터베이스 관리 프로그램으로 Open Windows의 Calendar Manager와 CDE의 Calendar 프로그램에서 사용
- rusersd : rusers 명령의 조회에 응답
- rstatd : 커널에서 얻은 성능 통계 리턴
- rpc.ttdbserverd : 시스템 장애 시 NFS에서 파일 복구를 위해 제공하는 lockd 프로그램 지원
- kcms_server : kodak color management 관련된 api 와 라이브러리들은 데스크탑의 디지털 이미지들의 컬러 퍼포먼스를 컨트롤할 수 있는 Profile를 만들거나 관리하기 위해 사용
- rpc.ttdbserverd : RPC 기반의 ToolTalk 데이터베이스 서버 프로그램
- Walld : 다른 사용자들에게 메시지 발송
- rpc.nids : NIS + server Daemon
- rpc.ypupdated : Network Information Service(NIS) 맵 정보 갱신
- cachefsd : Cache 파일 시스템 데몬
- sadmind : remote로부터의 시스템 관리
- sprayd : 지정된 수의 패킷을 호스트에 전송하고 성능 통계를 보고하는 spray 명령에 의해 전송된 패킷 수신
- rpc.pcnfsd : PC-NFS (개인용 컴퓨터 네트워크 파일 시스템) 클라이언트에서의 서비스 요청 처리
- rexd : 원격 시스템용 프로그램 실행
- rpc.rquotad : Remote 머신에 NFS mount 되고 있는 파일 시스템에 대해 사용자에 대한 로컬 머신에서의 할당 제한치를 반환
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Infra > 리눅스 서버' 카테고리의 다른 글
[리눅스 보안] 서버 관리 - tftp, talk 서비스 비활성화 (0) | 2017.03.06 |
---|---|
[리눅스 보안] 서버 관리 - NIS, NIS+ 점검 (0) | 2017.03.03 |
[리눅스 보안] 서버 관리 - automountd 제거 (0) | 2017.02.23 |
[리눅스 서버] 서버 관리 - NFS 접근통제 (0) | 2017.02.22 |
[리눅스 보안] 서버 관리 - NFS 서비스 비활성화 (0) | 2017.02.20 |