Linux 파일 시스템을 사용하여 한 번 작성, 많은 읽기 (WORM) EMC Centera 장치를 사용하지 않는

나중에 덮어 쓰기, 추가, 업데이트 또는 삭제할 수없는 Linux 파일 시스템에 파일을 작성해야합니다. sudo-er, root 또는 다른 사람이 아닙니다. 기본적으로 전자 문서를 WORM (한 번 작성, 여러 번 읽음) 장치에 기록하도록 요구하는 기록 보관에 대한 금융 서비스 규정 (FINRA 17A-4)의 요구 사항을 충족하려고합니다. DVD 나 값 비싼 EMC Centera 장치를 사용하지 않는 것이 좋습니다.

Linux 파일 시스템이 있습니까, 아니면 SELinux가 파일을 작성한 후 즉시 (또는 최소한) 불변으로 만들 수있는 요구 사항을 지원할 수 있습니까? 아니면 리눅스 권한 등을 사용하여 기존 파일 시스템에서이를 시행 할 수있는 방법을 알고 있습니까?

읽기 전용 권한과 변경 불가능한 속성을 설정할 수 있음을 이해합니다. 물론 루트 사용자가 설정을 해제 할 수있을 것으로 기대합니다.

마운트 해제 한 다음 읽기 전용으로 다시 마운트하는 작은 볼륨에 데이터를 저장하는 것을 고려했지만 루트는 여전히 마운트 해제했다가 다시 쓰기 가능한 것으로 다시 마운트 할 수 있다고 생각합니다.

나는 현명한 아이디어를 찾고 있으며 최악의 시나리오는 이것을 제공하기 위해 기존 파일 시스템을 ‘향상’하기 위해 약간의 코딩을하고 싶습니다. 좋은 시작점이되는 파일 시스템이 있다고 가정합니다. 이 유형의 네트워크 저장 장치로 작동하도록 신중하게 구성된 Linux 서버를 배치하고 다른 작업은 수행하지 마십시오.

그 후에 파일의 암호화도 유용합니다!



답변

OpenAFS 및 읽기 전용 볼륨을 사용하여이를 수행 할 수 있습니다. 그러나 작동하기 위해 설치해야 할 인프라가 많기 때문에 요구 사항을 충족하지 못할 수 있습니다.

http://www.openafs.org/

기본적으로, 쓰기 가능한 볼륨과 하나 이상의 읽기 전용 볼륨 사본이 있습니다. 쓰기 가능한 볼륨을 해제 할 때까지 읽기 전용 복사본은 클라이언트에서 변경할 수 없습니다. 볼륨을 해제하려면 관리자 권한이 필요합니다.

모든 솔루션에는 특수 하드웨어 또는 특수 하드웨어의 의미를 복제하는 네트워크 파일 시스템이 필요한 것 같습니다.


답변

사용자 정의 파일 시스템 / 커널 코드를 작성하지 않으면이 작업을 수행 할 수있는 방법이없는 것 같습니다.

실용적인 솔루션은 WORM 아카이브 스토리지 옵션과 함께 Amazon Glacier를 사용하는 것으로 보입니다. https://aws.amazon.com/blogs/aws/glacier-vault-lock/ 의 AWS 공식 블로그에 따르면

[…]이 중요한 레코드 보존 유스 케이스를 지원하도록 설계된 다양한 준수 제어로 볼트를 잠글 수있는 새로운 Glacier 기능. 이제 볼트에서 볼트 잠금 정책을 생성하고 잠글 수 있습니다. 일단 잠겨 있으면 정책을 덮어 쓰거나 삭제할 수 없습니다. Glacier는 정책을 시행하고 여기에 지정된 통제 (사전 정의 된 보존 기간 포함)에 따라 귀하의 기록을 보호합니다.

볼트 잠금 정책을 잠근 후에는 변경할 수 없습니다. 그러나 별도의 볼트 액세스 정책을 사용하여 준수와 관련되지 않은 액세스 제어를 계속 변경하고 구성 할 수 있습니다. 예를 들어, 비즈니스 파트너 또는 지정된 제 3 자 (규정에 따라 필요한 경우)에 대한 읽기 권한을 부여 할 수 있습니다.

저에게는 NetApp 또는 EMC 하드웨어 비용없이 필요한 정보를 정확하게 제공하면서 기록 보존 요구 사항을 충족하는 것처럼 보입니다.


답변

사용자가 파일을 덮어 쓸 수없는 시스템에서 파일에 액세스해야하는 경우 쓰기 권한이없는 원격 볼륨을 마운트 할 수 있습니다. 이를 수행하는 가장 쉬운 방법은 읽기 전용 samba / cifs 공유를 마운트하는 것입니다.

그렇지 않으면 사용자가 덮어 쓰거나 수정할 수없는 새 파일을 쓸 수있는 방법이 필요한 경우 해결책은 FUSE curlftpfs를 사용하여 FTP 경로를 마운트하는 것입니다.

다음 지시문을 사용하여 proftpd 디렉토리를 설정할 수 있습니다.

AllowOverwrite off
<Limit WRITE>
  DenyAll
</Limit>
<Limit STOR>
  AllowAll
</Limit>

이러한 방식으로 새 파일을 마운트 된 디렉토리에 저장할 수 있지만 더 이상 수정하거나 제거 할 수 없습니다.

링크 :
CurlFtpFS , ProFTPD


답변

이는 ” 무적 백업 “문제 의 변형 이며이를 구현할 수있는 유일한 방법은 체크섬을 사용 및 공유하고 물리적 또는 관리 액세스를 공유하지 않는 여러 원격 웜 파일 시스템을 사용하는 것입니다. 이를 통해 모든 것이 한 번 작성되고 복제되며 무결성이 보장되며 단일 블록이 지워지거나 변경되거나 손상되거나 복구 가능한 경우가 보장됩니다.

Plan9 또는 그 파생 상품이 필요한 모든 기능을 암시 할 수 있습니다. Plan9Venti 참조


답변