이번 포스트에서는 AD GPO 정책으로 윈도우 로그인 가능 시간 제한하는 방법을 단계적으로 알아보도록 하겠습니다.
회사에서 보안 강화를 위해 직원들의 컴퓨터 접근 시간을 제한해야 하는 경우가 있습니다. 특히 야간이나 주말에 불필요한 로그인을 막아 보안 위험을 줄이고 싶다면, Active Directory의 로그온 시간 제한 기능이 답이 될 수 있습니다.
1. 윈도우 로그온 시간 제한이란?
로그온 시간 제한(Logon Hours)은 Active Directory에서 사용자가 네트워크에 로그인할 수 있는 특정 시간대를 지정하는 보안 기능입니다. 이 기능을 활용하면 다음과 같은 이점을 얻을 수 있습니다:
- 보안 강화: 업무 시간 외 불필요한 접근 차단
- 내부자 위협 감소: 권한 남용 가능성을 시간적으로 제한
- 리소스 관리: 네트워크 자원의 효율적 활용
- 컴플라이언스: 규정 준수 요구사항 충족
실제로 많은 기업들이 이 기능을 통해 보안 침해 위험을 최대 80%까지 줄이고 있습니다.
2. AD에서 로그온 시간 제한 : 기본 개념 이해하기
AD에서 로그온 시간 제한을 구현할 때 알아두어야 할 핵심 개념들이 있습니다:
로그온 시간 vs GPO의 역할
많은 분들이 헷갈리는 부분인데, 로그온 시간 자체는 GPO로 직접 설정할 수 없습니다. 로그온 시간은 개별 사용자 계정의 속성으로, Active Directory Users and Computers(ADUC)에서 설정해야 합니다.
그렇다면 GPO는 어떤 역할을 할까요? GPO는 다음 두 가지 중요한 정책을 통해 로그온 시간 제한을 강제 실행하는 역할을 담당합니다:
GPO 설정 | 경로 | 기능 |
---|---|---|
Network security: Force logoff when logon hours expire | Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options | 로그온 시간 만료 시 SMB 세션 강제 종료 |
Microsoft network server: Disconnect clients when logon hours expire | 동일 경로 | 클라이언트 연결 강제 해제 |
3. 단일 사용자 로그온 시간 설정하기
먼저 한 명의 사용자에 대해 로그온 시간을 설정하는 방법을 알아보겠습니다.
3-1단계: ADUC 실행 및 사용자 선택
- 도메인 컨트롤러에서 dsa.msc (Active Directory Users and Computers) 실행
- 해당 사용자 계정을 찾아 우클릭 → 속성(Properties) 선택
- 계정(Account) 탭 클릭
3-2단계: 로그온 시간 설정
- 로그온 시간(Logon Hours) 체크박스 선택
- 로그온 시간(Logon Hours) 버튼 클릭
- 캘린더 형태의 시간 설정 창이 나타남
기본적으로 모든 시간이 로그온 허용(Logon Permitted)으로 설정되어 있습니다.
3-3단계: 제한 시간 지정
예를 들어 평일 오전 8시부터 오후 6시까지만 로그인을 허용하려면:
- 로그온 거부(Logon Denied) 옵션 선택
- 마우스로 드래그하여 제한하고 싶은 시간대 선택
- 평일 오후 6시~다음날 오전 8시
- 주말 전체 시간
- 확인 버튼으로 설정 저장
4. 여러 사용자 일괄 설정하기
조직에서 여러 사용자에게 동일한 로그온 시간을 적용해야 하는 경우가 대부분입니다.
4-1단계: OU 구성 및 사용자 그룹핑
효율적인 관리를 위해 비슷한 근무 시간을 가진 사용자들을 동일한 OU(Organizational Unit)에 배치하는 것이 좋습니다.
4-2단계: 다중 선택 및 설정
- ADUC에서 해당 OU로 이동
- Ctrl 키를 누른 상태로 여러 사용자 선택
- 선택된 사용자들 중 하나를 우클릭 → 속성 선택
- 다중 객체 속성(Properties of Multiple Objects) 창에서 설정 진행
이 방법으로 수십 명의 사용자 로그온 시간을 한 번에 설정할 수 있어 시간을 크게 절약할 수 있습니다.
5. GPO로 강제 로그오프 정책 설정하기
로그온 시간을 설정했다면, 이제 시간 만료 시 강제 로그오프를 실행하는 GPO를 구성해야 합니다.
5-1단계: GPO 생성
- gpmc.msc (그룹 정책 관리 콘솔) 실행
- 그룹 정책 개체 → 새로 만들기
- GPO 이름 입력 (예: “Logon_Time_Restrictions”)
5-2단계: 정책 설정
새로 생성한 GPO를 우클릭 → 편집하여 다음 경로로 이동:
컴퓨터 구성 → 정책 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션
다음 두 정책을 모두 사용으로 설정:
- Network security: Force logoff when logon hours expire
- Microsoft network server: Disconnect clients when logon hours expire
5-3단계: GPO 연결
설정이 완료되면 해당 OU에 GPO를 연결합니다:
- 그룹 정책 관리에서 대상 OU 선택
- 우클릭 → 기존 GPO 연결
- 생성한 GPO 선택
6. PowerShell을 활용한 자동화 관리 방법
대규모 환경에서는 PowerShell을 활용한 자동화가 효과적입니다.
6-1단계: 템플릿 사용자에서 바이트 값 추출
# 템플릿 사용자의 로그온 시간 바이트 값 확인
Get-ADUser "template_user" -Properties logonHours | Select-Object logonHours
6-2단계: 여러 사용자에게 일괄 적용
# 특정 OU의 모든 사용자에게 로그온 시간 적용
$users = Get-ADUser -SearchBase "OU=Sales,DC=company,DC=com" -Filter *
$logonHours = (Get-ADUser "template_user" -Properties logonHours).logonHours
foreach ($user in $users) {
Set-ADUser $user -LogonHours $logonHours
Write-Host "로그온 시간이 설정되었습니다: $($user.SamAccountName)"
}
7. 정책 테스트 및 검증
설정 완료 후 반드시 테스트를 통해 정책이 올바르게 작동하는지 확인해야 합니다.
7-1단계: 시뮬레이션 테스트
- 제한된 시간대에 테스트 사용자로 로그인 시도
- 예상되는 오류 메시지 확인: “Your account has time restrictions that prevent you from signing in at this time”
7-2단계: 이벤트 로그 모니터링
Windows 이벤트 뷰어에서 다음 로그들을 확인:
- 보안 로그: 로그온 성공/실패 이벤트
- 시스템 로그: GPO 적용 관련 이벤트
7-3단계: GPO 강제 업데이트
테스트 환경에서 정책을 즉시 적용하려면:
gpupdate /force
8. 실제 운영시 꼭 확인해야 하는 사항!
8-1. 관리자 계정 예외 처리
중요한 점은 관리자 계정은 로그온 시간 제한의 영향을 받지 않습니다. 이는 시스템 관리 연속성을 위한 의도된 설계입니다.
8-2. 원격 근무자 고려사항
재택근무나 유연근무제가 확산된 현재, 로그온 시간 설정 시 다음을 고려해야 합니다:
- 시간대 차이: 해외 근무자의 현지 시간
- 긴급 상황: 업무시간 외 긴급 접근이 필요한 경우
- 교대 근무: 24시간 운영 부서의 특수성
8-3. 예외 처리 방안
특별한 권한이 필요한 사용자들을 위한 별도 보안 그룹을 만들어 운영하는 것이 좋습니다:
# 예외 그룹 생성 및 사용자 추가
New-ADGroup -Name "Flexible_Hours_Users" -GroupScope Universal
Add-ADGroupMember -Identity "Flexible_Hours_Users" -Members "emergency_user"
9. 자주 접하는 문제들…
9-1. 일반적인 문제들
문제: GPO를 설정했는데 강제 로그오프가 되지 않음 해결:
- Default Domain Policy에서 계정 정책이 올바르게 설정되었는지 확인
gpupdate /force
명령으로 정책 강제 업데이트
문제: 일부 사용자에게만 정책이 적용되지 않음 해결:
- 해당 사용자의 OU 위치 확인
- GPO 연결 상태 및 상속 차단 여부 점검
9-2. 네트워크 연결 문제
도메인 컨트롤러와의 연결 문제로 정책 적용이 지연될 수 있습니다:
# DNS 확인
nslookup domain.com
# 도메인 컨트롤러 연결 테스트
nltest /dsgetdc:domain.com
로그온 시간 제한은 단순해 보이지만 제대로 구현하면 조직의 보안 수준을 크게 향상시킬 수 있는 강력한 도구입니다. 특히 내부자 위협이나 권한 남용을 예방하는 데 매우 효과적이랍니다! 🙂