Image

지식 기반 → 암호화된 Luks 파일 자동 마운트

[가상 서버]
출판 날짜: 20.01.2024

기사에서 VDS Linux에서 암호화된 디스크 생성 암호화된 파일을 생성하고 이를 디스크로 마운트하는 방법을 설명했습니다. 이 예에서는 연결하기 위해 매번 비밀번호를 입력하고 파일 작업 후에는 비밀번호를 비활성화합니다. 이 작업 방법은 데이터 작업에 대한 높은 수준의 보안을 제공합니다.

단점은 비밀번호를 입력한 PC에 모든 행위가 기록되면 매번 입력하는 비밀번호를 가로챌 수 있다는 점이다. (키로거가 설치되어 있음)

이번 예에서는 암호화된 파일을 자동으로 마운트하는 방법과 키 파일을 이용해 서버가 부팅될 때마다 디스크를 마운트하는 방법을 보여드리겠습니다.

1. 키 파일 생성

dd if=/dev/urandom of=/root/random_data_keyfile1 bs=1024 count=4

1.1 루트에게만 권한을 할당하자

chmod 0400 /root/random_data_keyfile1

1.2 암호화된 파일에 키 파일을 추가해 보겠습니다

cryptsetup luksAddKey /root/crypt-drive /root/random_data_keyfile1

Enter any existing passphrase:

2. 자동 연결을 위한 구성을 추가해 보겠습니다.

2.1 파일 /etc/crypttab

# <target name>	<source device>		<key file>	<options>
crypto-my /root/crypt-drive /root/random_data_keyfile1 luks,discard

키 파일을 삭제하고 서버를 재부팅하면 부팅 단계에서 암호화된 파일의 비밀번호를 입력하라는 메시지가 표시되지만 이 단계에서는 네트워크를 통해 서버에 액세스할 수 없습니다. 비밀번호를 올바르게 입력하면 네트워크 서비스를 포함하여 서버가 계속 로드됩니다.

2.1.1 키 파일이 누락된 경우 서버가 계속 부팅되도록 하려면 시간 초과 옵션을 추가하세요

# <target name>	<source device>		<key file>	<options>
crypto-my /root/crypt-drive /root/random_data_keyfile1 luks,discard,timeout=30

이제 키 파일이 없는 경우 비밀번호를 입력하면 30초 동안 기다린 후 서버가 계속 로드되고 네트워크를 통해 액세스할 수 있습니다.

2.2 파일 /etc/fstab

...
/dev/mapper/crypto-my /mnt/crypt-volume ext4 defaults 0 0

완료되면 서버를 재부팅하고 확인할 수 있습니다.

df -h

Filesystem             Size  Used Avail Use% Mounted on
udev                   962M     0  962M   0% /dev
tmpfs                  197M  504K  197M   1% /run
/dev/sda1               62G  2.7G   56G   5% /
tmpfs                  984M     0  984M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
/dev/mapper/crypto-my  974M   72K  908M   1% /mnt/crypt-volume
tmpfs                  197M     0  197M   0% /run/user/0

이 방법에는 서버에 물리적으로 접근할 때 루트 비밀번호를 재설정할 수 있고, 키 파일이 서버에 저장되어 있으므로 암호화된 섹션의 데이터에 접근할 수 있다는 단점이 있습니다.





No Comments Yet