PostgreSQL에서 유휴 데이터 암호화 설정

Postgresqleseo Yuhyu Deiteo Amhohwa Seoljeong



데이터베이스로 작업할 때마다 데이터를 보호해야 합니다. PostgreSQL의 경우 미사용 데이터를 보호하는 것이 가능합니다. 논리에는 데이터가 디스크에 저장되어 있는 동안 데이터를 보호하는 것이 포함됩니다. 이렇게 하면 공격자로부터 데이터를 보호하기 위한 방어선이 하나 더 추가됩니다.

PostgreSQL은 내장된 암호화 옵션을 제공하지 않지만 타사 암호화 방법을 사용하여 저장 데이터 암호화를 설정할 수 있습니다. 오늘의 튜토리얼에서는 TDE(투명한 데이터 암호화) 방법을 활용하여 파일 시스템 수준 암호화를 활성화하는 데 중점을 둡니다.

PostgreSQL에서 저장 데이터 암호화를 설정하는 방법

PostgreSQL에서 저장 데이터 암호화를 설정할 때 목표는 암호 해독 키를 요구하여 파일 시스템에서 데이터를 읽을 수 없도록 만드는 것입니다. 이렇게 하면 무단 액세스가 제거됩니다.







서버에서 PostgreSQL이 실행 중이면 LUKS(Linux Unified Key Setup)와 같은 타사 도구를 사용하여 파일 시스템 수준 암호화를 설정할 수 있습니다. 귀하의 시스템에 적합한 솔루션을 찾을 수 있습니다. 여기서는 Ubuntu로 작업하고 다음 단계를 사용하여 데이터 암호화를 설정합니다.



1단계: 파일 시스템 암호화 도구 설치

암호화 방법을 선택한 후에는 필수 도구를 설치해야 합니다. 파일 시스템 수준 암호화 방법을 선택하고 LUKS를 설치합니다. LUKS를 설치하려면 다음과 같이 cryptsetup을 설치하십시오.



sudo 적절한 설치 암호 설정





'y'를 눌러 설치를 계속하고 모든 것이 예상대로 설치되었는지 확인하세요.

2단계: 암호화된 컨테이너 설정

파일 시스템 수준 암호화를 설정하고 있으므로 PostgreSQL 데이터가 포함된 암호화된 디렉터리를 디스크에 생성해야 합니다. 다음 명령을 사용하여 운영 체제에서 사용 가능한 장치를 확인하십시오.



sudo fdisk -엘

그런 다음 적절한 장치를 선택하고 다음 명령을 실행하십시오. 여기서는 /dev/sdb 장치. 'YES'를 입력한 다음 암호를 입력하여 작업을 확인하라는 메시지가 표시됩니다.

그런 다음 다음 명령을 실행하여 LUKS를 사용하여 암호화해야 합니다.

3단계: 컨테이너 포맷

생성된 컨테이너에 대해 형식을 지정해야 합니다. 다음 코드를 실행하여 'mkfs.ext4' 옵션을 사용합니다.

sudo mkfs.ext4 / 개발자 / 매퍼 / 포스트그레스_암호화됨

4단계: 컨테이너 탑재

다음으로 암호화된 컨테이너를 마운트해 보겠습니다. 다음 위치에 디렉터리를 만드는 것부터 시작하세요. /mnt/ 다음과 같이:

sudo mkdir / 백만 / 포스트그레스

디렉토리가 생성되면 'mount' 명령을 사용하여 암호화된 컨테이너를 마운트하고 경로를 지정합니다.

sudo / 개발자 / 매퍼 / 포스트그레스_암호화됨 / 백만 / 포스트그레스 /

5단계: PostgreSQL 데이터 이동

지금까지 PostgreSQL 데이터를 저장하기 위해 암호화된 컨테이너를 만들었지만 아직 데이터를 이동하지는 않았습니다. 데이터를 이동하기 전에 PostgreSQL 서비스를 중지해야 합니다.

sudo systemctl postgresql 중지

PostgreSQL 데이터를 이동하려면 다음 '복사' 명령을 실행하고 이전에 생성한 디렉터리에 복사했는지 확인하세요.

sudo 재동기화 -의 / ~였다 / lib / 포스트그레SQL / 백만 / 포스트그레스

그런 다음 원본 PostgreSQL 데이터를 백업 위치로 이동하여 백업합니다.

sudo mv / ~였다 / lib / 포스트그레SQL / ~였다 / lib / postgresql_backup


그런 다음 빠른 액세스를 위해 디렉터리에 대한 심볼릭 링크를 만들어야 합니다.

sudo -에스 / 백만 / 포스트그레스 / 포스트그레SQL / ~였다 / lib / 포스트그레SQL

그게 다야. 우리는 저장된 데이터를 안전하게 보호하기 위해 PostgreSQL 데이터를 파일 시스템 수준의 암호화된 컨테이너로 복사하고 이동했습니다.

6단계: PostgreSQL 구성 파일 편집

구성 파일의 data_directory는 귀중한 PostgreSQL 데이터 위치를 반영합니다. 그러나 우리가 생성한 암호화된 컨테이너에 있는 PostgreSQL 데이터의 위치와 일치하도록 편집해야 합니다. 따라서 텍스트 편집기를 사용하여 PostgreSQL 구성 파일을 엽니다. data_directory 섹션을 찾으세요. 편집하기 전에는 다음과 같이 나타납니다. 경로는 시스템에 설치된 PostgreSQL 버전에 따라 다를 수 있습니다.

4단계에서 생성한 암호화된 컨테이너로 연결되도록 경로를 변경합니다. 이 경우 새 경로는 다음과 같습니다.

7단계: 저장, 종료 및 다시 시작

PostgreSQL 구성 파일을 저장하고 종료합니다. 그런 다음 PostgreSQL을 시작하거나 다시 시작합니다. PostgreSQL에서 저장 데이터 암호화를 설정했습니다.

그게 다야! PostgreSQL을 계속해서 안전하게 사용하고 새로운 파일 시스템 수준 암호화를 누릴 수 있습니다.

결론

PostgreSQL에서 저장 중인 데이터 암호화를 설정하려면 사용할 암호화 방법을 결정한 다음 이를 설정해야 합니다. 파일 시스템 수준 암호화를 설정하기 위해 LUKS를 사용하는 TDE 암호화를 선택했습니다. 또한 이를 설정하기 위해 따라야 할 모든 단계를 자세히 설명했습니다. 그게 다야! 사용해 보고 제공된 단계를 따르세요.