목차
목표
개인정보 파일을 안전하게 보호
- 파일 암호화 및 접근 제한
- 접근제어 정책(DAC, MAC) 적용
- 네트워크를 통한 유출 차단
- 패킷 모니터링을 통한 보안 점검
- PKI를 활용한 안전한 데이터 저장 및 전송
실제 운영 가능한 보안 환경 구축
- 방화벽(Netfilter) 설정
- 자동화된 보안 정책 적용 스크립트 작성
- 암호화 및 접근제어 정책을 결합하여 보안 강화
진행 과정
개인정보 파일 (personal_data.txt)
- 민감한 정보가 포함된 가상의 개인정보 파일을 생성
- 프로젝트 종료 시 안전하게 보호된 상태로 유지되어야 함
목표
- 1단계: 파일 및 디렉터리 보안 설정 (DAC)
- 2단계: 파일 암호화 (GPG, LUKS)
- 3단계: 네트워크 접근제어 (방화벽, SSH 보안)
- 4단계: 패킷 모니터링 및 트래픽 분석
- 5단계: PKI를 활용한 데이터 암호화 및 인증
- 6단계: 자동화 스크립트 작성 및 보안 점검
1. 파일 및 디렉터리 보안 설정 (DAC)
1.1. 개인정보 파일 및 보호 디렉터리 생성
mkdir -p ~/secure_data && echo "이름, 주민등록번호, 계좌 비밀번호" > ~/secure_data/personal_data.txt
1.2. 파일 접근 제한 (chmod, chattr)
# 본인만 읽기/쓰기 가능
chmod 600 ~/secure_data/personal_data.txt
# 소유자 설정
chown $USER:$USER ~/secure_data/personal_data.txt
1.3. ACL을 활용한 세부 접근제어
# guest 계정 접근 차단
setfacl -m u:guest:0 ~/secure_data/personal_data.txt
# ACL 설정 확인
getfacl ~/secure_data/personal_data.txt
2. 파일 암호화 및 보호 (GPG, LUKS)
2.1. GPG를 이용한 파일 암호화
# 원본 삭제
gpg --output ~/secure_data/personal_data.gpg --encrypt --recipient $USER ~/secure_data/personal_data.txt rm ~/secure_data/personal_data.txt
복호화 방법
gpg --output ~/secure_data/personal_data.txt --decrypt ~/secure_data/personal_data.gpg
2.2. 디렉터리 전체 암호화 (LUKS)
# 디스크 암호화
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup open /dev/sdb1 secure_storage mkfs.ext4 /dev/mapper/secure_storage mkdir /mnt/secure sudo mount /dev/mapper/secure_storage /mnt/secure
3. 네트워크 접근제어 (Netfilter, 방화벽)
3.1. UFW 방화벽 설정
# 기본적으로 외부 연결 차단
sudo ufw enable sudo ufw default deny incoming
# 특정 네트워크에서만 접근 허용
sudo ufw allow 443/tcp
# HTTPS 허용
sudo ufw allow from 192.168.1.0/24
# 방화벽 설정 확인
sudo ufw status verbose
3.2. iptables 기반 네트워크 차단
# SSH 차단
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
# 특정 IP로의 연결 차단
sudo iptables -A OUTPUT -d 8.8.8.8 -j REJECT
# 현재 설정 확인
sudo iptables -L -v
4. 패킷 모니터링 및 네트워크 보안 점검
4.1. Wireshark / tcpdump를 이용한 네트워크 분석
# SSH 트래픽 캡처
sudo tcpdump -i eth0 port 22 -nn -c 10
4.1. 패킷 파일 저장 후 분석
# Wireshark로 분석
sudo tcpdump -i eth0 -w ~/secure_data/network_traffic.pcap wireshark ~/secure_data/network_traffic.pcap
5. PKI를 활용한 안전한 데이터 저장 및 전송
5.1. 개인 키 및 인증서 생성
openssl genpkey -algorithm RSA -out ~/secure_data/private_key.pem openssl req -new -key ~/secure_data/private_key.pem -out ~/secure_data/cert_request.csr openssl x509 -req -days 365 -in ~/secure_data/cert_request.csr -signkey ~/secure_data/private_key.pem -out ~/secure_data/public_cert.crt
5.2. 인증서를 이용한 파일 서명
openssl dgst -sha256 -sign ~/secure_data/private_key.pem -out ~/secure_data/signature.sig ~/secure_data/personal_data.gpg
5.3. 서명 검증
openssl dgst -sha256 -verify ~/secure_data/public_cert.crt -signature ~/secure_data/signature.sig ~/secure_data/personal_data.gpg
6. 자동화 스크립트 및 보안 점검
6.1.자동으로 보안 유지하는 스크립트 (secure_maintenance.sh)
# 개인정보 파일이 암호화 상태인지 확인
#!/bin/bash
# 로그 정리
if [ -f ~/secure_data/personal_data.gpg ]; then echo "개인정보 파일이 암호화 상태입니다." else echo "암호화되지 않은 파일이 존재합니다. 즉시 암호화하세요!" fi
# 방화벽 규칙 재적용
find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \; echo "7일 이상된 로그 삭제 완료"
sudo ufw reload echo "방화벽 정책이 업데이트되었습니다."
6.2. crontab에 등록하여 자동 실행
crontab -e
# 매일 새벽 3시에 실행
0 3 * * * /path/to/secure_maintenance.sh
'Study' 카테고리의 다른 글
[CPPG] 개인정보 관리체계 (0) | 2025.04.17 |
---|---|
[CPPG] 개인정보 보호 조치 (0) | 2025.04.17 |
[CPPG] 개인정보 라이프 사이클 관리 (1) | 2025.04.14 |
[CPPG] 개인정보 보호 제도 (0) | 2025.04.08 |
[CPPG] 개인정보 보호의 이해 (0) | 2025.04.07 |