🎯 실습 목표
- 리눅스 시스템에서 웹 서비스와 DB 서비스 계정을 분리하고,
각 서비스 전용 디렉터리에 접근 권한을 엄격히 제한한다. - 일반 사용자가 /webdata, /dbdata 디렉터리에 접근하지 못하도록 설정하고,
서비스 계정만 해당 디렉터리에 접근 가능하도록 보안성을 강화한다.
🖥️ 실습 환경
- 운영체제: Rocky Linux 9.5 CLI
- 계정 정보:
- webuser: 웹 서비스 계정
- dbuser: DB 서비스 계정
- user01: 일반 사용자
- 디렉터리:
- /webdata: 웹 전용
- /dbdata: DB 전용
⚙️ 실습 과정
1. 서비스 전용 계정 생성
nginx
복사편집
useradd webuser useradd dbuser
→ 웹과 DB 각각 별도의 계정으로 분리
→ /home/webuser, /home/dbuser 디렉터리 자동 생성됨
2. 서비스 전용 디렉터리 생성 및 권한 설정
bash
복사편집
mkdir /webdata /dbdata chown webuser:webuser /webdata chown dbuser:dbuser /dbdata chmod 700 /webdata chmod 700 /dbdata
→ 소유자만 접근 가능 (rwx------)
3. 일반 사용자 접근 제한 확인
user01 계정으로 전환 후 디렉터리 접근을 시도하였다:
bash
복사편집
su - user01 cd /webdata → Permission denied cd /dbdata → Permission denied
→ 접근 차단 성공, “Permission denied” 메시지가 출력됨
→ 서비스 계정 외에는 디렉터리 접근이 불가함을 확인
4. 서비스 계정 접근 확인
각 계정에서 접근 테스트:
bash
복사편집
su - webuser cd /webdata → 정상 접근 su - dbuser cd /dbdata → 정상 접근
→ 해당 계정은 전용 디렉터리에 정상 접근 가능
✅ 결과 요약
계정디렉터리접근 결과
| user01 | /webdata | 차단됨 (Permission denied) |
| user01 | /dbdata | 차단됨 (Permission denied) |
| webuser | /webdata | 접근 가능 |
| dbuser | /dbdata | 접근 가능 |
🔐 실무 시사점
- 시스템 보안의 기본은 역할 분리와 최소 권한 부여이다.
- 서비스마다 전용 계정을 사용하고,
서비스 전용 디렉터리를 독립적으로 운영함으로써
사고 발생 시 피해를 최소화할 수 있다. - 예: 웹 해킹 발생 시에도 /dbdata에는 접근이 불가능하여 DB 탈취 방지 가능
- /var/www, /var/lib/mysql 등 서비스 운영 디렉터리에도
이와 동일한 방식의 접근 제한이 적용되어야 한다.
🔜 앞으로의 목표
- setfacl을 이용한 서비스 계정 + 관리자 계정 이중 접근 허용 설정 실습 예정
- systemd 서비스와 연계하여 서비스 계정이 실제로 사용되는 흐름 분석
- /var/log/audit 기반 디렉터리 접근 추적 실습도 계획 중
💬 느낀 점
파일 하나라도 누가 보고 쓸 수 있느냐에 따라
시스템 전체의 보안 수준이 달라진다는 걸 실감했다.
특히 “Permission denied” 메시지를 실제로 확인하며,
불필요한 접근 차단이 실질적인 보안 조치임을 체험할 수 있었다.
단순한 계정 분리가 아닌, 디렉터리와 권한까지 설계하는 감각이 중요하다는 걸 배웠다.
'02. 클라우드 보안 공부 > 실습로그' 카테고리의 다른 글
| ✅ [실습로그] sudo 권한 설정 및 제한 실습 (sudoers, visudo) (0) | 2025.05.05 |
|---|---|
| ✅ [실습로그] 계정 잠금 및 만료 설정 실습 (chage, passwd -l) (0) | 2025.05.04 |
| ✅ [실습로그] 디렉터리 및 파일 권한 설정 실습 (chmod, chown, umask) (0) | 2025.05.04 |
| ✅ [실습로그] 그룹 관리 실습 (groupadd, usermod -aG, gpasswd) (0) | 2025.05.04 |
| ✅[실습로그] 사용자 계정 관리 실습 (useradd, passwd, usermod, userdel) (0) | 2025.05.04 |