일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 설정
- nodejs
- Windows
- sample
- Kibana
- ssh
- docker
- ChatGPT
- JS
- Python
- Ai
- 유니티
- build
- 구글
- error
- s3
- MSSQL
- 영어
- 엘라스틱서치
- logstash
- Linux
- Es
- AWS
- mariadb
- JavaScript
- API
- elasticsearch
- MySQL
- unity
- Today
- Total
가끔 보자, 하늘.
악성 데몬 찾고 해결하는 방법 본문
간혹 해킹을 당하거나 버그 등으로 네트웍 트래픽을 과도하게 유발하는 데몬이 있을 수 있습니다.
아래와 같은 방법으로 문제를 해결할 수 있으니 참고하시기 바랍니다.
iptraf 으로 특정 포트에서 외부로 특정 주소의 6666포트로 데이터를 12MB/s로 트래픽을 발생하는 현상을 발견했다고 가정해 보겠습니다. (추가로 nload를 사용하면 in/outbound에서 어느 정도 트래픽이 발생하는 정리해서 보여줍니다.)
(* iptraf-ng는 보다 편리한 인터페이스를 제공합니다.)
iptables에서 ip 혹은 포트를 바로 막을 수도 있겠지만 그보다는 트래픽을 유발하는 데몬을 찾아 삭제하는 것이 좋습니다.
만약 긴급한 상황이라 먼저 막아야 하는 상황이라면 아래와 같이 지정한 포트 사용을 차단할 수 있습니다.
iptables -I OUTPUT -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 6666 -j DENY
systemctl restart iptables
바로 차단하기 보다는 해당 포트를 사용하는 데몬을 찾고 싶을 때는 아래 절차로 진행해 보시기 바랍니다.
1. 6666 포트를 사용하는 데몬을 찾습니다.
netstat -ntlp | grep :6666
2. 프로세스를 찾았다면 kill로 다운시켜보세요.
kill -9 processid
3. 프로세스를 kill 후 다시 가동되는지 감시하세요.
4. 다시 올라왔다면 해당 프로세스를 가동하는 또다른 데몬이 있는 겁니다.
- ps axo pid,ppid,comm | grep processname(6666을 사용하는 프로세스 이름) 으로 검색하면 몇 번 프로세스가 6666을 사용하는지, 해당 프로세스를 가동하는 데몬의 processid가 무엇인지 찾을 수 있습니다.
- ps -ef | grep ppid 로 해당 프로세스를 찾아 삭제하세요.
5. 해킹에 대비해 root pw를 수정하세요. 그리고 해당 시스템의 모든 유저들의 pw를 수정하시기 바랍니다.
6. 이후 정기적으로 iptraf로 과도한 트래픽이 발생하는지 확인하세요. 만약 6666 포트가 아니라도 비슷한 상황이 발생한다면 루트권한을 누군가 탈취한겁니다. 이 경우 같은 네트웍을 사용하는 모든 시스템의 점검과 라우터 장비에 대한 점검이 필요합니다.
이상입니다.
'개발 이야기 > 인프라 구축 및 운영' 카테고리의 다른 글
scp로 터미널에서 파일 주고 받기 (0) | 2020.06.09 |
---|---|
서버리스 서비스 예제 - 04 [S3 정적 웹사이트에 https 적용하기] (31) | 2020.05.18 |
서버리스 서비스 예제 - 03 [S3에 도메인 연동하기] (0) | 2020.05.08 |
서버리스 서비스 예제 - 02 [ API Gateway - Lambda-DynamoDB ] (31) | 2020.02.14 |
서버리스 서비스 예제 - 01 [ API Gateway - Lambda-ElastiCache(Redis) ] (128) | 2020.02.12 |