문제: Ubuntu 시스템이 트로이 목마에 감염되어 프로세스가 자동으로 재시작됩니다.
공격 원인은 사용자 이름과 비밀번호가 너무 간단하여 SSH 서비스를 통해 강제 해독되었을 가능성이 있습니다.
nvidia-smi: 알 수 없는 ./java 프로세스가 실행 중입니다. 이를 종료해도 다른 악성 프로세스가 재시작됩니다. 우선 건드리지 마세요.
top: 여러 프로세스가 실행 중이며, 리소스를 모두 소모하고 있습니다. 아무리 종료해도 다시 시작됩니다.
해결 방법
이 트로이 목마는 많은 백도어를 설치하므로 완전히 제거하지 않으면 프로세스가 다시 시작됩니다.
외부 위협 해결 단계
- 사용자의 모든 비밀번호를 변경하세요! 최소 8자 이상의 문자, 숫자, 특수 문자 조합을 사용하세요.
- 시스템 설정에서 새로 생성된 악성 사용자를 확인하고 모두 삭제하세요.
- /home/ 디렉토리 하위에 있는 불필요한 사용자 또는 프로세스 파일을 모두 삭제하세요.
- /home/ 디렉토리 아래에는 숨김 파일이 생성될 수 있습니다. ls -a 명령어로 확인 후 rm -rf ./.* 명령어로 삭제하세요. 이 명령어를 실행하기 전 현재 디렉토리를 확인하세요.
내부 위협 해결 단계
주요 아이디어: 프로세스 ID를 사용하여 해당 프로그램의 파일 경로를 찾고, 관련 파일을 전부 찾아서 삭제합니다.
# 프로세스 정보 확인 ps -ef | grep [pid] # 프로세스의 작업 디렉토리 확인 pwdx [pid]
프로세스 ID를 사용하여 디렉토리를 찾은 후, 해당 파일명으로 전체 검색하여 rm -rf 명령어로 지정된 디렉토리를 삭제합니다. 마지막으로 kill -9 [pid] 명령어로 프로세스를 종료하세요.
예방 단계
ClamAV를 사용하여 바이러스 스캔
# 라이브러리 업데이트 sudo apt-get update # ClamAV 설치 sudo apt install clamav # 서명 업데이트 (실패해도 무시) sudo freshclam # 도움말 확인 clamscan --help # 특정 디렉토리 스캔 및 출력 clamscan -r --bell -i /home/user/Downloads # 전체 시스템 스캔 및 위협 제거 clamscan -r --remove / # GUI 인터페이스 설치 sudo apt install clamtk # 실행 clamtk
SSH 연결 모니터링 및 보호
# SSH 실패 로그 확인 sudo journalctl -u ssh.service | grep "Failed password" # SSH 서비스 로그 확인 sudo journalctl -u ssh -r # 실패한 로그인 기록 확인 sudo lastb # 모든 SSH 활성 연결 확인 sudo ss -tnp | grep ':22'
SSH 설정 수정
sudo vim /etc/ssh/sshd_config # 패스워드 로그인 비활성화 PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no # 특정 사용자만 허용 AllowUsers user1 # root 로그인 비활성화 PermitRootLogin no # 퍼블릭 키 인증 활성화 PubkeyAuthentication yes # IPv4만 사용 AddressFamily inet # SSH 서비스 재시작 sudo systemctl restart ssh # fail2ban 설치 및 활성화 sudo apt install fail2ban sudo systemctl enable --now fail2ban
숨김 디렉토리 및 파일 삭제
# .으로 시작하는 디렉토리 검색 및 삭제
sudo find / -type d -name ".*" ! -name "." ! -name ".." -exec rm -rf {} +
트로이 목마 검사 도구
# chkrootkit 설치 및 실행 sudo apt install chkrootkit sudo chkrootkit # rkhunter 설치 및 실행 sudo apt install rkhunter sudo rkhunter --update sudo rkhunter --check
비밀번호 변경
특수 문자 포함, 길이 10자 이상.