[UNIX] 번외. 기존계정 패스워드 최대/최소 사용기간 설정하는 방법
※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.
1. 문제점
앞서 U-47 패스워드 최대 사용기간 설정, U-48 패스워드 최소 사용기간 설정을 했습니다.
($ cat /etc/login.defs 이 위치에서 패스워드 관련 최대 최소 사용기간 설정을 했습니다.)
[ec2-user@localhost ~]$ cat /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_WARN_AGE 7
PASS_MIN_LEN 8
가이드에 나와있는 방법으로 설정을 했는데도 불구하고 일부 아이디는 적용이 되지 않으셨을 겁니다. 이유는 가이드에 나와있는 방법이 설정 이후 생성된 계정에만 적용이 되기 때문입니다.
기존 계정에 대한 패스워드 최대/최소 사용기간 설정 변경 방법을 알아보겠습니다.
2. 계정 정보 확인
1) 전체 계정 정보 확인하는 방법
[ec2-user@localhost ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
sssd:x:998:995:User for sssd:/:/sbin/nologin
chrony:x:997:994:chrony system user:/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/sbin/nologin
systemd-oom:x:992:992:systemd Userspace OOM Killer:/:/usr/sbin/nologin
ec2-user:x:1000:1000:Cloud User:/home/ec2-user:/bin/bash
it-mskim:x:1001:1001::/home/it-mskim:/bin/bash
polkitd:x:991:991:User for polkitd:/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/:/sbin/nologin
pipewire:x:990:989:PipeWire System Daemon:/run/pipewire:/usr/sbin/nologin
libstoragemgmt:x:988:988:daemon account for libstoragemgmt:/:/usr/sbin/nologin
setroubleshoot:x:987:987:SELinux troubleshoot server:/var/lib/setroubleshoot:/usr/sbin/nologin
colord:x:986:986:User for colord:/var/lib/colord:/sbin/nologin
clevis:x:985:985:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin
geoclue:x:984:983:User for geoclue:/var/lib/geoclue:/sbin/nologin
flatpak:x:983:982:User for flatpak system helper:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
cockpit-wsinstance:x:982:981:User for cockpit-ws instances:/nonexisting:/sbin/nologin
gnome-initial-setup:x:981:980::/run/gnome-initial-setup/:/sbin/nologin
dnsmasq:x:980:979:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test1:x:1002:1002::/home/test1:/bin/bash
2) UID 1000 이후 인 ID 확인하는 방법
보통 UID가 1000 이상일 경우 사용자 계정입니다.
[ec2-user@localhost ~]$ awk -F: '$3 >= 1000' /etc/passwd
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
ec2-user:x:1000:1000:Cloud User:/home/ec2-user:/bin/bash
it-mskim:x:1001:1001::/home/it-mskim:/bin/bash
test1:x:1002:1002::/home/test1:/bin/bash
제가 가지고 있는 계정은
ec2-user
it-mskim
test1
이렇게 세개가 있습니다.
nobody 계정은 리눅스 및 유닉스 시스템에서 일반적으로 사용되는데 뒤에 nologin이라고 되어있기 때문에 일반사용자가 접근할 수 있는 계정은 아닙니다.
3. 계정 패스워드 최대/최소 사용기간 설정 여부 확인 방법
패스워드 설정은
$ cat /etc/login.defs 에 설정했으나, 기존 계정에는 적용이 되지 않았습니다.
아래는 기존계정 확인 방법입니다.
# ec2-user 비밀번호 최대/최소 설정기간 확인
ec2-user@localhost ~]$ chage -l ec2-user
Last password change : Sep 24, 2024
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
# it-mskim 비밀번호 최대/최소 설정기간 확인
[ec2-user@localhost ~]$ sudo chage -l it-mskim
Last password change : Sep 29, 2024
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
# test1 비밀번호 최대/최소 설정기간 확인
[ec2-user@localhost ~]$ sudo chage -l test1
Last password change : Sep 29, 2024
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
신규 계정의 경우,
신규계정 user1를 생성하였습니다.
신규로 생성한 계정에는 해당 내용이 잘 적용되어있는 것을 확인 할 수 있습니다.
[ec2-user@localhost ~]$ sudo chage -l user1
Last password change : Sep 29, 2024
Password expires : Dec 28, 2024
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
3. 변경 방법
설정을 하나씩 하는 방법
# 최소 사용 기간을 1일로 설정
$ sudo chage -m 1 [계정명]
# 최대 사용 기간을 90일로 설정
$ sudo chage -M 90 [계정명]
# 설정 확인
$ sudo chage -l [계정명]
# 예시
[ec2-user@localhost ~]$ sudo chage -m 1 test1
[ec2-user@localhost ~]$ sudo chage -M 90 test1
[ec2-user@localhost ~]$ sudo chage -l test1
Last password change : Sep 29, 2024
Password expires : Dec 28, 2024
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
한번에 설정하는 방법
[ec2-user@localhost ~]$ sudo chage ec2-user
Changing the aging information for ec2-user
Enter the new value, or press ENTER for the default
(변경할 내용은 입력 후 엔터, 기존값을 유지하려면 그냥 엔터)
Minimum Password Age [0]: 1
Maximum Password Age [99999]: 90
Last Password Change (YYYY-MM-DD) [2024-09-24]:
Password Expiration Warning [7]:
Password Inactive [-1]:
Account Expiration Date (YYYY-MM-DD) [-1]:
4. 결과
전부 변경이 완료되었습니다!
이렇게 설정해주면 됩니다!
# ec2-user 비밀번호 최대/최소 설정기간 확인
ec2-user@localhost ~]$ chage -l ec2-user
Last password change : Sep 24, 2024
Password expires : Dec 23, 2024
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
# it-mskim 비밀번호 최대/최소 설정기간 확인
[ec2-user@localhost ~]$ sudo chage -l it-mskim
Last password change : Sep 29, 2024
Password expires : Dec 28, 2024
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
# test1 비밀번호 최대/최소 설정기간 확인
[ec2-user@localhost ~]$ sudo chage -l test1
Last password change : Sep 29, 2024
Password expires : Dec 28, 2024
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Linux를 마스터하는 그날까지
화이팅!
'취약점 진단 > UNIX 취약점 진단' 카테고리의 다른 글
[UNIX] U-50 관리자 그룹에 최소한의 계정 포함 (0) | 2024.10.03 |
---|---|
[UNIX] U-49 불필요한 계정 제거 (0) | 2024.10.03 |
[UNIX] U-48 패스워드 최소 사용기간 설정 (0) | 2024.09.29 |
[UNIX] U-47 패스워드 최대 사용기간 설정 (0) | 2024.09.29 |
[UNIX] U-46 패스워드 최소 길이 설정 (2) | 2024.09.26 |