Monday, July 14th, 2025

Windows 11 로그인 알림 이메일 설정 완벽 가이드 | PC 보안 강화 방법

컴퓨터 보안에 대한 관심이 높아지는 요즘, 내 PC에 누군가 로그인했을 때 즉시 알림을 받을 수 있다면 얼마나 안심이 될까요? 특히 가족이나 직장 동료와 컴퓨터를 공유하거나, 원격 접속을 허용하는 환경에서는 더욱 중요한 보안 기능입니다.

이메일 설정

Windows 11에서는 PowerShell 스크립트작업 스케줄러를 활용하여 누군가 로그인할 때마다 자동으로 이메일 알림을 받을 수 있습니다1. 이 방법은 복잡해 보이지만, 단계별로 따라하면 누구나 쉽게 설정할 수 있습니다.

실제로 저도 이 기능을 설정한 후, 예상치 못한 로그인 시도를 여러 번 발견할 수 있었습니다. 특히 원격 근무가 일상화된 지금, 이런 보안 모니터링은 선택이 아닌 필수가 되었다고 생각합니다.

목차

  1. 로그인 알림 이메일이 필요한 이유
  2. 사전 준비사항
  3. 이메일 전송 스크립트 작성하기
  4. 작업 스케줄러 설정하기
  5. PowerShell 창 숨기기 (선택사항)
  6. 보안 고려사항
  7. 문제 해결 및 팁
  8. 마무리

<a id=”why-login-notification”></a>로그인 알림 이메일이 필요한 이유

보안 모니터링의 중요성

현대의 사이버 보안 환경에서 실시간 모니터링은 필수적입니다. 특히 다음과 같은 상황에서 로그인 알림은 매우 유용합니다:

  • 원격 근무 환경: 집에서 회사 업무를 처리할 때
  • 가족 공용 컴퓨터: 여러 사용자가 하나의 PC를 사용할 때
  • 서버 관리: 중요한 데이터가 저장된 컴퓨터를 관리할 때
  • 의심스러운 활동 감지: 무단 접근 시도를 조기에 발견할 때

실제 사용 사례

한 Reddit 사용자는 RDP(원격 데스크톱) 로그인 알림을 통해 해킹 시도를 조기에 발견했다고 공유했습니다7. 이처럼 로그인 알림은 단순한 편의 기능을 넘어 실질적인 보안 도구로 활용될 수 있습니다.

<a id=”prerequisites”></a>사전 준비사항

필요한 도구 및 정보

로그인 알림을 설정하기 전에 다음 사항들을 준비해야 합니다:

항목설명예시
이메일 계정SMTP 지원 이메일 서비스Gmail, Outlook, Naver 등
SMTP 설정 정보서버 주소, 포트, 보안 설정smtp.gmail.com:587
앱 비밀번호2단계 인증 사용 시 필요16자리 앱 전용 비밀번호
관리자 권한작업 스케줄러 설정을 위해 필요Windows 관리자 계정

이메일 서비스별 SMTP 설정

주요 이메일 서비스의 SMTP 설정 정보는 다음과 같습니다:

Gmail

  • SMTP 서버: smtp.gmail.com
  • 포트: 587 (TLS) 또는 465 (SSL)
  • 보안: SSL/TLS 필요

Outlook/Hotmail

  • SMTP 서버: smtp-mail.outlook.com
  • 포트: 587
  • 보안: STARTTLS 필요

<a id=”create-email-script”></a>이메일 전송 스크립트 작성하기

기본 PowerShell 스크립트

먼저 로그인 시 이메일을 전송할 PowerShell 스크립트를 작성해야 합니다1. 메모장을 열고 다음 코드를 입력하세요:

powershell# 이메일 설정
$smtpServer = "smtp.gmail.com"
$smtpPort = "587"
$smtpUser = "your-email@gmail.com"
$smtpPass = "your-app-password"
$toEmail = "recipient@email.com"
$subject = "로그인 알림 - $env:COMPUTERNAME"
$body = "사용자 $env:USERNAME이(가) $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')에 로그인했습니다."

# 이메일 전송
try {
    $msg = New-Object System.Net.Mail.MailMessage $smtpUser, $toEmail, $subject, $body
    $smtp = New-Object Net.Mail.SmtpClient($smtpServer, $smtpPort)
    $smtp.EnableSsl = $true
    $smtp.Credentials = New-Object System.Net.NetworkCredential($smtpUser, $smtpPass)
    $smtp.Send($msg)
    Write-Host "이메일 전송 완료"
} catch {
    Write-Host "이메일 전송 실패: $($_.Exception.Message)"
}

스크립트 커스터마이징

위 스크립트에서 다음 부분들을 본인의 환경에 맞게 수정하세요:

  • $smtpServer: 사용하는 이메일 서비스의 SMTP 서버
  • $smtpUser: 발신자 이메일 주소
  • $smtpPass: 이메일 비밀번호 (앱 비밀번호 권장)
  • $toEmail: 알림을 받을 이메일 주소
  • $subject: 이메일 제목
  • $body: 이메일 내용

개인적으로 저는 이메일 제목에 컴퓨터 이름과 시간을 포함시켜 여러 대의 컴퓨터를 관리할 때 구분하기 쉽게 만들었습니다.

스크립트 저장하기

  1. 메모장에서 파일 > 다른 이름으로 저장 선택
  2. 파일 형식을 **”모든 파일”**로 변경
  3. 파일명을 **”SendLoginEmail.ps1″**로 입력
  4. 저장 위치를 기억해 두세요 (예: C:\Scripts$$

<a id=”task-scheduler-setup”></a>작업 스케줄러 설정하기

작업 스케줄러 실행

Windows 검색에서 **”작업 스케줄러”**를 입력하고 실행합니다1. 오른쪽 패널에서 **”작업 만들기”**를 클릭하세요.

일반 탭 설정

  1. 이름: “로그인 이메일 알림”과 같이 알아보기 쉬운 이름 입력
  2. “사용자 로그온 여부에 관계없이 실행” 체크
  3. “가장 높은 수준의 권한으로 실행” 체크

트리거 탭 설정

  1. “새로 만들기” 클릭
  2. **”작업 시작”**을 **”로그온할 때”**로 설정
  3. 특정 사용자만 모니터링하려면 “특정 사용자” 선택
  4. 모든 사용자를 모니터링하려면 “모든 사용자” 선택

동작 탭 설정

  1. “새로 만들기” 클릭
  2. **”동작”**을 **”프로그램 시작”**으로 설정
  3. **”프로그램/스크립트”**에 powershell.exe 입력
  4. **”인수 추가”**에 다음 내용 입력: text-ExecutionPolicy Bypass -File "C:\Scripts\SendLoginEmail.ps1"

조건 및 설정 탭

  • 조건 탭: 기본 설정 유지
  • 설정 탭: “작업이 실행되지 않으면 다음 시간 후 시작” 체크 해제

설정 완료 후 **”확인”**을 클릭하고 관리자 비밀번호를 입력하면 작업이 생성됩니다.

<a id=”hide-powershell”></a>PowerShell 창 숨기기 (선택사항)

VBScript 래퍼 생성

로그인 시 PowerShell 창이 잠깐 나타나는 것을 방지하려면 VBScript 래퍼를 사용할 수 있습니다1. 메모장에서 다음 코드를 입력하세요:

textSet objShell = CreateObject("Wscript.Shell")
objShell.Run "powershell.exe -ExecutionPolicy Bypass -File ""C:\Scripts\SendLoginEmail.ps1""", 0, False

이 파일을 **”SendLoginEmail.vbs”**로 저장하고, 작업 스케줄러에서 프로그램/스크립트를 wscript.exe로, 인수를 VBS 파일 경로로 변경하면 됩니다.

숨김 실행의 장점

  • 사용자 경험 개선: 로그인 시 불필요한 창이 나타나지 않음
  • 보안 강화: 스크립트 실행이 눈에 띄지 않음
  • 전문적인 느낌: 상용 소프트웨어처럼 백그라운드에서 조용히 실행

<a id=”security-considerations”></a>보안 고려사항

비밀번호 보안

스크립트에 이메일 비밀번호가 평문으로 저장되는 것은 보안상 위험할 수 있습니다1. 다음과 같은 방법으로 보안을 강화할 수 있습니다:

  1. 전용 이메일 계정 사용: 알림 전용 Gmail 계정 생성
  2. 앱 비밀번호 사용: 2단계 인증 활성화 후 앱 전용 비밀번호 생성
  3. 파일 권한 설정: 스크립트 파일에 대한 접근 권한 제한

네트워크 보안

이메일 전송 시 다음 보안 프로토콜을 사용하는 것이 중요합니다:

  • TLS/SSL 암호화: 이메일 전송 시 암호화 적용
  • 인증된 SMTP 서버: 신뢰할 수 있는 이메일 서비스 사용
  • 방화벽 설정: 필요한 포트만 열어두기

개인정보 보호

이메일 내용에 포함되는 정보를 최소화하고, 민감한 정보는 제외하는 것이 좋습니다. 예를 들어, 사용자명 대신 “사용자”라고 표시하거나, IP 주소 정보는 선택적으로 포함할 수 있습니다.

<a id=”troubleshooting”></a>문제 해결 및 팁

일반적인 문제들

이메일이 전송되지 않는 경우:

  1. SMTP 설정 정보 확인
  2. 이메일 계정의 2단계 인증 설정 확인
  3. 방화벽이나 바이러스 백신 소프트웨어 확인
  4. PowerShell 실행 정책 확인

작업 스케줄러가 실행되지 않는 경우:

  1. 관리자 권한으로 실행했는지 확인
  2. 스크립트 파일 경로가 정확한지 확인
  3. 사용자 계정 설정 확인

성능 최적화

  • 이메일 전송 빈도 제한: 짧은 시간 내 여러 번 로그인하는 경우 대비
  • 로그 파일 생성: 문제 해결을 위한 로그 기록
  • 타임아웃 설정: 네트워크 문제 시 무한 대기 방지

고급 기능 추가

더 정교한 모니터링을 원한다면 다음 기능들을 추가할 수 있습니다:

  • IP 주소 정보: 원격 접속 시 접속 IP 포함
  • 실패한 로그인 시도: 잘못된 비밀번호 입력 시 알림3
  • 특정 시간대 알림: 업무 시간 외 로그인 시에만 알림

<a id=”conclusion”></a>마무리

Windows 11에서 로그인 알림 이메일을 설정하는 것은 생각보다 간단하면서도 매우 유용한 보안 기능입니다. PowerShell 스크립트와 작업 스케줄러를 활용하면 누구나 쉽게 구현할 수 있습니다.

이 기능을 통해 얻을 수 있는 주요 이점들을 정리하면:

  • 실시간 보안 모니터링: 무단 접근 시도를 즉시 감지
  • 원격 관리 편의성: 여러 컴퓨터의 로그인 상황을 한 번에 파악
  • 가족 안전: 자녀나 가족의 컴퓨터 사용 패턴 모니터링
  • 업무 효율성: 팀원들의 시스템 접근 현황 파악

다만, 보안을 위해 전용 이메일 계정을 사용하고, 스크립트 파일에 대한 접근 권한을 적절히 설정하는 것을 잊지 마세요. 또한 이메일 서비스의 보안 정책 변경에 따라 주기적으로 설정을 점검하는 것도 중요합니다.

이 가이드를 따라 설정하면 Windows 11 PC의 보안을 한층 더 강화할 수 있을 것입니다. 궁금한 점이 있거나 추가적인 기능이 필요하다면, 댓글로 문의해 주세요!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다