
Rocky Linux PAM 모듈을 이용한 서버 보안 조치
Rocky Linux 계열 서버에서는 PAM(Pluggable Authentication Modules)을 통해 세밀한 접근제어와 인증 정책을 구현할 수 있습니다. 아래는 대표적인 PAM 보안 강화 구성 예시입니다.
1️⃣ 접근 허용·차단 제어 — pam_access.so
pam_access.so 모듈은 /etc/security/access.conf 파일을 기반으로 로그인 접근을 제어합니다. 특정 IP, 사용자, 그룹 단위로 화이트리스트 또는 블랙리스트를 설정할 수 있습니다.
# 예시: SSH 접속 허용 사용자 정의
/etc/security/access.conf
+ : admin : 192.168.0.10
+ : wheel : 192.168.0.0/24
- : ALL : ALL
위 설정은 admin 계정과 wheel 그룹 사용자만 내부 네트워크에서 SSH 로그인 가능하도록 제한하며, 나머지 사용자는 모두 차단됩니다.
2️⃣ sudo / su 권한 제한
pam_wheel.so를 사용하면 특정 그룹 사용자만 su 또는 sudo 명령을 사용할 수 있도록 제한할 수 있습니다.
# /etc/pam.d/su 예시
auth required pam_wheel.so use_uid group=wheel
# /etc/pam.d/sudo 예시
auth required pam_wheel.so group=sudo
sudo/su 명령은 wheel 또는 sudo 그룹에 속한 사용자만 사용할 수 있으며, 그 외 사용자는 즉시 접근이 거부됩니다.
3️⃣ 로그인 시도 제한 — pam_tally2.so
pam_tally2.so를 이용하면 로그인 실패 횟수를 기반으로 계정 잠금을 설정할 수 있습니다.
# /etc/pam.d/sshd
auth required pam_tally2.so deny=5 unlock_time=600
# 로그인 실패 5회 시 10분 동안 계정 잠금
4️⃣ 근무시간/요일 기반 접근제어 — pam_time.so
pam_time.so 모듈은 근무시간이나 특정 요일에 따라 로그인 허용 여부를 제어할 수 있습니다.
# /etc/security/time.conf 예시
login ; * ; admin ; Wk0800-1800
# admin 사용자는 평일 08:00~18:00에만 로그인 가능
# /etc/pam.d/login
account required pam_time.so
5️⃣ root 직접 로그인 차단
/etc/ssh/sshd_config 파일에서 root 로그인을 직접 차단하고, 관리자 계정으로 로그인 후 sudo를 사용하는 것이 권장됩니다.
PermitRootLogin no
AllowUsers admin wheel
6️⃣ 추가 PAM 모듈 및 관리 팁
- pam_listfile.so — 특정 사용자/그룹을 파일 기반으로 차단
- pam_env.so — 로그인 시 환경 변수 제어
- pam_exec.so — 로그인 시 스크립트 실행 (감사 로깅 등)
- pam_faillock.so — 계정 잠금/차단 강화 기능
이러한 PAM 구성을 통해 SSH, 콘솔, su, sudo, cron 등 다양한 인증 경로를 제어할 수 있습니다.
구성 변경 시 systemctl restart sshd 또는 authselect apply-changes 명령으로 즉시 반영할 수 있습니다.
'경험 공유 > Server' 카테고리의 다른 글
| KISA 기반 Rocky Linux 9 보안취약점 점검 (1) | 2025.11.10 |
|---|---|
| GDB를 이용한 코어 덤프(core dump) 분석 가이드 (0) | 2025.11.07 |
| Linux 커널 부팅 로그 분석 - ACPI, BIOS, Watchdog, Perf 관련 메시지 정리 (1) | 2025.11.07 |
| Rocky Linux 8.9 - THP(Transparent Huge Pages)로 인한 커널 I/O 교착 및 비정상 재부팅 원인 (1) | 2025.11.03 |
| Critical - webkit2gtk3 (RLSA-2025:18070) (0) | 2025.11.02 |
