2025년 4월 16일 수요일

윈도우즈 Sysmon(System Monitor) 설명과, 설치법, 사용법

 

윈도우즈 Sysmon(System Monitor)

Sysmon이란?

Sysmon은 Microsoft Sysinternals에서 제공하는 윈도우 시스템 서비스 및 장치 드라이버로, 시스템에 설치되면 재부팅 후에도 상주하여 시스템 활동을 모니터링하고 Windows 이벤트 로그에 기록합니다. Sysmon은 보안 모니터링 목적으로 사용되며, 프로세스 생성, 네트워크 연결, 파일 생성 시간 변경 등에 대한 자세한 정보를 제공합니다.

Sysmon의 주요 특징:

  • 프로세스 생성에 대한 상세 로깅(전체 명령줄 포함)
  • 파일 해시값(SHA1, MD5, SHA256, IMPHASH) 기록
  • 네트워크 연결 모니터링
  • 레지스트리 변경 추적
  • 파일 생성 및 삭제 감시
  • 드라이버 로드 기록
  • DNS 쿼리 모니터링
  • 악성 행위 탐지에 유용한 다양한 이벤트 수집

Microsoft 공식 문서

Sysmon 설치 방법

1. 다운로드

먼저 Microsoft Sysinternals 사이트에서 Sysmon을 다운로드합니다:

2. 기본 설치 방법

  1. 관리자 권한으로 명령 프롬프트(CMD)를 실행합니다.
  2. Sysmon 압축 파일을 풀고 해당 디렉토리로 이동합니다.
  3. 다음 명령어로 기본 설정으로 설치합니다:
sysmon -accepteula -i

또는 64비트 시스템에서는:

sysmon64 -accepteula -i

3. 설정 파일을 사용한 설치 방법

더 효과적인 모니터링을 위해 사전 구성된 설정 파일을 사용하는 것이 좋습니다. 많은 보안 전문가들이 SwiftOnSecurity의 Sysmon 설정 파일을 권장합니다:

  1. PowerShell에서 다음 명령어를 실행하여 Sysmon과 설정 파일을 다운로드합니다:
iwr https://download.sysinternals.com/files/Sysmon.zip -outfile sysmon.zip
expand-archive sysmon.zip
iwr https://raw.githubusercontent.com/SwiftOnSecurity/sysmon-config/master/sysmonconfig-export.xml -outfile sysmonconfig-export.xml
  1. 설정 파일을 적용하여 Sysmon을 설치합니다:
sysmon64.exe -accepteula -i sysmonconfig-export.xml

Sysmon 사용법

주요 명령어 옵션

  • -i: 서비스 및 드라이버 설치 (설정 파일 지정 가능)
  • -c: 현재 설정 확인 또는 업데이트
  • -m: 이벤트 매니페스트 설치
  • -s: 구성 스키마 정의 출력
  • -u: 서비스 및 드라이버 제거

자주 사용하는 명령어 예시

  1. 네트워크 연결과 로딩된 모듈 모니터링 설정:
sysmon64.exe -i -l -n -accepteula
  1. 설정 파일 적용:
sysmon64.exe -c sysmonconfig-export.xml
  1. 현재 설정 확인:
sysmon64.exe -c
  1. Sysmon 제거:
sysmon64.exe -u

Sysmon 이벤트 확인 및 사용법

이벤트 로그 위치

Sysmon 이벤트는 Windows 이벤트 뷰어에서 확인할 수 있습니다:

  1. Win+R 키를 눌러 실행 창을 열고 eventvwr.exe를 입력합니다.
  2. 이벤트 뷰어에서 응용 프로그램 및 서비스 로그 > Microsoft > Windows > Sysmon > Operational로 이동합니다.

주요 이벤트 ID와 의미

Sysmon은 다양한 이벤트 ID를 사용하여 시스템 활동을 로깅합니다:

이벤트 ID설명용도
1프로세스 생성새로 생성된 프로세스 정보 기록
2파일 생성 시간 변경프로세스가 파일 생성 시간을 수정할 때 기록
3네트워크 연결TCP/UDP 네트워크 연결 정보 기록
4Sysmon 서비스 상태 변경Sysmon 서비스 시작/중지 정보
5프로세스 종료프로세스 종료 정보
6드라이버 로드시스템에 로드되는 드라이버 정보
7이미지 로드모듈이 프로세스에 로드될 때 기록
8CreateRemoteThread다른 프로세스에 스레드 생성 감지
11파일 생성파일 생성 및 덮어쓰기 기록
12-14레지스트리 이벤트레지스트리 생성, 삭제, 값 설정, 이름 변경 등
22DNS 쿼리DNS 쿼리 정보 기록
23파일 삭제파일 삭제 기록

설정 파일 사용하기

설정 파일 구조

Sysmon 설정 파일은 XML 형식으로 작성되며, 다음과 같은 주요 섹션이 있습니다:

  1. HashAlgorithms: 사용할 해시 알고리즘 지정
  2. EventFiltering: 기록할 이벤트와 필터링 규칙 설정

설정 파일 예시

<Sysmon schemaversion="4.82">
  <!-- 모든 해시 캡처 -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Microsoft나 Windows 서명이 있는 경우를 제외한 모든 드라이버 로그 기록 -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    <!-- 프로세스 종료는 기록하지 않음 -->
    <ProcessTerminate onmatch="include" />
    <!-- 포트 443이나 80으로의 네트워크 연결을 기록 (Internet Explorer 제외) -->
    <NetworkConnect onmatch="include">
      <DestinationPort>443</DestinationPort>
      <DestinationPort>80</DestinationPort>
    </NetworkConnect>
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">iexplore.exe</Image>
    </NetworkConnect>
  </EventFiltering>
</Sysmon>

필터링 조건

설정 파일에서 사용할 수 있는 필터링 조건:

  • is: 기본값, 정확히 일치
  • contains: 값이 포함됨
  • excludes: 값이 포함되지 않음
  • begin with: 값으로 시작
  • end with: 값으로 끝남
  • less than: 사전식 비교가 작음
  • more than: 사전식 비교가 큼
  • image: 이미지 경로 일치

실전 활용 사례

  1. 보안 모니터링: 악성 프로세스 실행, 비정상적인 네트워크 연결 등 의심스러운 활동 감지
  2. 사고 대응: 침해 사고 분석 시 시스템 활동 로그 제공
  3. 포렌식 분석: 시스템 변경 사항에 대한 상세 내역 확인
  4. 보안 정책 준수 확인: 시스템 활동 감사 및 모니터링

참고 자료

Sysmon은 윈도우 시스템의 보안 모니터링을 위한 강력한 도구로, 적절한 설정을 통해 시스템 활동을 효과적으로 추적하고 분석할 수 있습니다. 침해 사고 탐지와 대응에 매우 유용하게 활용될 수 있습니다.

LG U+ 테더링 데이터 소진 시 우회 방법

 

LG U+ 테더링 데이터 소진 시 우회 방법

LG U+를 포함한 국내 통신사들은 무제한 요금제를 사용하더라도 테더링(핫스팟)에 사용할 수 있는 데이터를 별도로 제한하고 있습니다. 이러한 제한을 우회하기 위한 방법들을 알아보겠습니다.

우회 원리 이해하기

LG U+는 스마트폰에서 직접 네트워크를 사용할 때와 핫스팟을 통해 네트워크를 공유할 때 서로 다른 APN(Access Point Name) 설정을 사용합니다. 핫스팟을 사용할 때 "LG U+ Tethering"이라는 별도의 APN을 통해 연결되어 테더링 데이터가 소진됩니다. 이 설정을 변경하여 일반 APN을 사용하도록 하면 테더링 제한을 우회할 수 있습니다.

방법 1: 일반 설정을 통한 APN 추가 (간편한 방법)

이 방법은 대부분의 안드로이드 스마트폰(갤럭시 등)에서 가능합니다:

  1. 설정 앱을 엽니다

  2. 연결 > 모바일 네트워크 > 액세스 포인트 이름 메뉴로 이동합니다

  3. 오른쪽 상단의 +(추가) 버튼을 클릭합니다

  4. 다음 정보를 입력합니다:

    • 이름: 원하는 이름 (예: "LG U+ 무제한")
    • APN: internet.lguplus.co.kr
    • MCC: 450
    • MNC: 06
    • APN 유형: default,supl,dun (중요: 띄어쓰기 없이 정확히 입력)
    • APN 프로토콜: IPv4/IPv6
    • APN 로밍 프로토콜: IPv4/IPv6
  5. 오른쪽 상단의 저장 버튼을 누릅니다

  6. 새로 추가된 APN을 선택하고 설정 앱을 종료합니다

  7. 핸드폰을 재부팅하여 설정을 적용합니다

방법 2: 히든 메뉴를 통한 APN 수정 (LG U+ 기기에서 일반 설정이 제한된 경우)

일부 LG U+ 통신사 자체 단말기는 일반 설정에서 APN 수정이 제한될 수 있습니다. 이 경우 히든 메뉴를 통해 접근할 수 있습니다:

  1. 기본 전화 앱을 실행합니다
  2. 키패드에 319712358을 입력합니다 (전화를 걸지 않아도 자동으로 메뉴가 나타납니다)
  3. 경고창이 뜨면 OK를 누릅니다
  4. 비밀번호 입력 화면에서 0821을 입력합니다 (LG U+ 비밀번호)
  5. Data Setting 메뉴를 선택합니다
  6. APN을 선택합니다
  7. 제일 위에 있는 **LG U+**를 선택합니다
  8. 맨 아래로 내려가서 APN 유형을 찾습니다
  9. 원래 값이 "default,supl"인데, 여기에 "dun"을 추가하여 default,supl,dun으로 변경합니다
  10. 저장을 위해 뒤로가기를 누르지 말고 홈 버튼을 눌러 앱 밖으로 나갑니다
  11. 다시 히든 메뉴로 들어가 U+ Tethering을 선택합니다
  12. APN 유형에서 "dun"을 제거하거나 다른 값으로 변경합니다
  13. 다시 홈 버튼을 눌러 나가고 핸드폰을 재부팅합니다

주의사항

  1. 통신사별로 비밀번호가 다릅니다:

    • LG U+: 0821
    • SK: 996412
    • KT: 774632
  2. APN 유형에 "default,supl,dun"을 입력할 때 띄어쓰기를 하지 않도록 주의하세요. 정확히 이 형식으로 입력해야 우회가 제대로 작동합니다.

  3. 설정 변경 후 핸드폰을 재부팅하여 변경사항이 제대로 적용되도록 하세요.

  4. 이 방법은 테더링 데이터 대신 일반 데이터를 사용하도록 하는 것으로, 무제한 요금제에서 속도 제한은 여전히 적용될 수 있습니다.

우회 확인 방법

설정이 제대로 적용되었는지 확인하려면 테더링을 활성화한 후 데이터 사용량을 확인해보세요. 테더링을 사용했음에도 테더링 데이터 소진량이 증가하지 않는다면 우회가 성공적으로 이루어진 것입니다.

법적 고려사항

이러한 설정 변경은, 통신사와의 약관 위반에 해당할 수 있지만, 현재까지 이에 대한 법적 조치가 취해진 사례는 거의 없습니다. 특히 무약정 요금제의 경우 위약금에 대한 부담이 적기 때문에 더 자유롭게 사용할 수 있습니다. 다만, 과도한 데이터 사용은 통신사의 모니터링 대상이 될 수 있으니 상식적인 범위 내에서 사용하는 것이 좋습니다.

이 방법들을 통해 LG U+에서 테더링 데이터가 소진된 후에도 계속해서 테더링 기능을 사용할 수 있습니다.

2025년 4월 15일 화요일

아파치 웹서버에 여러SSL(SNI) 설정하는 방법

아파치 웹서버에 SNI 설정하는 방법

SNI(Server Name Indication)란?

SNI(Server Name Indication)는 TLS 프로토콜의 확장 기능으로, 클라이언트가 서버에 HTTPS 연결을 시도할 때 접속하려는 호스트 이름을 TLS 핸드셰이크 과정 초기에 서버에 알려주는 기술입니다. 이를 통해 하나의 IP 주소와 포트(일반적으로 443)에서 여러 도메인의 SSL/TLS 인증서를 호스팅할 수 있게 됩니다.

사전 요구사항

아파치 웹서버에서 SNI를 사용하기 위해서는 다음 조건이 필요합니다:

  1. Apache 2.2.12 이상 버전
  2. OpenSSL 0.9.8f 이상 버전
  3. mod_ssl 모듈이 활성화되어 있어야 함

SNI 설정 방법

1. 버전 확인

먼저 아파치와 OpenSSL 버전이 SNI를 지원하는지 확인합니다:

apache2 -v
openssl version

2. mod_ssl 모듈 활성화 확인

mod_ssl 모듈이 활성화되어 있는지 확인합니다:

apache2ctl -M | grep ssl

활성화되어 있지 않다면 아래 명령어로 활성화합니다:

a2enmod ssl

3. SSL 설정 파일 준비

Apache 설정 파일은 일반적으로 다음 위치 중 하나에 있습니다:

  • /etc/apache2/apache2.conf (Debian/Ubuntu)
  • /etc/httpd/conf/httpd.conf (RHEL/CentOS)
  • 또는 /etc/apache2/conf.d/ssl.conf 또는 /etc/apache2/sites-available/ 디렉토리

4. VirtualHost 설정

각 도메인에 대해 별도의 VirtualHost를 설정합니다. SNI는 Apache에서 별도 설정이 필요 없이 지원되는 버전에서는 기본적으로 활성화되어 있습니다.

기본 설정 예시:

# SSL 포트 리스닝 설정
Listen 443

# 모든 IP 주소의 443 포트 수신 설정
NameVirtualHost *:443

# 첫 번째 도메인 VirtualHost 설정
<VirtualHost *:443>
    DocumentRoot /var/www/site1
    ServerName example.com
    ServerAlias www.example.com
    
    SSLEngine on
    SSLCertificateFile /경로/example.com.crt
    SSLCertificateKeyFile /경로/example.com.key
    SSLCertificateChainFile /경로/chain.pem
    
    # 추가 SSL 설정
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    
    # 기타 설정
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

# 두 번째 도메인 VirtualHost 설정
<VirtualHost *:443>
    DocumentRoot /var/www/site2
    ServerName second-example.com
    ServerAlias www.second-example.com
    
    SSLEngine on
    SSLCertificateFile /경로/second-example.com.crt
    SSLCertificateKeyFile /경로/second-example.com.key
    SSLCertificateChainFile /경로/chain.pem
    
    # 추가 SSL 설정
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    
    # 기타 설정
    ErrorLog ${APACHE_LOG_DIR}/second-example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/second-example.com-access.log combined
</VirtualHost>

5. Apache 2.4.8 이상 버전에서의 설정

Apache 2.4.8 이상에서는 SSLCertificateChainFile 지시문이 더 이상 사용되지 않으므로(deprecated), 대신 SSLCACertificateFile 지시문을 사용합니다:

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateKeyFile /경로/example.com.key
    SSLCertificateFile /경로/example.com.crt
    SSLCACertificateFile /경로/root-chain-bundle.pem
    
    # 기타 설정...
</VirtualHost>

6. 설정 테스트 및 적용

설정 파일을 수정한 후 문법 오류를 확인합니다:

apache2ctl configtest
# 또는
apachectl -t

설정이 정상이면 아파치 웹서버를 재시작합니다:

systemctl restart apache2
# 또는
service apache2 restart
# 또는
apachectl restart

주의사항

  1. SNI 클라이언트 호환성: 구형 브라우저 및 운영체제(Windows XP의 IE 등)는 SNI를 지원하지 않습니다. 대부분의 최신 브라우저는 SNI를 지원합니다.

  2. 첫 번째 VirtualHost의 중요성: SNI 요청이 없거나 일치하는 ServerName이 없을 경우, 아파치는 첫 번째 VirtualHost의 SSL 인증서를 사용합니다. 따라서 첫 번째 VirtualHost는 가장 일반적인 또는 기본 도메인으로 설정하는 것이 좋습니다.

  3. 인증서 유효성: 각 VirtualHost에 설정된 ServerName과 인증서의 CN(Common Name) 또는 SAN(Subject Alternative Name)이 일치해야 합니다.

  4. 오류 로깅: 설정 후 웹서버 로그를 확인하여 SSL 관련 오류나 경고가 있는지 확인해야 합니다.

SNI 설정 테스트

설정이 제대로 되었는지 확인하려면 다음 명령어를 사용할 수 있습니다:

openssl s_client -connect example.com:443 -servername example.com

위 명령은 SNI 정보를 포함하여 연결을 시도하며, 서버가 올바른 인증서를 반환하는지 확인할 수 있습니다.

서버가 설정된 각 도메인에 대해 서로 다른 인증서를 반환하는지 확인하려면, 다른 도메인 이름으로도 테스트해 보세요:

openssl s_client -connect example.com:443 -servername second-example.com

이로써 아파치 웹서버에서 SNI를 사용하여 하나의 IP 주소와 포트에서 여러 SSL 도메인을 호스팅할 수 있게 됩니다.

2025년 4월 14일 월요일

25년 대한민국 제21대 대통령 선거 일정

 

대한민국 제21대 대통령 선거 일정

2025년 6월 3일(화요일)에 대한민국 제21대 대통령 선거가 실시됩니다. 이번 선거는 윤석열 전 대통령의 파면으로 인한 조기 대선입니다.

주요 선거 일정

  • 4월 4일(금): 예비후보자등록 신청 시작
  • 5월 6일(화) ~ 5월 10일(토): 선거인명부 작성
  • 5월 10일(토) ~ 5월 11일(일): 후보자등록 신청 (매일 오전 9시 ~ 오후 6시)
  • 5월 12일(월): 선거기간 개시일 (공식 선거운동 시작)
  • 5월 17일(토)까지: 선거벽보 첩부
  • 5월 24일(토)까지: 투표안내문(전단형 선거공보 동봉) 발송
  • 5월 29일(목) ~ 5월 30일(금): 사전투표 (매일 오전 6시 ~ 오후 6시)
  • 6월 3일(화):
    • 투표: 오전 6시 ~ 오후 8시
    • 개표: 투표 종료 후 즉시

주요 정보

  • 선거일인 6월 3일은 임시공휴일로 지정되었습니다.
  • 이번 선거는 헌법 제68조와 공직선거법 제35조에 근거한 대통령의 궐위로 인한 선거입니다.
  • 당선자는 취임 즉시 대통령직에 취임하게 되며, 임기는 2027년 5월까지입니다.

선거 배경

2024년 12월 3일에 대한민국 국회가 윤석열 대통령 탄핵소추안을 가결했고, 2025년 4월 4일에 대한민국 헌법재판소가 탄핵소추안을 인용하고 윤석열을 파면하면서 조기 대선이 확정되었습니다. 선거일은 2025년 4월 8일에 열린 국무회의에서 2025년 6월 3일로 최종 확정되었습니다. 위키백과

현재 한덕수 총리가 대통령 권한대행을 맡고 있으며, 각 정당에서는 대선 후보 선출을 위한 움직임이 활발히 진행 중입니다. BBC

이번 선거는 제20대 윤석열 대통령의 임기가 정상적으로 만료된다면 2027년 3월에 치러질 예정이었으나, 헌법재판소의 탄핵 결정으로 인해 60일 이내에 실시하는 조기 선거로 진행됩니다. 대한민국 정책브리핑

구글 I/O 2025: 이론이 현실이 되다

  구글 I/O 2025: 이론이 현실이 되다 2025년 5월 20일, 미국 캘리포니아 마운틴뷰에서 개최된 구글 I/O 2025는 인공지능 기술의 놀라운 발전과 이를 통한 현실 세계의 변화를 보여주는 무대였습니다. 순다 피차이 구글 CEO가 이끈 이번...