728x90
반응형
리눅스에서 코어 덤프 파일을 생성할 때 바로 암호화하는 방법은 기본적으로 지원되지 않지만, 몇 가지 방법으로 이를 구현할 수 있습니다.
그 중 하나로, Core Pattern 활용 + 스크립트 암호화 방법이 있습니다.
/proc/sys/kernel/core_pattern
파일에 설정할 예제와, 이를 처리할 스크립트 예제를 아래와 같이 보여드리겠습니다.
먼저 /proc/sys/kernel/core_pattern
에 코어 덤프를 암호화하는 스크립트를 지정합니다.
bash
echo "|/path/to/encrypt_and_save.sh %p %u %g %s %t %h" | sudo tee /proc/sys/kernel/core_pattern
위에서 %
로 시작하는 부분들은 다음과 같은 정보를 나타냅니다:
%p
: 프로세스 ID%u
: 유저 ID%g
: 그룹 ID%s
: 시그널 번호%t
: 코어 덤프 발생 시간 (Unix timestamp)%h
: 호스트 이름
이 정보들은 스크립트가 실행될 때 인자로 전달됩니다.
/path/to/encrypt_and_save.sh
파일을 작성하여 코어 덤프 파일을 특정 경로에 암호화하여 저장합니다. 이 스크립트는 gpg
를 사용하여 덤프 파일을 암호화할 수 있습니다.
bash
#!/bin/bash
# 전달받은 인자
PID=$1 # 프로세스 ID
USER_ID=$2 # 유저 ID
GROUP_ID=$3 # 그룹 ID
SIGNAL=$4 # 시그널 번호
TIME=$5 # 발생 시간 (Unix timestamp)
HOST=$6 # 호스트 이름
# 코어 덤프 파일을 임시 경로에 저장
DUMP_FILE="/tmp/core_dump_${PID}_${TIME}.core"
# 표준 입력을 통해 코어 덤프 파일을 받아서 임시 파일에 저장
cat - > "$DUMP_FILE"
# 덤프 파일을 GPG로 암호화하여 저장
ENCRYPTED_DUMP_FILE="/var/coredumps/core_dump_${PID}_${TIME}.core.gpg"
gpg --symmetric --cipher-algo AES256 --passphrase 'your_password' -o "$ENCRYPTED_DUMP_FILE" "$DUMP_FILE"
# 원본 덤프 파일 삭제
rm "$DUMP_FILE"
# 로그 출력 (선택 사항)
echo "Core dump saved and encrypted to $ENCRYPTED_DUMP_FILE"
주의:
gpg
의--passphrase
옵션에 암호your_password
를 직접 파일에 입력하지 않고 환경 변수를 사용하거나 키 파일을 사용하는 방식으로 보안을 강화하는 것이 좋습니다.
bash
sudo chmod +x /path/to/encrypt_and_save.sh
이제 코어 덤프가 발생하면 /proc/sys/kernel/core_pattern
설정에 따라 encrypt_and_save.sh
가 실행되어, 코어 덤프 파일이 암호화되어 저장됩니다.
728x90
반응형
'Linux' 카테고리의 다른 글
리눅스 초기화 파일 적용 순서와 설정 (0) | 2024.11.13 |
---|---|
Linux tee 명령어 : 화면 출력과 파일 저장 동시 (0) | 2024.11.13 |
30개의 무료 오픈 소스 Linux 게임 - 2부 (0) | 2024.10.21 |
VcXsrv X Server에서 한글 보기 (0) | 2024.07.07 |
ProcDump 리눅스 dump 생성 (A Linux version of the ProcDump Sysinternals tool) (0) | 2024.04.09 |