Linux에서 'Cryptsetup'도구를 사용하여 암호화 된 파일 시스템 및 스왑 공간을 설정하는 방법-3 부


LFCE ( Linux Foundation Certified Engineer 의 줄임말)는 Linux 시스템에서 네트워크 서비스를 설치, 관리 및 문제 해결하는 데 필요한 전문 지식을 갖추고 있으며 다음을 담당합니다. 시스템 아키텍처의 설계, 구현 및 지속적인 유지 관리.

Linux Foundation 인증 프로그램 (LFCE)을 소개합니다.

암호화의 기본 개념은 신뢰할 수있는 사람 만 민감한 데이터에 액세스 할 수 있도록 허용하고 컴퓨터/하드 디스크의 분실 또는 도난시 데이터가 잘못된 사람에게 넘어 가지 않도록 보호하는 것입니다.

간단히 말해서, 키는 귀하의 정보에 대한 액세스를 \" 잠금 \"하는 데 사용되므로 시스템이 실행 중이고 인증 된 사용자가 잠금을 해제 할 때 사용할 수 있습니다. 이것은 어떤 사람이 디스크 내용을 검사하려고하면 (자신의 시스템에 연결하거나 LiveCD/DVD/USB로 컴퓨터를 부팅하여) 실제 파일 대신 읽을 수없는 데이터 만 찾을 수 있음을 의미합니다.

이 기사에서는 표준 커널 수준 암호화 도구 인 dm-crypt (장치 매퍼 및 암호화의 약자)를 사용하여 암호화 된 파일 시스템을 설정하는 방법에 대해 설명합니다. dm-crypt 는 블록 수준 도구이므로 전체 장치, 파티션 또는 루프 장치를 암호화하는 데만 사용할 수 있습니다 (일반 파일 또는 디렉토리에서는 작동하지 않음).

암호화를위한 드라이브 / 파티션 / 루프 장치 준비

선택한 드라이브 (/dev/sdb )에있는 모든 데이터를 지울 것이므로 우선 해당 파티션에 포함 된 중요한 파일을 이전에 계속 진행합니다.

/dev/sdb 에서 모든 데이터를 삭제합니다. 여기서는 dd 명령을 사용하지만 파쇄 와 같은 다른 도구로도 수행 할 수 있습니다. 다음으로이 장치에 /dev/sdb1 파티션을 생성합니다. Part 4 – LFCS 시리즈의 Linux에서 파티션 및 파일 시스템 생성에 설명되어 있습니다.

# dd if=/dev/urandom of=/dev/sdb bs=4096 

계속 진행하기 전에 커널이 암호화 지원으로 컴파일되었는지 확인해야합니다.

# grep -i config_dm_crypt /boot/config-$(uname -r)

위 이미지에 설명 된대로 암호화를 설정하려면 dm-crypt 커널 모듈을로드해야합니다.

Cryptsetup dm-crypt 를 사용하여 암호화 된 파일 시스템을 생성, 구성, 액세스 및 관리하기위한 프런트 엔드 인터페이스입니다.

# aptitude update && aptitude install cryptsetup 		[On Ubuntu]
# yum update && yum install cryptsetup 				[On CentOS] 
# zypper refresh && zypper install cryptsetup 			[On openSUSE]

cryptsetup 의 기본 작동 모드는 LUKS ( Linux 통합 키 설정 )이므로 계속 사용하겠습니다. LUKS 파티션과 암호를 설정하는 것으로 시작합니다.

# cryptsetup -y luksFormat /dev/sdb1

위의 명령은 다음과 함께 나열 될 수있는 기본 매개 변수로 cryptsetup 을 실행합니다.

# cryptsetup --version

cipher , hash 또는 key 매개 변수를 변경하려는 경우 –cipher , < b> –hash –key-size 플래그, 각각 /proc/crypto 에서 가져온 값.

다음으로 LUKS 파티션을 열어야합니다 (앞서 입력 한 암호를 입력하라는 메시지가 표시됩니다). 인증이 성공하면 암호화 된 파티션을 지정된 이름으로 /dev/mapper 에서 사용할 수 있습니다.

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

이제 파티션을 ext4 로 포맷하겠습니다.

# mkfs.ext4 /dev/mapper/my_encrypted_partition

암호화 된 파티션을 마운트 할 마운트 지점을 만듭니다. 마지막으로 마운트 작업이 성공했는지 확인할 수 있습니다.

# mkdir /mnt/enc
# mount /dev/mapper/my_encrypted_partition /mnt/enc
# mount | grep partition

암호화 된 파일 시스템에 쓰기 또는 읽기가 끝나면 간단히 마운트 해제하십시오.

# umount /mnt/enc

다음을 사용하여 LUKS 파티션을 닫습니다.

# cryptesetup luksClose my_encrypted_partition

마지막으로 암호화 된 파티션이 안전한지 확인합니다.

1. LUKS 파티션을 엽니 다.

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. 암호를 입력하십시오

3. 파티션 마운트

# mount /dev/mapper/my_encrypted_partition /mnt/enc

4. 마운트 지점 내부에 더미 파일을 만듭니다.

# echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5. 방금 만든 파일에 액세스 할 수 있는지 확인합니다.

# cat /mnt/enc/testfile.txt

6. 파일 시스템을 마운트 해제합니다.

# umount /mnt/enc

7. LUKS 파티션을 닫습니다.

# cryptsetup luksClose my_encrypted_partition

8. 파티션을 일반 파일 시스템으로 마운트하십시오. 오류를 표시해야합니다.

# mount /dev/sdb1 /mnt/enc

추가 보안을 위해 스왑 공간 암호화

암호화 된 파티션을 사용하기 위해 이전에 입력 한 암호 는 열려있는 동안 RAM 메모리에 저장됩니다. 누군가이 키를 손에 넣을 수 있으면 데이터를 해독 할 수 있습니다. 이것은 노트북의 경우 특히 쉽습니다. 왜냐하면 최대 절전 모드에서는 RAM의 내용이 스왑 파티션에 유지되기 때문입니다.

도둑이 액세스 할 수있는 키 사본을 남겨 두지 않으려면 다음 단계에 따라 스왑 파티션을 암호화하십시오.

1 적절한 크기 (이 경우 /dev/sdd1 )로 스왑으로 사용할 파티션을 만들고 앞에서 설명한대로 암호화합니다. 편의를 위해 이름을 \" swap \"으로 지정하세요. '

2. 스왑으로 설정하고 활성화하십시오.

# mkswap /dev/mapper/swap
# swapon /dev/mapper/swap

3. 다음으로 /etc/fstab 에서 해당 항목을 변경합니다.

/dev/mapper/swap none        	swap	sw          	0   	0

4. 마지막으로 /etc/crypttab 을 편집하고 재부팅합니다.

swap               /dev/sdd1         /dev/urandom swap

시스템 부팅이 완료되면 스왑 공간의 상태를 확인할 수 있습니다.

# cryptsetup status swap

요약

이 기사에서는 파티션을 암호화하고 공간을 스왑하는 방법을 살펴 보았습니다. 이 설정을 사용하면 데이터가 상당히 안전해야합니다. 자유롭게 실험 해보고 질문이나 의견이 있으면 주저하지 마시고 저희에게 연락하십시오. 아래 양식을 사용하십시오. 기꺼이 연락을 드리겠습니다.