보통 회사에서는 인프라팀에서 주기적으로 서버 보안점검을 하는데 시스템 운영과 관련이 없는 서비스나 취약 서비스는 중지 하거나 제거하도록 권고한다. 이 경우 해당 서비스의 사용여부를 체크해서 필요없다면 데몬을 중지하거나 비활성화 해야 한다.
여기에서는 rpcbind 를 예로 들어 설명한다. rpcbind 는 일반적으로 nfs 를 설치하면 함께 설치되는 의존성 패키지이기 때문에 nfs가 사용중인지 확인한다.
sudo systemctl status nfs
만약 nfs 가 구동중이 아니라면 결과가 아래와 같을 것이다.
● nfs.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
그런데 혹시 rpcbind 를 nfs 가 아닌 다른 곳에서 사용중일 수 있기 때문에 추가 확인이 필요하다. 아래 명령어로 rpc 를 사용중인 네트워크 자원을 확인한다.
netstat -nap | grep -i rpc
만약 결과가 rpc 계열 밖에 없다면 넘어가도 되는데 다른 계열이 있다면 해당 pid 로 추가 정보를 체크한 뒤에 rpcbind 서비스 종료여부를 결정한다.
프로세스 상세 정보를 확인해본다.
sudo ps -ef | grep {pid}
해당 pid에 의해 열려있는 파일도 확인해본다.
sudo lsof -p {pid}
위 검토 결과 아무런 문제가 없다면 rpcbind 서비스를 종료한다. 종료를 하고 아예 비활성화하는 방법도 있는데 되도록 종료까지만 할 것을 권장한다.
종료를 하더라도 시스템에서 필요하다면 자동으로 다시 띄울 수 있는데 비활성화까지 해버리면 미처 체크하지 못한 곳에서 필요로 할 경우 장애로 이어질 수 있다. 이에 일단 종료만 하고 추후 모니터링을 하면서 다시 살아나는지 체크하고 비활성화하도록 한다.
rpcbind 서비스 종료는 아래와 같이 하면 된다.
sudo systemctl stop rpcbind.socket
sudo systemctl stop rpcbind.service
sudo systemctl stop rpcbind.target
sudo systemctl stop rpc-gssd.service
정상적으로 종료되었는지 확인한다.
sudo systemctl status rpc
sudo netstat -nap|grep -i rpc
며칠 모니터링 결과 서비스가 다시 살아나지 않는다면 사용되는 곳이 없다는 것이니 아래와 같이 비활성호 처리 하도록 한다.
sudo systemctl disable rpcbind.socket
sudo systemctl disable rpcbind.service
'Base > OS, Network' 카테고리의 다른 글
Proxy Server (0) | 2021.08.06 |
---|---|
CDN (0) | 2021.06.11 |
NAS (0) | 2021.06.11 |
port 확인 및 열기 (0) | 2021.06.04 |
Linux crontab (0) | 2021.04.16 |