지난 포스팅에서 net user 명령어를 사용해 WinServer에 사용자 계정을 만들고 관련 옵션 설정을 했습니다. 이번 포스팅에서는 계정의 암호 정책 관리를 다룹니다.
net accounts
net accounts 명령어를 실행하면 현재 시스템에 적용된 암호 관련 정책을 조회할 수 있다.
이는 secpol.msc > 보안 설정 > 계정 정책 > 암호 정책에서 볼 수 있는 내용과 비슷하다.
이 중 아래 5개의 필드만 net accounts에서 변경가능 한 것 같다.
net accounts의 사용법을 자세히 알아보자. 일단 문법은 아래와 같다.
option | field |
/forcelogoff:{min | no} | 만료 시간이 지난 얼마 후에 강제 로그오프하시겠습니까? (단위: 분) |
/minpwage:dd | 최소 암호 net ac사용 기간 (일) (범위: 0-999, 기본값: 0) |
/maxpwage:{dd | unlimited} | 최대 암호 사용 기간 (일) (범위: 1~999, 기본값: 90) |
/minpwlen:n | 최소 암호 길이 (범위: 0~14, 기본값: 6) |
/uniqepw:n | 암호 기록 개수 (최대값: 24) |
/domin | 로컬이 아닌 현재 도메인의 도메인 컨트롤러에서 작업을 수행하는 명령어 |
각각 옵션을 직접 사용하여 암호 정책을 변경해보자.
(1) 강제 계정 로그오프 = 만료 시간이 지난 얼마 후에 강제 로그오프하시겠습니까? => net accounts /forcelogoff:{min | no}
먼저, /forcelogoff는 지정한 만료 시간이 지났을 때 강제로 계정 로그오프를 시키는 옵션이다. 3으로 지정하면, 3분간 로그온이 유효하다.
설정을 초기화하고 싶으면 'no' 값으로 지정한다.
(2) 최소 암호 사용 기간 => net accounts /minpwage:dd
설정한 암호의 최소 사용 기간은 /minpwage라는 옵션을 통해 설정할 수 있다. Windows 서버 보안 상 최소 1일 이상으로 설정하여, 암호 변경 후 사용자가 익숙한 암호로 재변경하는 것을 막을 수 있다.
(3) 최대 암호 사용 기간 => net accounts /maxpwage:{dd | unlimited}
한 번 변경한 암호의 최대 사용 기간은 /maxpwage 옵션을 통해 설정한다. Windows 서버 보안 정책 상 최소 90일 이상으로 설정하여, 동일한 암호의 장기간 사용을 막는다. 이를 통해 guessing이나 brute-forcing 등 long-term 공격을 막을 수 있다.
옵션에 unlimited 값을 주면, 만료 기간 없이 암호를 사용할 수 있으나 보안 상 권장하지 않는다.
(4) 최소 암호 길이 => net accounts /minpwlen:n
암호 생성 또는 변경 시 사용자가 지정하는 암호의 최소 길이는 /minpwlen 옵션을 통해 관리한다. 기본값은 6이며 Windows 서버 보안 정책 및 패스워드 복잡성 설정 정책에 따라 최소 8자리 이상, 공공기권에서는 9자리 이상을 권장한다.
(5) 암호 기록 개수 => net accounts /uniqepw:n
/uniquepw 옵션은 '암호 기록 개수' 필드를 설정한다. 이는 secpol.msc > 암호 정책의 '최근 암호 기억' 속성과 같다. 기본값은 7이며 최대 24개의 암호까지 기억할 수 있다.
이 외 암호 정책 관련 설정은 secpol.msc의 계정 정책에서 관리 가능하다.
그런데 net accounts나 secpol.msc에서 설정하는 암호 관련 정책들은 특정 계정에만 적용되는 것이 아니다. 해당 시스템 자체의 정책을 변경하는 것이기 때문에 계정 별 다른 암호 정책을 사용하고 싶을 땐 net accounts가 아니라 wmic을 사용해야 한다.
wmic은 정말 많은 일을 수행하는 강력한 명령어다. 암호 정책과 관련해서는 wmic account를 통해 계정 별 최대 사용 기간을 설정할 수 있다.
먼저, 'matiii'라는 계정의 암호 만료 기간은 '90일'로 설정되어 있다.
이는 net accounts를 통해 이유를 확인할 수 있다. '최대 암호 사용 기간'이 '90'으로 설정되어 있기 때문이다.
net accounts의 해당 속성값을 90에서 100으로 변경한 후 다시 matiii 계정의 정보를 보면, 암호 만료 날짜가 10일 늘어나있는 것을 확인할 수 있다.
하지만 이번엔, wmic account를 사용해서 'matiii' 계정에 다른 계정과 다르게 암호 만료 정책을 설정해보자. 그렇다고 특정한 '일수'를 지정할 수 있는 것은 아니다. true/false로만 만료 날짜를 설정할 것인지, 제한을 없앨 것인지 결정하는 것이다.
wmic useraccount 명령어에서 passwordexpires 옵션을 false로 지정하고 나니, 암호 만료 날짜의 기한이 없어졌다.
이렇게 wmic account를 활용하면 특정 계정을 지정하여 암호 만료 날짜 정책을 변경할 수 있다.
여기까지 Windows Server 계정과 암호의 관리를 마치고 다음 포스팅에서는 그룹 관리에 대해 다루겠습니다
'SYSTEM > Windows Server 보안' 카테고리의 다른 글
Active Directory (1) AD는 무엇일까 (1) | 2021.03.17 |
---|---|
[WinServer2016] 사용자 계정 생성 및 관리 (4) 그룹 설정 with net group (0) | 2021.03.17 |
[WinServer2016] 사용자 계정 생성 및 관리 (2) net user와 wmic useraccount (0) | 2021.03.17 |
[WinServer2016] 사용자 계정 생성 및 관리 (1) net user (0) | 2021.03.16 |
[Windows Server 2016] 1. 계정관리 (선택 사항) (1) | 2021.03.05 |