29
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LinuxエンジニアのためのWindowsセキュリティ再入門 〜 第1回:はじめに —— なぜ今、LinuxエンジニアがWindowsセキュリティを学ぶのか

29
Posted at

はじめに

$ whoami
linux_engineer
$ uname -a
Linux prod-server 5.15.0 #1 SMP x86_64 GNU/Linux

「Windowsのセキュリティ? 情シスやPC管理者の仕事でしょ?」

そう思っているLinuxエンジニアの方に、まず一つ質問させてください。

あなたの会社のActive Directoryが侵害されたとき、Linuxサーバーは安全でいられますか?

現代のエンタープライズ環境において、「Linuxだけで完結するシステム」はほぼ存在しません。バックエンドがLinuxであっても、運用管理端末はWindows、認証基盤はActive Directory(AD)、開発者の手元にはWindows PCがある——これが現実です。

攻撃者は防御が薄く特権が集中した「Windows認証基盤」を起点に、あなたが管理するLinuxサーバーへと侵入経路を広げます。実際、2023年のMOVEit Transfer脆弱性や、SolarWindsサプライチェーン攻撃など、近年の大規模インシデントの多くはWindows基盤への侵害を含んでいました。

本連載では、CLIを愛するLinuxエンジニアの視点から、Windowsセキュリティの本質を全50回にわたって解剖していきます。


1. Linuxエンジニアが陥る「Windowsの罠」

Linuxの世界では、設定変更は /etc 以下のテキストファイルを編集し、systemctl restart で完結します。しかしWindowsを触り始めると、いくつかの「文化の壁」にぶつかります。

罠①:「とりあえず管理者で実行」の危うさ

Linuxで sudo を多用するのが危険なように、Windowsで常に管理者権限(Administrator)で作業することは重大なリスクです。

Linuxの root と一見似ていますが、Windowsには整合性レベル(Integrity Level) という独自の概念があります。

整合性レベル 相当するLinuxの概念 主な用途
System root(カーネル領域) OS中枢プロセス
High sudo 実行時 管理者権限が必要な処理
Medium 一般ユーザー実行 通常のアプリケーション
Low 制限付き環境 サンドボックス(ブラウザ等)

攻撃者は管理者権限で動作するプロセスに「プロセスインジェクション」や「トークン奪取(Token Impersonation)」を仕掛けます。常時Administratorで作業することは、攻撃対象領域(Attack Surface)を不必要に広げることと同義です。

罠②:GUIの裏側が見えない不安

「コントロールパネルのここをチェックしてください」

Linuxエンジニアが本当に知りたいのは「そのチェックによってどのレジストリ値が変わり、どのAPIの挙動が制限されるか」です。

本連載では可能な限り、GUI操作と対応するPowerShellコマンド・内部構造を併記します。たとえばWindowsDefenderのリアルタイム保護は、GUIのスイッチ一つですが、内部では以下と等価です:

# Defender リアルタイム保護の状態確認(Linux の systemctl status 相当)
Get-MpPreference | Select-Object DisableRealtimeMonitoring

# auditd のルール確認に相当する操作
Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled, AntivirusEnabled

2. 概念の「翻訳」:Linux vs Windows

LinuxとWindowsは思想が異なりますが、セキュリティの根本概念は対応しています。まず全体像を掴みましょう。

カテゴリ Linux(CentOS/RHELなど) Windows 本連載での解説回
ユーザー識別子 UID(User ID) SID(Security Identifier) 第2〜3回
権限昇格 sudo / su UAC(User Account Control) 第5回
ファイル権限 パーミッション(rwxrwxrwx) DACL(Discretionary ACL) 第6回
認証情報の保存 /etc/shadow(SHA-512) SAMデータベース / NTLM hash 第2回
共有ディレクトリ NFS / Bind Mount SMB(\server\share) 第8回
設定管理 /etc/*.conf Registry / Group Policy 第9〜10回
ログ確認 journalctl / /var/log Event Log(イベントビューアー) 第15回
プロセス監査 auditd Audit Policy / Sysmon 第16〜17回
パケットフィルタ iptables / nftables Windows Firewall(WFP) 第11回

注意: WindowsのACLは「DACL(Discretionary ACL)」と「SACL(System ACL)」の2種類があります。原文にある「ACL」という表記だけでは、監査用のSACLと混同しやすいため、本連載では明示的に使い分けます。


3. この連載で何が身につくのか

全50回の道のりは長いですが、完走する頃には以下のスキルが身についています。

🔒 Windows OSの堅牢化(Hardening)

不要なサービスの停止、SMBv1の無効化、AppLockerによる実行制御、レジストリを用いた制限。Linuxの /etc/sysctl.conf による堅牢化と対比しながら学びます。

🔑 認証基盤の防御

Active Directoryへの代表的な攻撃手法(Pass-the-Hash、Kerberoasting、DCSync)を理解し、それを防ぐ「Tierモデル(管理階層モデル)」を構築します。

🔍 不審な挙動の検知

SysmonとEvent Logを組み合わせ、auditd 以上に詳細なプロセス・ネットワーク監視を実装します。MITRE ATT&CKフレームワークへのマッピングも扱います。

⚙️ モダンな管理手法

PowerShellとDSC(Desired State Configuration)を使った、Infrastructure as Code(IaC)ベースのセキュリティ管理。Ansibleと組み合わせた構成管理も紹介します。


今回の「エンジニアの知恵」

WindowsでLinuxの stracelsof に相当することをしたいとき、以下の2つのツールが出発点になります。

# 1. PowerShellでコマンドを探す(man / apropos 相当)
Get-Command -Noun *Firewall*
Get-Help Set-NetFirewallRule -Examples

# 2. 実行中プロセスが開いているファイル/ポートを確認(lsof 相当)
Get-Process -Name svchost | Select-Object Id, Name
netstat -ano | findstr "ESTABLISHED"

GUIがどのレジストリを操作しているか知りたい場合は、Process Monitor(Procmon) でフィルタリングします。これはLinuxで inotifywaitauditctl を使う感覚に近い作業です。

# Procmon のフィルタ設定例(GUIのチェックボックスに相当するレジストリ操作を特定)
Process Name → contains → mmc.exe
Operation    → contains → RegSetValue

セキュリティの本質——最小権限の原則(PoLP)多層防御(Defense in Depth)——はOSが違っても変わりません。Windowsは「方言が違う」だけで、同じ思想で守れます。


おわりに

次回(第2回)は 「OS構造の比較 —— /etc/shadow と SAMデータベースの違い」 です。

Windowsのパスワードハッシュ(NTLMハッシュ)がどこに、どのような形式で保存されているか。なぜLMハッシュは2008年以降に廃止されたのか。LinuxエンジニアならSHA-512との違いが気になるはずです。「パスワードの裏側」から、Windows内部構造の理解を深めていきましょう。


本連載はセキュリティの理解と防御を目的としています。記載する攻撃手法は、自身が管理する環境での検証、またはCTF(Capture The Flag)等の学習用途に限定してください。

29
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?