Linux에서 gocryptfs로 파일을 암호화하는 방법

0
424
랩톱에서 터미널 창의 그래픽.
Fatmawati Achmad Zaenuri / Shutterstock

Linux 시스템의 전체 하드 드라이브가 아닌 중요한 파일을 암호화 하시겠습니까? 그렇다면 다음을 권장합니다. gocryptfs. 기본적으로 저장 한 모든 것을 암호화하고 해독하는 디렉터리를 얻게됩니다.

gocryptfs는 데이터 침해로부터 보호를 제공합니다

프라이버시는 큰 뉴스입니다. 한 조직 또는 다른 조직에서 침해를 발표하지 않고는 거의 일주일이 지나지 않습니다. 회사는 최근 사고를보고하거나 얼마 전에 발생한 침해를 공개합니다. 두 경우 모두 데이터가 노출 된 사람들에게는 나쁜 소식입니다.

수백만 명의 사람들이 Dropbox, Google Drive 및 Microsoft OneDrive와 같은 서비스를 사용하기 때문에 끝없는 것처럼 보이는 데이터 스트림이 매일 클라우드로 푸시됩니다. 데이터의 일부 (또는 전체)를 클라우드에 저장하는 경우 침해 발생시 기밀 정보 및 개인 문서를 보호하기 위해 무엇을 할 수 있습니까?

물론 데이터 침해는 모든 형태와 규모로 발생하며 클라우드에만 국한되지 않습니다. 분실 된 메모리 스틱 또는 도난당한 노트북은 규모가 작은 데이터 유출 일뿐입니다. 그러나 규모는 중요한 요소가 아닙니다. 데이터가 민감하거나 기밀 인 경우이를 가진 다른 사람은 재앙이 될 수 있습니다.

한 가지 해결책은 문서를 암호화하는 것입니다. 일반적으로 이것은 하드 드라이브 전체를 암호화하여 수행됩니다. 이것은 안전하지만 컴퓨터 속도가 약간 느려집니다. 또한 치명적인 오류가 발생하면 백업에서 시스템을 복원하는 프로세스가 복잡해질 수 있습니다.

그만큼 gocryptfs 시스템을 사용하면 보호가 필요한 디렉토리 만 암호화하고 시스템 전체의 암호화 및 복호화 오버 헤드를 피할 수 있습니다. 빠르고 가볍고 사용하기 쉽습니다. 또한 암호화 된 디렉터리를 다른 컴퓨터로 쉽게 이동할 수 있습니다. 해당 데이터에 액세스 할 수있는 암호가있는 한 다른 컴퓨터에 파일 흔적이 남지 않습니다.

그만큼 gocryptfs 시스템은 경량의 암호화 된 파일 시스템으로 구성됩니다. FUSE (Filesystem in Userspace) 패키지를 사용하기 때문에 루트가 아닌 일반 계정으로도 마운트 할 수 있습니다. 이것은 사이의 다리 역할을 gocryptfs 그리고 액세스해야하는 커널 파일 시스템 루틴.

gocryptfs 설치

설치하기 위해서 gocryptfs 우분투에서는 다음 명령을 입력하십시오.

sudo apt-get install gocryptfs

sudo apt-get은 터미널 창에 gocryptfs를 설치합니다.

Fedora 유형에 설치하려면 :

sudo dnf install gocryptfs

sudo dnf 터미널 창에 gocryptfs 설치

Manjaro에서 명령은 다음과 같습니다.

sudo pacman -Syu gocryptfs

sudo pacman -Syu gocryptfs in a terminal window

암호화 된 디렉토리 생성

영광의 일부 gocryptfs 사용하기가 얼마나 간단한 지입니다. 원칙은 다음과 같습니다.

  • 보호하려는 파일과 하위 디렉터리를 포함 할 디렉터리를 만듭니다.
  • 사용하다 gocryptrfs 해당 디렉토리를 초기화합니다.
  • 빈 디렉토리를 마운트 지점으로 만든 다음 암호화 된 디렉토리를 마운트합니다.
  • 마운트 지점에서 복호화 된 파일을보고 사용하고 새 파일을 만들 수 있습니다.
  • 완료되면 암호화 된 폴더를 마운트 해제합니다.

암호화 된 데이터를 보관하기 위해 “vault”라는 디렉터리를 만들 것입니다. 이를 위해 다음을 입력합니다.

mkdir vault

터미널 창에서 mkdir 볼트.

새 디렉토리를 초기화해야합니다. 이 단계는 gocryptfs 디렉토리 내의 파일 시스템 :

gocryptfs -init vault

터미널 창에서 gocryptfs -init vault.

메시지가 나타나면 암호를 입력하십시오. 정확한지 확인하기 위해 두 번 입력합니다. 강력한 단어를 선택하세요. 구두점, 숫자 또는 기호가 포함 된 관련없는 단어 세 개가 좋은 템플릿입니다.

마스터 키가 생성되고 표시됩니다. 이것을 복사하여 안전한 곳에 저장하십시오. 이 예에서 우리는 gocryptfs 각 기사가 작성된 후 지워지는 연구 시스템의 디렉토리.

예제에 필요하므로이 디렉토리의 마스터 키를 볼 수 있습니다. 당신은 확실히 당신의 것보다 훨씬 더 비밀 스럽기를 원할 것입니다. 누군가 귀하의 마스터 키를 얻으면 귀하의 암호화 된 모든 데이터에 액세스 할 수 있습니다.

새 디렉토리로 변경하면 두 개의 파일이 생성 된 것을 볼 수 있습니다. 다음을 입력하십시오.

cd vault
ls -ahl

터미널 창에서 cd ​​볼트.

“gocryptfs.diriv”는 짧은 바이너리 파일이고“gocryptfs.conf”는 안전하게 보관해야하는 설정과 정보를 포함합니다.

암호화 된 데이터를 클라우드에 업로드하거나 이동 가능한 작은 미디어에 백업하는 경우이 파일을 포함하지 마십시오. 그러나 제어 할 수있는 로컬 미디어에 백업하는 경우이 파일을 포함 할 수 있습니다.

충분한 시간과 노력을 기울이면 아래와 같이 “암호화 된 키”및 “소금”항목에서 암호를 추출 할 수 있습니다.

cat gocryptfs.conf

터미널 창에서 cat gocryptfs.conf.

암호화 된 디렉토리 마운트

암호화 된 디렉토리는 단순히 빈 디렉토리 인 마운트 지점에 마운트됩니다. “geek”라는 이름을 만들 것입니다.

mkdir geek

이제 마운트 지점에 암호화 된 디렉토리를 마운트 할 수 있습니다. 엄밀히 말하면 실제로 마운트 된 것은 gocryptfs 암호화 된 디렉토리 내의 파일 시스템. 암호를 입력하라는 메시지가 표시됩니다.

gocryptfs vault geek

암호화 된 디렉토리가 마운트되면 다른 것과 동일하게 마운트 지점 디렉토리를 사용할 수 있습니다. 이 디렉토리에서 편집하고 생성하는 모든 것은 실제로 마운트 된 암호화 된 디렉토리에 기록됩니다.

다음과 같은 간단한 텍스트 파일을 만들 수 있습니다.

touch secret-notes.txt

이를 편집하고 내용을 추가 한 다음 파일을 저장할 수 있습니다.

gedit secret-notes.txt

새 파일이 생성되었습니다.

ls

터미널 창에서 mkdir 괴짜.

아래와 같이 암호화 된 디렉토리로 전환하면 암호화 된 이름으로 새 파일이 생성 된 것을 볼 수 있습니다. 이름에서 어떤 파일 유형인지조차 알 수 없습니다.

cd vault
ls -hl

터미널 창에서 cd ​​볼트.

암호화 된 파일의 내용을 보려고하면 실제로 뒤죽박죽임을 알 수 있습니다.

less aJGzNoczahiSif_gwGl4eAUnwxo9CvOa6kcFf4xVgYU

터미널 창에서 aJGzNoczahiSif_gwGl4eAUnwxo9CvOa6kcFf4xVgYU 이하.

아래에 표시된 간단한 텍스트 파일은 이제 해독하기가 쉽지 않습니다.

터미널 창에 적은 암호화 된 텍스트 파일의 내용.

암호화 된 디렉토리 마운트 해제

암호화 된 디렉토리 작업이 끝나면 다음을 사용하여 마운트 해제 할 수 있습니다. fusermount 명령. FUSE 패키지의 일부인 다음 명령은 gocryptfs 마운트 지점에서 암호화 된 디렉토리 내의 파일 시스템 :

fusermount -u geek

터미널 창에서 fusermount -u geek.

마운트 지점 디렉토리를 확인하기 위해 다음을 입력하면 여전히 비어있는 것을 볼 수 있습니다.

ls

ls는 터미널 창에 있습니다.

당신이 한 모든 것은 암호화 된 디렉토리에 안전하게 저장됩니다.

간단하고 안전한

단순한 시스템은 더 자주 사용된다는 장점이 있지만 더 복잡한 프로세스는 길가에 빠지는 경향이 있습니다. 사용 gocryptfs 간단 할뿐만 아니라 안전합니다. 보안이없는 단순성은 가치가 없습니다.

필요한만큼 암호화 된 디렉토리를 만들거나 중요한 데이터를 모두 보관하기 위해 하나만 만들 수 있습니다. 암호화 된 파일 시스템을 마운트 및 마운트 해제하고 프로세스를 훨씬 더 단순화하기 위해 몇 가지 별칭을 만들 수도 있습니다.

관련 : Linux에서 별칭 및 셸 함수를 만드는 방법