SSH를 통한 전체 OS 복제


1

최근에 손상된 CENTOS 서버가 있습니다. 그러나 나는 컴퓨터 보안을 가르친 교수와 친해졌으며,이 사람에게 이전 파일을 검토하여 무슨 일이 있었는지 볼 수있는 기회를주고 싶습니다. 저장 공간이 있습니다. CENTOS 서버가 고스트하기 전에 완전히 복제하는 방법이 있습니까?

답변:


1

"복제"단어로 일부 독자를 오도 할 수 있습니다. 일반적으로 시스템을 복제하여 동일한 실행 시스템을 생성합니다. 동일한 하드웨어를 사용하는 경우 오래 전에 복제하여 40 대의 원격 서버를 관리 했으므로이 작업을 상당히 성공적으로 수행 할 수 있습니다. 정확한 하드웨어가 없다면 MS OS로 복제하는 것이 훨씬 쉽지만 복제본을 실행하는 데 어려움이있을 수 있습니다.

하드웨어가 비슷한 경우 (즉, x86 CPU 또는 64 비트 및 SATA 드라이브가 동일한 순서로) 한 상자에서 다른 형식의 파일 시스템으로 파일을 cpio 할 수 있습니다.

Live CD 또는 그와 같은 대상에서 대상을 실행하고 다음과 같은 명령을 실행해야합니다.

소스 머신에서 :

cd /rootoforig
find . -depth | cpio -o | nc -w 3 1234

대상 컴퓨터에서 :

nc -l -p 1234 | cpio -imduv

대역폭이 중요한 경우 파이프 중간에 압축을 삽입 할 수 있습니다. nc는 NetCat입니다

이렇게하면 소유권 / 권한 / 시간이 중복되어 파일 시스템이 그대로 복제되므로 악용 진단에 매우 중요합니다.

이 데이터 전송은 암호화되지 않았기 때문에 훨씬 빠르게 실행됩니다.

이제 파일 시스템의 복제본이 있어야합니다 ( "복제본"보다 더 일반적인 것).

문제가 해결되지 않으면 grub 명령을 실행하여 부팅을 구성 할 수 있어야합니다. 나는 두 번째 디스크를 로컬로 마운트하고 약간 다른 명령을 사용하지만이를 많이 사용했습니다.

cd /rootoforig
find . -depth | cpio -pmduv /mnt/destinationfs

-depth는 폴더보다 먼저 폴더에있는 파일을 보내도록 지시하므로 폴더의 액세스 시간 / 소유권을 올바르게 설정할 수 있습니다.

rsync로 비슷한 결과를 얻을 수 있습니다. 나를 위해, rsync는 내가 이것을 처음 시작할 때 존재하지 않았습니다.

마지막으로 대안으로 시스템 을 실제로 복제 하려면 다음과 비슷한 것을 실행할 수 있습니다.

# on the server w/ ip 12.3.4:
nc -l 12345 | gzip -d | dd bs=16M of=computer-dd-image.img

# on the source/client:
dd bs=16M if=/dev/sda | gzip -c | nc 1.2.3.4 12345

물론 Netcat은 암호화되지 않으며 블록 크기를 변경하고 gzip 압축을 추가하면 네트워크를 통한 전송 속도가 향상됩니다. 속도를 희생하면서 ssh를 통해이 방법을 사용할 수도 있습니다.

dd if=/dev/sda | ssh username@servername.net dd of=computer-dd-image.img

이를 통해 부검 및 Scapel 또는 EnCase 같은 소프트웨어를 사용하여 법의학 분석을 통해 더 많은 것을 수행 할 수 있습니다 .


좋은 대답과 '복제'용어 사용에 대한 설명. scalpel, formost 또는 Encase와 같은 많은 법의학 패키지는 복제 된 이미지를보고 싶어합니다. 팀보 사용을 제외하고, 설명이 수행 할 수 있습니다 dd또는 dcfldd이 아닌 cpio이상, nc 원시 블록으로 작업 할 수 있습니다. 자세한 내용은 법의학 위키를 참조하십시오 : forensicswiki.org/wiki/Category:Disk_Imaging
glallen

0

확실한:

 scp -prv  root@compromised:/ /mount/point

/ mount / point는 이미지의 마운트 지점입니다. 옵션은 다음과 같습니다. -r 지정된 디렉토리 안에있는 모든 것을 재귀 적으로 복사하여 트리의 모든 분기를 내림차순으로합니다. -p 수정 시간, 액세스 시간 및 모드 및 -v 상세 모드를 유지합니다. 이는 작업 크기에 따라 유용 할 수 있습니다.

물론 rync로도 같은 작업을 수행 할 수 있습니다 .


소유권 및 권한을 유지하려면 대상도 있어야합니다 root@. 그리고 root@compromised:/소스로 지정하여 대상 시스템에서 클라이언트를 더 잘 실행하십시오 . 실제로 암호를 입력하고 싶지 않습니다.
grawity

@grawity 당신은 완전히 맞습니다, 위의 솔루션에 이것을 추가했습니다
MariusMatutiae
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.