실행 중인 Linux 서버에서 `dd`를 사용하여 루트 파일 시스템을 지울 수 있습니까?

실행 중인 Linux 서버에서 `dd`를 사용하여 루트 파일 시스템을 지울 수 있습니까?

안전하게 파괴하고 싶은 (물리적으로) 원격 서버가 있습니다. 불행하게도 디스크는 하나의 큰 루트 파티션으로만 파티션되어 있으며 다른 파티션은 없습니다. dd루트 파일 시스템이 포함된 장치를 지우는 데 안정적으로 사용할 수 있습니까 ?

다음과 같은 간단한 것:

$ sudo nohup dd if=/dev/urandom of=/dev/sda bs=1024

분명히 작업의 출력을 볼 수 없으므로 작업이 성공적으로 완료되었는지 확인할 수 없습니다. dd및 프로그램 은 nohup충분히 작아야 하며 현재 서버에서 실행 중인 다른 항목이 없으므로 해당 프로그램이 실행되는 동안 메모리에서 제거될 이유가 없습니다. 완료될 때까지 실행됩니까, 아니면 dd완료되기 전 어느 시점에서 커널이 패닉을 일으킬 가능성이 있습니까?

다른 가능성도 생각하고 있는데, 이에 대해서는 별도의 질문으로 질문하겠습니다.

답변1

, 이것은전적으로가능하지만 약간의 작업이 필요합니다.

대부분의 답변은 StackExchange에서 확인할 수 있지만 여기에는 훨씬 더 자세한 내용이 있고 우수한 정보를 제공할 만한 소스에 대한 링크를 포함하여 요약하겠습니다.

  1. 인메모리 기반 Linux 환경을 구축하고 다음을 사용하여 전환합니다.pivot_root.
  2. 를 사용하여 외부에서 서버에 액세스할 수 있는지 확인하십시오 ssh.
  3. 루트 장치를 닦습니다.

    # nohup dd if=/dev/urandom of=/dev/sda bs=512 > wipe.log &

  4. dd일반적으로 진행 상황이 표시되지 않으므로 간격을 두고 의 진행 상황을 확인하세요 .

    # kill -USR1 [ddpid]

  5. 나중에 다시 돌아와서 프로세스가 완료되었는지 확인하세요(로그 파일 확인). 디스크를 살펴보고 실제 파일 시스템 대신 임의의 정크가 있는지 확인하십시오. 원할 경우 두 번째(또는 세 번째) 닦아냅니다.

  6. 다음에 무엇을 할지 결정하십시오.

    원하시면 여기서 멈춰서 걸어가시면 됩니다. 머신의 전원이 꺼지면 원하는 대로 안전하게 부팅할 수 없는 장치를 갖게 됩니다 dd.

    다음에 하기로 결정한 것은 이전에 해보지 않은 일, 즉 원격으로 Linux 기반 시스템을 구축하는 것입니다. 그래서 나는 계속했다:

  7. fdisk원하는 대로 루트 장치를 다시 분할하고 mkfs해당 파티션에 파일 시스템을 만드는 데 사용 합니다.

  8. 사용debootstrap에게기본 Debian 환경 설치(미래) 루트 파일 시스템에서.
  9. chroot새로운 기본 환경에 추가 패키지(예: sshd커널)와 부트로더를 설치합니다(예 grub: 부트로더가 실제로 장치에 설치되었는지 확인하세요. 패키지만 설치하지 마세요).
  10. root_pivot위의 1단계에서와 동일한 방식으로 새 환경으로 전환하는 데 사용됩니다 . sshd를 통해 서버에 액세스할 수 있도록 모든 서비스(예: )를 불러옵니다 ssh.
  11. 재부팅합니다. 새로운 OS를 사용할 준비가 되어 있어야 합니다.

답변2

기업 환경에서는 IPMI, iDRAC 또는 기타 원격 KVM 솔루션과 같은 일종의 대역외 관리가 필요할 것입니다. 해당 시스템을 사용하여 삭제를 수행하고 확인할 수 있는 liveCD로 부팅합니다. 목표가 보안 삭제라면 작업을 확인해야 합니다. 그냥 "그건 효과가 있었을 텐데"라고 말할 수는 없습니다. 왜냐하면 그것이 작동한다고 가정하더라도 그것이 작동했다는 의미는 아니기 때문입니다. 일부 IPMI 시스템에서는 원격으로 보유하고 있는 ISO에서 원격으로 부팅할 수 있습니다. DBAN 이미지와 같은 간단한 것을 사용할 수 있습니다.

답변3

이것은 대답이 많지는 않지만 비슷한 작업을 수행했습니다. sudo dd if=./bootcd-usb-debug.iso of=/dev/sda내 USB 드라이브로 사용하려고 했던 것에 ReactOS iso를 작성하려고 했지만 실행 중인 Linux 시스템인지 확인하지 않았기 때문입니다. 데이터를 복구할 수 있기를 바랍니다.

관련 정보