199번의 이상한 포트와 master라는 이상한 프로그램
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 12,543 조회
- 0 추천
- 목록
본문
제목 : 199번의 이상한 포트와 master라는 이상한 프로그램
제가 관리하고 있는 어떤 서버에서 이상한 포트와 보지못하던 프로세스가 실행중임을 확인하였습니다. Tcp 199번 포트와 master라는 프로세스인데 서버내부에서 확인해 보았지만 관리자나 사용자가 설치하여 사용하는 것이 아니라는 것을 확인하고 자세한 점검을 시작하였습니다.
서버점검과정에서 발견된 흔적은 다음과 같이 확인이 되었습니다.
위의 netstat결과중 맨 첫행에 있는 199번은 평소에 사용하지 않았던 포트번호이므로 당연히 이상하게 생각했었습니다. 그리고 맨 밑에서 두번째행을 보시면 /var/agentx/master라는 프로세스가 생힝이 되고 있음을 확인할 수 있었습니다. 이 또한 평소에는 보지 못했던 프로세스이므로 위에서 발견한 199번 포트와 뭔가 관련이 있지않을까하는 막연한 추척만으로 확인작업을 시작하였습니다.
먼저, 199번이라는 포트는 1024번 이하의 포트번호이므로 사용자가 임의대로 생성하여 사용할 수 있는 포트는 아니며 시스템에서 사용하기 위해 이미 정해져있는 포트번호일 것입니다. 따라서 다음과 같이 어떤 서비스에서 사용하기위한 포트번호인가를 확인하기 위하여
/etc/services파일을 살펴보았습니다. /etc/services에서 확인해 본 결과 199번은 다음과 같이 snmp 프로토콜을 위한 포트임을 확인할 수 있었습니다.
snmp라는 프로토콜은 Simple Network Management Protocol의 약어로서 네트워크 장비들의 상태와 감시등을 하기위한 프로토콜임은 이미 많이 알려진 사실입니다.
하지만 중요한 것은 현재 이 서버에서는 snmp를 사용하지 않음에도 불구하고 이 smux라는 SNMP Unix Multiplxer가 실행되어 있다는 것입니다.
필자는 먼저 다음과 같이 좀 더 정확한 점검과 확인을 위하여 ftp를 이용하여 다른 서버에있는 깨끗한 ps를 가져왔습니다. 혹시라도 ps가 트로이화되어 있을 가능성이 있기 때문입니다. 만약 ps가 트로이화되어 있다면 실행중인 프로세스들의 정확한 상황파악 및 점검을 할 수 없기 때문입니다.
그리고 다른 서버에서 가져온 ps를 가지고 관련 프로세스를 점검할때에는 반드시 ./ps로 시작하여야합니다.
위와 같이 master라는 프로세스를 깨끗한 ps를 이용하여 다시한번 점검을 해았으나 여전히 실행중인 프로세스는 없다고 나옵니다.
따라서 이번에는 lsof를 이용하여 현재 응답가능한(LISTEN) 프로세스들과 포트들을 점검한 결과 다음과 같이 tcp 199번이 snmpd에 의해서 사용중임을 확인하였습니다.
이제 남은 것은 이 불필요한 프로세스가 왜 실행이 되어있었는가를 분석하는 것과 관련 데몬들을 완전히 내리는 작업이 필요합니다.
따라서 199번 포트를 snmpd가 사용하고 있다는 것을 확인하였으므로 다음 단계로 ps를 이용하여 snmpd를 다음과 같이 확인해 보았습니다 .
실행되어 있는 snmpd를 보시면 –l옵션이 있습니다. 이 옵션은 snmpd와 관련된 로그를 어떻게 처리할 것인가에 대한 설정옵션인데 맨 뒤에 보시면 /dev/null 이 있으므로 다음과 같이 짐작할 수 있습니다. 즉 snmpd를 실행을 시키면서 이와 관련된 모든 로그를 /dev/null, 즉 모두 쓰레기장으로 버린다는 의미입니다. 따라서 짐작컨데 목적한 작업을 하기 위해 누군가(?) snmpd를 실행시키면서 관련 로그는 모두 남겨지지않도록 해둔 것 같았습니다.
따라서 우선 kill을 이용하여 snmpd데몬을 내렸습니다.
그리고 관련된 /var/agentx/master라는 것도 함께 삭제를 했습니다.
그리고 다시 netstat으로 포트들을 점검해 본 결과 199번과 master라는 프로세스도 함께 내려간 것을 확인 할 수 있습니다.
이상입니다.
작성자 : ㈜수퍼유저코리아 박성수 (papa골뱅superuser.co.kr)
관련자료
-
이전
-
다음