본문 바로가기

MSSQL

MSSQL : 로그인 계정 마지막 패스워드 변경 일자

반응형

MS SQL에서 로그인 계정의 패스워드 변경 날짜는 **sys.server_principals**라는 시스템 카탈로그 뷰에서 확인할 수 있습니다. 이 뷰는 각 로그인 계정의 이름, ID, 유형, 상태, 암호화 방식, 암호화 키, 암호 정책, 암호 만료, 기본 언어, 기본 데이터베이스 등의 정보를 제공합니다. 

이 뷰를 사용하려면 **sysadmin**이나 **securityadmin** 권한을 가진 계정으로 로그인해야 합니다. 그리고 다음과 같은 쿼리를 실행하면 됩니다:

SELECT name, LOGINPROPERTY(name, 'PasswordLastSetTime') FROM sys.server_principals;


이 쿼리는 모든 로그인 계정의 이름과 패스워드 변경 날짜를 테이블 형태로 보여줍니다. 특정 계정에 대해서만 확인하고 싶다면, **WHERE** 절을 추가하면 됩니다. 예를 들어, **sa** 계정의 패스워드 변경 날짜를 확인하고 싶다면, 다음과 같은 쿼리를 실행하면 됩니다:

SELECT name, LOGINPROPERTY(name, 'PasswordLastSetTime') FROM sys.server_principals WHERE name = 'sa';


이 쿼리는 **sa** 계정의 이름과 패스워드 변경 날짜만 보여줍니다.

이렇게 MS SQL에서 로그인 계정의 패스워드 변경 날짜를 확인하는 방법에 대해 확인하였습니다. 이 방법을 사용하면, 패스워드 보안을 위해 주기적으로 패스워드를 변경하는지 확인할 수 있습니다. 또한, 패스워드 변경 날짜를 기준으로 패스워드 만료 시간을 설정할 수도 있습니다.

LOGINPROPERTY

MS SQL에서 로그인 계정의 속성을 확인하고 싶다면, LOGINPROPERTY라는 카탈로그 함수를 사용할 수 있습니다. 이 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 login_name이고, 속성을 확인하고 싶은 SQL 로그인의 이름입니다. 두 번째 매개변수는 property_name이고, 반환하고 싶은 속성의 이름입니다. property_name은 다음과 같은 값 중 하나일 수 있습니다.

  • BadPasswordCount: 잘못된 암호를 사용하여 연속으로 로그인을 시도한 횟수를 반환합니다.
  • BadPasswordTime: 잘못된 암호를 사용하여 마지막으로 로그인을 시도한 시간을 반환합니다.
  • DaysUntilExpiration: 암호가 만료될 때까지 남은 일 수를 반환합니다.
  • DefaultDatabase: 로그인의 기본 데이터베이스를 반환합니다.
  • DefaultLanguage: 로그인의 기본 언어를 반환합니다.
  • HistoryLength: 암호 정책을 적용하여 로그인에 대해 추적된 암호의 수를 반환합니다.
  • IsExpired: 로그인의 암호가 만료되었는지 여부를 반환합니다.
  • IsLocked: 로그인이 잠겼는지 여부를 반환합니다.
  • IsMustChange: 로그인이 다음에 연결할 때 암호를 변경해야 하는지 여부를 반환합니다.
  • LockoutTime: 로그인이 허용된 로그인 시도 실패 횟수를 초과하여 잠긴 시간을 반환합니다.
  • PasswordHash: 암호의 해시를 반환합니다.
  • PasswordLastSetTime: 현재 암호가 설정된 시간을 반환합니다.
  • PasswordHashAlgorithm: 암호를 해시하는 데 사용된 알고리즘을 반환합니다.

예를 들어, sa 로그인의 암호가 만료될 때까지 남은 일 수를 확인하고 싶다면, 다음과 같은 쿼리를 실행할 수 있습니다.

SELECT LOGINPROPERTY('sa', 'DaysUntilExpiration');


이 쿼리는 sa 로그인의 암호가 만료될 때까지 남은 일 수를 정수로 보여줍니다. 만약 암호가 만료되었거나 쿼리한 날에 만료되는 경우 0을 반환하고, 암호가 만료되지 않는 경우 -1을 반환하고, 암호 정책이 적용되지 않는 경우 NULL을 반환합니다.

이렇게 LOGINPROPERTY 함수를 사용하면, MS SQL에서 로그인 계정의 다양한 속성을 확인할 수 있습니다. 이 함수는 로그인의 보안 상태를 파악하고 관리하는 데 유용합니다. 이 함수를 사용하려면, 로그인에 대한 VIEW 권한이 필요하며, 암호 해시를 요청하는 경우 CONTROL SERVER 권한도 필요합니다.

반응형