프린트 하기 URL 복사

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.20156(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