최근의코드 공간 삭제오프사이트 백업 프로세스(현재 비밀번호를 입력하여 수동으로 수행)가 생각납니다. 나는 읽고 있었다지도 시간이중성을 통해 백업을 자동화하는 방법을 보여줍니다. 이는 SSH 키를 사용하여 백업 서버에 대한 인증 프로세스를 자동화하는 경향이 있습니다.
그러나 이것은 나에게 구멍이 가득한 것 같습니다. 백업 중인 서버가 손상되어 악의적인 사용자가 액세스 권한을 얻은 경우 자동으로 백업 서버에 로그인하여 백업을 삭제할 수 있습니다. /usr/bin/nologin
관리자가 백업 사용자의 파일 에 사용된다고 가정하면 /etc/passwd
(이것이 어느 정도 신뢰할 수 있는지 또는 이중성이 원격으로 작동하는 것을 방지할 수 있는지는 모르겠습니다) 악의적인 사용자가 duplicity 명령을 사용하여 여전히 백업을 지울 수 있습니다. duplicity remove-older-than [time now]
.
rsync를 사용하여 ssh를 통해 백업 서버로 파일을 보내고 백업 서버의 "마스터 사용자"가 모든 사용자 계정의 로컬 반복 백업을 자체 저장 영역에 수행하도록 하는 유일한 보안 솔루션입니다(즉, 해당 계정만 액세스할 수 있음). 저장소 영역)의 자체 파일이지만 다른 모든 계정 파일을 읽을 수 있는 권한이 있습니까? 아니면 백업 삭제의 이중성을 방지하고 원격 로그인을 방지할 수 있는 방법이 있습니까?
답변1
내가 아는 한 Duplicity는 원격 디렉터리를 로컬 디렉터리로 백업할 수 없습니다. 저는 두 단계로 문제를 해결합니다. 백업 서버에서 다음을 수행합니다.
SSH 키를 사용하여 SSH를 통해 rsync를 실행하여 원격 디렉터리를 로컬 디렉터리에 동기화
rsync -avz -e ssh user@remote:/remote/directory local_directory
한 디렉터리에서 다른 디렉터리로 이중성을 실행합니다. 비대칭 GnuPG 키를 사용하므로 암호화 중에 비밀번호가 필요하지 않습니다.
이중성 --encrypt-key=YOUR_KEYID local_directory 파일://backup_directory
또는 암호화되지 않은 백업:
duplicity --no-encryption local_directory file://backup_directory
답변2
백업을 업로드한 후 chattr +i
해당 백업을 사용하여 수정하거나 삭제할 수 없도록 변경할 수 없게 만들 수 있습니다. 루트만이 이 플래그를 설정하거나 지울 수 있습니다.
대안으로, chown
백업 계정이 더 이상 해당 파일에 액세스할 수 없도록 파일을 업로드한 후 다른 사용자에게 보낼 수 있습니다.