
SRV-016 불필요한 RPC 서비스 활성화
【 상세설명 】
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 서비스가 비활성화 되어 있는 경우 (업무상 사용시 예외)
- 취약 : rpc.cmsd, rpc.ttdbserverd, sadmind, rusersd, walld, sprayd, rstatd, rpc.nisd, rexd, rpc.pcnfsd, rpc.statd, rpc.ypupdated, rpc.rquotad, kcms_server, cachefsd 서비스가 불필요하게 활성화 되어 있는 경우
【 판단방법 】
1. RPC 서비스 프로세스 구동 확인
2. RPC 서비스 활성화 설정 확인
- inetd : 각 RPC 서비스 설정 주석 처리 확인
- xinetd : 각 RPC 서비스 설정 파일에서 "disable = yes" 설정 확인
■ Linux : RPC 서비스 프로세스 구동 확인 및 RPC 서비스 설정 주석 처리 또는 "disable = yes" 설정 확인
# ps -ef | egrep "rpc|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
rpcuser 52061 1 0 14:43 ? 00:00:00 /usr/sbin/rpc.statd
...
# cat /etc/inetd.conf | egrep "rpc|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
rpc.cmsd/2-4 dgram rpc/udp wait root /usr/dt/bin/rpc.cmsd rpc.cmsd
...
또는
# cat /etc/xinetd.d/<rpc_service_file>
service rstatd
{
disable = no
...
}
■ AIX : RPC 서비스 프로세스 구동 확인 및 RPC 서비스 설정 주석 처리 확인
# ps -ef | egrep "rpc|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
rpcuser 52061 1 0 14:43 ? 00:00:00 /usr/sbin/rpc.statd
...
# cat /etc/inetd.conf | egrep "rpc.|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
cmsd sunrpc_udp udp wait root /usr/dt/bin/rpc.cms cmsd
ttdbserver sunrpc_tcp tcp wait root /usr/dt/bin/
rusersd sunrpc_udp udp wait root /usr/lib/netsvc/
rwalld sunrpc_udp udp wait root /usr/lib/netsvc/
sprayd sunrpc_udp udp wait root /usr/lib/netsvc/
rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd
rexd sunrpc_tcp tcp wait root /usr/sbin/tpc.rexd.rexd rexd
pcnfsd sunrpc_udp udp wait root /usr/sbin/rpc.pcnfsd pcnfsd
rquotad sunrpc_udp udp wait root /usr/sbin/rpc.rquotad
...
■ HP-UX : RPC 서비스 프로세스 구동 확인 및 RPC 서비스 설정 주석 처리 확인
# ps -ef | egrep "rpc|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
rpcuser 52061 1 0 14:43 ? 00:00:00 /usr/sbin/rpc.statd
...
# cat /etc/inetd.conf | egrep "rpc.|rpc.cms|rpc.ttdbserver|sadmin|rusers|wall|spray|rstat|rpc.nis|rex|rpc.pcnfs|rpc.stat|rpc.ypupdate|rpc.rquota|kcms_server|cachefs"
rpc stream tcp nowait root /usr/sbin/rpc.rexd 100017 1 rpc.rexd
rpc dgram udp wait root /usr/lib/netsvc/rstat/rpc.rstatd 100001 2-4 rpc.rstatd
rpc dgram udp wait root /usr/lib/netsvc/rusers/rpc.rusersd 100002 1-2 rpc.rusersd
rpc dgram udp wait root /usr/lib/netsvc/rwall/rpc.rwalld 100008 1 rpc.rwalld
rpc dgram udp wait root /usr/sbin/rpc.rquotad 100011 1 rpc.rquotad
rpc dgram udp wait root /usr/lib/netsvc/spray/rpc.sprayd 100012 1 rpc.sprayd
rpc xti tcp swait root /usr/dt/bin/rpc.ttdbserver 100083 1 /usr/dt/bin/rpc.ttdbserver
rpc dgram udp wait root /usr/dt/bin/rpc.cmsd 100068 2-5 rpc.cmsd
...
■ SOLARIS 9 이하 : RPC 서비스 프로세스 구동 확인 및 RPC 서비스 설정 주석 처리 확인
# ps -ef | egrep "rpc|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
rpcuser 52061 1 0 14:43 ? 00:00:00 /usr/sbin/rpc.statd
...
# cat /etc/inetd.conf | egrep "rpc.|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind
100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd
100221/1 tli rpc/tcp wait root /usr/openwin/bin/kcms_server kcms_server
100235/1 tli rpc/ticotsord wait root /usr/lib/fs/cachefs/cachefsd cachefsd
100068/2-5 dgram rpc/udp wait root /usr/dt/bin/rpc.cmsd rpc.cmsd
rexd/1 tli rpc/tcp wait root /usr/sbin/rpc.rexd rpc.rexd
rstatd/2-4 tli rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatd
rusersd/2-3 tli rpc/datagram_v,circuit_v wait root /usr/lib/netsvc/rusers/rpc.rusersd rpc.rusersd
walld/1 tli rpc/datagram_v wait root /usr/lib/netsvc/rwall/rpc.rwalld rpc.rwalld
sprayd/1 tli rpc/datagram_v wait root /usr/lib/netsvc/spray/rpc.sprayd rpc.sprayd
...
■ SOLARIS 10, 11 : RPC 서비스 프로세스 구동 확인
# svcs -a | egrep "rpc.|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
svc:/network/rpc/cde-ttdbserver:tcp
svc:/network/rpc/rusers:default
svc:/network/rpc/wall:default
svc:/network/rpc/spray:default
svc:/network/rpc/rstat:default
svc:/network/rpc/rex:default
svc:/network/fs/rquota:default
...
■ RHEL 6, 7, 8, 9 : RPC 서비스 프로세스 구동 확인
# ps -ef | egrep "rpc|cms|ttdbserver|sadmin|rusers|wall|spray|rstat|nis|rex|pcnfs|stat|ypupdate|rquota|kcms_server|cachefs"
rpcuser 52061 1 0 14:43 ? 00:00:00 /usr/sbin/rpc.statd
...
※ 불필요한 RPC 서비스 목록
- rpc.statd : 시스템 장애 시 NFS 에서 파일 복구를 위해 제공하는 lockd 프로그램을 지원하는 도구로 클라이언트와 서버의 상태를 모니터링 하는 데몬
- rpc.ttdbserverd : ToolTalk 애플리케이션간의 통신을 관리하는 데몬
- sadmind : 원격에서 시스템을 관리하거나 모니터링하기 쉽게 도와주는 데몬
- rpc.ypupdated : nis process 변경된 정보를 변경해주는 데몬
- rusersd : 현재 네트워크에 있는 사용자 리스트를 리턴해주는 데몬
- walld : 메시지를 네트워크의 모든 사용자에게 전송하는 요청을 처리하는 데몬
- sprayd : 지정된 수의 패킷을 호스트에 전송하고 성능 통계를 보고하는 데몬
- rstatd : CPU 와 가상메모리 사용통계, 네트워크 가동시간, 하드디스크에 대한 정보를 제공하는 데몬
- rpc.nisd : NIS+ 의 서비스를 제공하는 데몬
- rexd : 원격 사용자가 서버에서 명령어를 실행하도록 하는 데몬
- rpc.pcnfsd : PC-NFS(개인용 컴퓨터 네트워크 파일 시스템) 클라이언트에서의 서비스 요청을 처리하는 데몬
- rpc.cmsd : 데이터베이스 관리 데몬으로 open Windows 의 Calender Manager 와 CDE 의 Calender 에서 사용
- rpc.rquotad : 원격 쿼터 데몬으로 NFS 서버의 파일 시스템을 마운트한 로컬 유저의 쿼터를 넘겨줌
- kcms_server : 데스크탑 컴퓨터 및 관련 주변 기기에 디지털 컬러 이미지의 색상 성능을 제어 할 수 있는 코닥 색상 관리 시스템을 원격에서 접근할 수 있게 해주는 데몬
- cachefsd : 캐시 파일 시스템 데몬. nfs 나 cdrom 같은 저속의 장치를 디스크로부터 캐싱하여 성능을 증가시킴
【 조치방법 】
1. 불필요한 RPC 서비스 중지 또는 서비스 설정 주석 처리 후 inet, xinetd 서비스 재시작
- inetd : 각 RPC 서비스 설정 주석 처리
- xinetd : 각 RPC 서비스 설정 파일에서 "disable = yes" 설정
2024-01-13 : (조치과정 삭제)
'인프라 진단 > 전자금융기반시설(서버) - Linux' 카테고리의 다른 글
SRV-021 FTP 서비스 접근 제어 설정 미비 (0) | 2024.01.01 |
---|---|
SRV-015 불필요한 NFS 서비스 실행 (0) | 2024.01.01 |
SRV-014 NFS 접근 통제 미비 (0) | 2024.01.01 |