zbx_trends_sh 가 뭐지...
zabbix server에서 무분별하게 치고 들어와서 CPU를 높이는 프로세스이다.
모니터링 중에 갑자기 생기는 원인불분명한 이 프로세스가 방해스럽다.
어떻게 해결하지 싶었는데, 얘가 치고 들어오는 클라이언트IP를 추적해서 방화벽으로 막자는 의견이 나왔다.
뭘까 ?
1. Zabbix 포럼을 확인해보면, zabbix 서버의 프로세스는 아니라고 한다. Zabbix의 프로세스는 모두 zabbix_server 라고 함.
인터넷에 액세스하지 않으면 zbx_trends_sh 프로세스가 시작되지 않는다는 추측과 바이러스로 보는 인식이 있는 듯
2. Audit log를 통해서 발생 로그를 확인함.
금일 zbx_trends_sh가 수행했던 작업들은 모두 denied 된 것으로 확인.
/var/log/audit/audit.log.1
테스트 환경 (개인 장비)
1. OCI
2. OCI Image : Oracle Linux 8.7
3. Web server : Apache/2.4.37
4. Load balancer (웹서버 앞단)
테스트 취지
1. Zabbix 서버 내에 원인 불분명한 프로세스인 ‘zbx_trend_sh’의 CPU 고사용률로 인한 모니터링 장애 다수 발생
2. Zabbix 포럼을 확인한 결과, 해당 프로세스는 외부 접속을 통한 해킹 또는 채굴일 것이라는 내용을 확인함.
3. Client는 일반적으로 proxy 형태로 전달되기 위해 로드밸런서를 경유하기 때문에 Access log에 LB의 IP만 찍히게 됨.
4. 따라서 httpd.conf 파일을 수정하여 해당 Client IP 확인을 취지로 하였음.
테스트 진행 및 결과
1. httpd.conf 파일 내에 LogFormat 지시어를 디폴트로 설정할 경우, Access log 확인 시 로드밸런서의 IP만 찍히게 됨.
2. httpd.conf 파일 내에 LogFormat 지시어에 %{X-Forwarded-For}i 추가
ð X-Forwarded-For 헤더는 중간 단계의 서버가 Client IP를 추가하고, 이를 웹서버에 전달하는 역할을 함.
ð 해당 헤더값을 사용하면 LB를 경유하여 Apache 웹서버에 접근하는 IP를 추적할 수 있음
/etc/
* conf 파일을 수정하게 되면 httpd를 재기동 시켜줘야함.
아파치를 재기동하여 외부접속을 시도해보면 LB 앞에 Client IP도 함께 추적되는 것을 확인할 수 있다.
이 결과를 토대로, 해당 프로세스가 외부접속을 어디서 시작하는지 확인할 수 있으며, 해당 IP를 막으면 되지 않을까?
테스트 완료
'Monitoring > Zabbix' 카테고리의 다른 글
zabbix 설치 및 실행 과정 / oracle linux 8 (OCI) (0) | 2023.03.15 |
---|