EXADATA Image : 22.1.33.0.0.250304
OS 환경 : Oracle Linux 7.9 (64bit)
DB 환경 : Oracle Database 19.31.0.0
방법 : 오라클 Exadata 보안 정책 확인 및 root 계정 잠긴 경우 조치 방안
exadata 환경에서 1번 노드에 접속이 안되다가 몇분 뒤 다시 접속하니 접속이 잘 되었음
확인 결과 패스워드를 일정횟수 이상 틀려서 계정이 잠겼었음
본문에서는 exadata 환경에서 패스워드가 몇번 틀리면 몇분동안 잠기는지에 대한 보안 정책을 확인해봄
테스트
1번노드에서 접속 시도
|
1
2
|
root@192.168.137.201's password: [패스워드 입력]
Access denied
|
Access denied로 표시됨
2번노드에서 1번노드 접속 시도
|
1
2
3
4
5
6
7
8
|
# ssh exa7db01
The authenticity of host 'exa7db01 (192.168.137.201)' can't be established.
ECDSA key fingerprint is SHA256:V+ZvbFPrvMShdkAlx9eZ/ogxCk7dLB6k1rLC5+JLcGI.
ECDSA key fingerprint is MD5:3f:e7:a9:c3:9b:84:58:cb:88:15:ca:7d:c2:38:ac:a3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'exa7db01,192.168.137.201' (ECDSA) to the list of known hosts.
root@exa7db01's password:
Authentication failed.
|
Authentication failed. 메세지가 발생하면서 접속 실패함
ping 확인
|
1
2
3
4
5
6
7
8
|
# ping 192.168.137.201
PING 192.168.137.201 (192.168.137.201) 56(84) bytes of data.
64 bytes from 192.168.137.201: icmp_seq=1 ttl=64 time=0.097 ms
64 bytes from 192.168.137.201: icmp_seq=2 ttl=64 time=0.112 ms
^C
--- 192.168.137.201 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1010ms
rtt min/avg/max/mdev = 0.097/0.104/0.112/0.012 ms
|
ping은 감(서버는 살아 있음)
보안 정책 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# cat /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root fail_interval=900 unlock_time=900
auth sufficient pam_unix.so try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root fail_interval=900 unlock_time=900
#auth required pam_deny.so
account required pam_faillock.so
account required pam_unix.so
password required pam_pwquality.so minlen=8 minclass=4 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 difok=8 maxrepeat=3 maxclassrepeat=4 local_users_only retry=3 authtok_type=
password required pam_pwhistory.so use_authtok remember=10 retry=3
password sufficient pam_unix.so try_first_pass use_authtok sha512 shadow
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
|
보안 정책 설명 :
패스워드를 15분 안에(fail_interval=900) 3번 틀리면(deny=3) root 계정조차도(even_deny_root) 예외 없이 15분(unlock_time=900) 동안 잠기게끔 설정되어 있음
패스워드 복잡도 정책(PAM - pam_pwquality.so) 설명
minlen=8 : 비밀번호는 최소 8자리 이상이어야 함
dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 : 각각 숫자, 대문자, 소문자, 특수문자가 최소 1개씩 강제로 포함되어야 함
remember=10 : 최근 사용했던 10개의 비밀번호는 재사용할 수 없음
참고. 만약 2번노드가 접속가능하고 1번노드로 password-less 설정이 되어 있을 경우 15분 잠김 초기화 방안
2번노드에서 1번 노드로 접속
|
1
2
3
|
# ssh exa7db01
Last login: Thu Jul 2 19:29:37 KST 2026
Last login: Thu Jul 2 19:33:30 2026 from exa7db02.gd-dbtech.com
|
접속됨
현재 패스워드 틀린 횟수 확인
|
1
2
3
4
5
6
|
# faillock --user root
root:
When Type Source Valid
2026-07-02 19:34:51 RHOST 192.168.137.155 V
2026-07-02 19:34:56 RHOST 192.168.137.155 V
2026-07-02 19:35:16 RHOST 192.168.137.155 V
|
3번 틀렸다고 나옴
잠금 기록 강제 삭제 후 재확인
|
1
2
3
4
|
# faillock --user root --reset
# faillock --user root
root:
When Type Source Valid
|
이제 틀린 횟수가 안나옴
1번노드로 다이렉트 접속 시도
|
1
2
3
4
|
# ssh 192.168.137.201
root@192.168.137.201's password:
Last login: Thu Jul 2 19:59:37 KST 2026
Last login: Thu Jul 2 20:40:45 2026 from 192.168.137.155
|
정상적으로 접속됨
결론 :
exadata 환경에서 root 패스워드가 잠긴 경우 15분이 지나면 자동으로 해제되지만
빨리 접속하고 싶은 경우 본문 방식처럼 faillock 명령으로 해제할 수 있음
참조 :
https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmsq/viewing-failed-password-attempts.html
https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmsq/resetting-locked-operating-system-user-account.html
'ORACLE > Exadata' 카테고리의 다른 글
| 오라클 Exadata cellcli, dcli alerthistory 확인 명령 (0) | 2026.07.01 |
|---|---|
| 오라클 Exadata dcli ssh password-less(패스워드 없는 SSH 통신) 설정 (0) | 2026.06.30 |
