저는 원격 위치에 대한 백업을 생성하기 위해 유지 관리하는 거의 모든 호스트("백업 호스트"라고 함)에서 이중성을 사용하고 있습니다.
전체 또는 증분 백업을 수행하는 빈도와 시기는 호스트와 해당 사용 사례에 따라 다릅니다.
나는 일반적인 오류(사람의 실수, 하드웨어/소프트웨어 등)로부터 자신을 보호할 뿐만 아니라 잠재적인 공격으로부터 복구하려고 노력하고 있습니다.
내 경우에는 이러한 이중성 백업을 실행하기 위해 SSH/SFTP 백엔드를 사용하고 있습니다. 이중화에는 백업 호스트에 대한 읽기/쓰기 액세스가 필요하므로 백업할 호스트에 대한 제어 권한을 얻은 누군가가 백업 호스트에 연결하여 해당 백업을 삭제하거나 엉망으로 만들 수도 있습니다.
그럼에도 불구하고 – 제가 이해한 바에 따르면 – 백업할 호스트도 백업 호스트의 파일을 삭제해야 /필요합니다/: 공간이 부족하지 않도록 백업할 호스트는 자주 오래된 백업을 삭제하려면 remove-all-but-n-full
- 및 -actions를 사용하여 이중성을 호출하세요 .remove-all-inc-of-but-n-full
제가 들은 바로는 이러한 정리 작업은 백업으로 인해 백업 호스트 자체에서는 수행될 수 없습니다. 어떤 파일이 어떤 세트에 속하는지에 관한 이중성 메타데이터는 암호화되지만 각 개인 키(GPG)는 백업 호스트에 존재하지 않습니다.
따라서 백업 호스트에서 이러한 정리를 수행하려면 파일 타임스탬프를 기반으로 수행해야 하며 이로 인해 손상되거나 부분적인 백업 세트가 발생할 수 있습니다.
현재 이러한 공격으로부터 자신을 "보호"하기 위해 기본 백업 호스트에서 보조 백업 호스트로 모든 백업 데이터를 rsync하는 기본 백업 호스트에 정기적으로 연결하는 두 번째 백업 호스트가 있습니다.
하지만 여기서도 이미 위에서 언급한 문제에 직면해 있습니다.
- 구조에 대한 이해 없이 기본 호스트에서 두 번째 백업 호스트로 파일을 복사하는 것뿐입니다(아직 완료되지 않은 파일, 부분 세트 등을 복사하겠습니다).
- 공간이 부족해지지 않도록 파일 타임스탬프만을 기준으로 오래된 백업을 다시 삭제해야 하며, 이로 인해 백업 세트를 사용할 수 없게 될 수 있습니다.
공격자가 백업할 호스트에 대한 전체 액세스 권한을 얻으면서 이미 생성된 백업을 망칠 수 없도록 하면서 이중성을 통해 백업할 호스트를 자동으로 백업하는 가장 우아하고 깔끔한 방법은 무엇입니까? ?
정말 감사합니다!