이 서버는 무엇을하고 있습니까?


13

이전 IT 부서에서 남은 Linux 가상 서버가 많이 있습니다. 그들은 '마법'또는 '물건'과 같은 이름을 가지고 있습니다. 나는 그들이 무엇을하고 있는지 잘 모르겠습니다.

이 기계의 목적을 어떻게 알아낼 수 있을까요? (그것을 끄고 무엇이 부서지는 것을 보는 것 외에)


2
이 머신에 로그인 할 자격 증명이 있습니까?
Skyhawk

기계에 필요한 작업을 수행 할 수있는 자격 증명이 있습니다
blsub6

9
전혀 쓸모없는 의견이지만이 질문의 제목은 훌륭한 게임 쇼를 만들 것입니다.
Matt Simmons

답변:


20

몇 곳에서 시작하십시오.

  • 청취 서비스 ( netstat)-일반적으로 말해서 시스템에 무슨 일이 일어나고 있는지에 대한 적절한 아이디어를 제공해야합니다.
  • /root/.bash_history (또는 루트를 사용하지 않은 경우 다른 사용자의 경우)-콘솔에서 진행중인 모든 작업은 시스템의 목적과 관련이있는 것이 이상적입니다.
  • /var/log -표준 로그를 한눈에보고 응용 프로그램과 관련된 항목을 찾으십시오.
  • 설치된 패키지-이것은 실행중인 리눅스 배포판과 관련이 있지만 로그가 있으면 살펴보십시오. /var/log/dpkg.log, /var/log/yum.log

2
Cron 작업 (시스템 /etc/crontab/etc/cron.*사용자 별 작업 모두)
DerfK

1
그리고 무엇에 대해 ps uaxwtop, 무슨 일이 일어나고 있는지 볼 수? :)
KARASZI István

12

과학적으로는 잘 알지 못하지만 관리 부서의 허가를 받으면 VM을 일시 중지하는 것이 좋습니다. 당신은 다른 것.

진지하게 당신은 그들이하는 모든 일을 진지하게 알지 못하고 그들을 알아 내려고 노력할 수 있습니다. 그것들을 일시 정지하는 것은 이상하게 보일 수도 있지만 문서화가 없다면 아이디어를 경영진에게 판매 할 수 있다고 확신합니다.


4
+1-실행중인 서비스를 찾는 유일한 방법은 서비스를 끄는 것입니다. 저의 마지막 직업은 Windows NT4 "인쇄 서버"였습니다. 그 날이 꺼진 날에 아무도 그 상자에서 달리고 있다는 것을 알지 못했던 많은 일들이 터졌습니다.
voretaq7

1
일시 정지하고 기다리십시오. 그리고 두 달이 지나고 임의의 임의의 사용자가 공유, 바로 가기 또는 다른 것이 작동하지 않는다고 불평하지만 작동했습니다.
adamo

5
@adamo ... 순간적으로 데이터 / 기능을 인식되는 지원되는 시스템 / VM으로 마이그레이션 한 다음 다시 끄면 전환합니다.
Chopper3

7

제안 된 첫 번째 답변이 그렇지 않다는 사실에 놀랐 ps -ef습니다. 따라서 시스템을 지금 하고있는 것을 알고 싶다면 프로세스 목록을 읽고 루트가 무엇인지에 특별한주의를 기울이십시오. 눈에 띄는 이름을 가진 사용자 (mysql, named 등)가 소유 한 프로세스가 있는지 여부

그런 다음 프로세스 목록 lsof을 루트로 실행과 비교 하여 네트워크에서 수신 대기중인 프로세스와 열린 파일을 보유중인 프로세스를 확인합니다. 일반적으로 이것은 일반적으로 주요 기능인 박스에서 오래 실행되는 프로세스를 아주 잘 보여줍니다.

주목할만한 예외는 메일 (로컬 syslog 참조)과 mailqsendmail에 의해 처리되는 것에 대한 세부 사항 및 /etc/xinetd.conf적어도 최근의 Redhat 기반 Linux에 대한 내기 유형의 주문형 서비스 입니다.

희망이 도움이됩니다. 특히 문제가 발생하면 알려 주시면 도와 드리겠습니다.


일에 대한 lsof. lsof -i이러한 상황에서 가장 친한 친구가 될 수 있습니다.
Brian

1

나는 어떤 서비스가 실행 중인지 보는 것부터 시작하겠습니다 ... 그런 다음 해당 서비스를 호스팅하는 서비스와 일치 시키십시오. 미션 크리티컬 (실행중인 경로 인 경우 일시 중지) 인 경우 실행중인 작업을 중단 할 수 있으므로 어떤 상황에서도 전원을 끄지 마십시오. 또한 확인해야합니다. 어떤 종류의 문서가 있는지 확인하십시오.


1

오, 그거 재밌 네요.

그들이 무엇을 사용하는지 알고 있습니까? "네트워크 서비스에 사용 된 것"으로 범위를 좁힐 수 있습니까? 아니면 실제로 무엇이든 될 수 있습니까?

실행중인 모든 서비스에 대한 감사와 함께 각 서버의 패킷 캡처가 필요하다고 말합니다. 실행중인 각 서비스에 대한 구성 파일을 찾고 파일이 마지막으로 업데이트 된 시간을 확인하십시오. 그러면 사용자 정의 된 항목이 있는지 여부와 그 기간이 얼마인지에 대한 힌트가 제공됩니다.

또한 각 서버에서 포트 스캔을 실행하여 열려 있고 응답하는 포트를 확인할 수 있습니다.

알려진 네트워크 서비스 (EG, DNS, LDAP 등)를 쿼리하여 실마리를 얻을 수 있습니다. NS 레코드를 파서 특정 영역에 대한 모든 DNS 서버 목록을 찾을 수 있어야합니다. 실제로 활성화 된 DNS 서버보다 NS 레코드 목록이 더 길어질 수 있지만 시작점이 될 수 있습니다.

이 방법들 중 어느 것도 그 자체로는 확실하지는 않지만 특정 상자에 여러 감사 방법을 던지면 발견할만한 모든 것을 찾을 가능성이 높아집니다.

행운을 빕니다!


첫 번째 문장 +1, 질문을 읽을 때 우리 모두가 생각하는 것입니다. :)
John Gardeniers

0

포트 스캔은 네트워크 액세스 가능한 서비스를 보여줍니다

서버에서 로컬로 : nmap 127.0.0.1

또는 nmap에게 특정 서브넷 / 마스크를 스캔하도록 지시 할 수 있습니다.


2
아니면 그냥 netstat.
John Gardeniers

0

다른 하나의 각도는 서버에 연결하도록 구성된 것을 살펴 보는 것입니다. foozle.example.com이 CEO의 이메일 클라이언트에 구성된 경우 아마도 메일 서버 일 것입니다. FTP 클라이언트는 아마도 일종의 웹 서버를 가리킬 것입니다. 등


문제가있는 동안 문제는 대상 컴퓨터가 아닌 다른 모든 컴퓨터 및 해당 컴퓨터의 모든 사용자 계정을 확인해야한다는 것입니다.
John Gardeniers

실제로는 아닙니다. 실제로 서버 인 경우 샘플을 확인하면 대부분의 상자가 무엇인지 알려줍니다. 또는 적어도 일반적으로 내부적으로 액세스됩니다. 외부에서 액세스 할 수있는 서비스를 다루기 위해 방화벽 규칙을 살펴볼 수도 있습니다.
Wyatt Barnett

0

프로세스의 경우 ps -ef, 서비스 수신의 경우 netstat -a 및 tcpdump는 어떤 트래픽이 앞뒤로 진행되는지 확인하는 것이 좋습니다. 또한 Linux이기 때문에 방화벽이 실행 중일 가능성이 높습니다. 규칙 설정을 확인하십시오.이 호스트와이 호스트가 연결하는 원격 호스트에서 어떤 서비스가 사용 될지에 대한 정보를 얻을 수 있습니다. . iptables --list 물론, 방화벽에 체크 아웃해야 할 것이 또 있습니다. lsmod를 사용하여 방화벽 모듈을 찾은 다음 / var / log를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.