【2025年版】公開サーバーを減らせ!IT資産管理(ITAM)ツール導入ガイド (Snipe-IT, GLPI)
セキュリティ対策において、古くから言われ続けている、しかしながら最も実行が難しい原則があります。それは**「自分が何を持っているか把握していないものを、守ることはできない」**という事実です。
昨今、ランサムウェア被害や情報漏洩事故が後を絶ちませんが、その侵入経路の多くは、管理者が存在すら忘れていた「古いVPN装置」や「テスト用に一時的に公開したまま放置されたサーバー」です。
本記事では、単なる「台帳管理」としてのIT資産管理(ITAM)から脱却し、現代のサイバー攻撃に対抗するための「攻めの資産管理」= ASM(Attack Surface Management) への転換について解説します。 さらに、予算や人員が限られるSMB(中堅・中小企業)が、オープンソースツール(Snipe-IT, GLPI)を活用してこの課題にどう立ち向かうべきか、具体的な構築手順とともに紹介します。
IT資産管理が抱える現代的課題
かつてのIT資産管理は、「固定資産としてのPC管理」や「ソフトウェアライセンスの不正利用防止(コンプライアンス)」が主目的でした。もちろんこれらは現在でも重要ですが、2020年代に入り、その文脈は大きく変わりつつあります。
1. 経済産業省「ASM導入ガイダンス」が示すパラダイムシフト
2023年5月、経済産業省は**「ASM(Attack Surface Management)導入ガイダンス」を公開しました。ここで強調されているのは、「攻撃者の視点」**です。
従来のセキュリティは、ファイアウォールなどの「境界」の内側を守ることに主眼が置かれていました。しかし、クラウド利用の拡大やテレワークの普及により、この境界は曖昧になりました。 ASMは、インターネットからアクセス可能な自組織のIT資産(攻撃対象領域=アタックサーフェス)を、攻撃者と同じ視点で探索・可視化し、リスクを継続的に評価・管理するプロセスです。
ガイダンスでは、以下のサイクルを回すことが推奨されています:
- 攻撃面発見(Discovery): ドメイン、サブドメイン、IPアドレスなどを探索し、外部に公開されている資産を洗い出す。
- 攻撃面情報収集(Information Collection): 発見した資産上で稼働しているOS、ミドルウェア、バージョン、ポートなどを特定する。
- 攻撃面リスク評価(Risk Assessment): 脆弱性情報と照らし合わせ、優先的に対処すべきリスクを特定する。
「情シスが把握していないサーバー(シャドーIT)」が存在することは、このサイクルの最初の「発見」すらできていないことを意味します。これでは、リスク評価の土俵に上がることすらできません。
2. SAMACが警鐘を鳴らす「管理不全」のリスク
一方、IT資産管理の標準化を推進する**SAMAC(IT資産管理評価認定協会)**などの団体も、長年にわたり管理の重要性を説いてきました(参考: SAMAC資料)。
SAMACのフレームワークなどで語られるのは、単なるリスト作りではなく、組織としての**「抑止・予防・発見・是正」**のメカニズムです。
- ライセンス違反のリスク: ソフトウェアベンダーによる監査(Audit)は年々厳格化しています。適切なITAMが行われていない場合、意図せずライセンス違反を犯し、数千万円規模の損害賠償請求を受けるリスクがあります(是正コストの増大)。
- 「野良」資産の温床: 購入プロセスや利用申請が形骸化している組織では、部門が勝手にクラウドサービスを契約したり(シャドーIT)、テスト機を無断でネットワークに接続したりする行為が横行します。これらを抑止・予防するためには、全社的な管理ポリシーと、それを支える「使いやすい管理台帳」が必須です。
つまり、何をすべきか?
SMBや一人情シスの現場において、高価な商用ASMツールや完全なITIL準拠のプロセスをいきなり導入するのは現実的ではありません。 まずは「Excel台帳からの脱却」と**「自動化の第一歩」を踏み出し、「正規の資産リスト」をデジタル化して一元管理すること**。これが全ての出発点です。
オープンソースITAMツールの選定
コストを抑えつつ、持続可能な管理体制を作るために、今回は以下の2つのオープンソースソフトウェア(OSS)を推奨します。
- Snipe-IT:
- 特徴: とにかくUIがモダンで使いやすい。APIが充実している。
- 用途: PC、端末、周辺機器、ライセンス証書などの「物理/論理資産」の台帳管理。
- 推奨: 「これから資産管理を始める」「Excelが限界」というフェーズの組織。
- GLPI:
- 特徴: 非常に多機能。ヘルプデスク(チケット管理)やインベントリ収集機能まで統合されている。
- 用途: 資産管理だけでなく、社内問い合わせ対応や変更管理まで一気通貫で行いたい場合。
- 推奨: 「情シス業務全体のプラットフォームを作りたい」という中〜大規模組織。
※ データセンター事業者などで、サーバーラックの物理的な配置や配線図(ケーブリング)まで厳密に管理したい場合は、Ralph DCIMという選択肢もありますが、一般的なオフィスIT管理としては上記2つが主流です。
1. Snipe-IT: モダンで直感的な資産管理
概要
Snipe-ITは、現在最も勢いのあるオープンソースITAMプロジェクトと言っても過言ではありません。PHPフレームワークのLaravelで構築されており、セキュリティと開発スピードのバランスが優れています。
なぜSnipe-ITなのか?(ASM/SAMACの観点から)
- 「正しい台帳」の維持: UIが優れている(洗練されている)ことは、管理者の「入力するモチベーション」に直結します。使いにくいツールは徐々に使われなくなり、結局Excelに戻ってしまう事例が後を絶ちませんが、Snipe-ITはそのリスクが低いです。
- APIによる自動化: REST APIが強力であるため、例えば「社員が入社したらSlackから自動で資産を割り当てる」「PC廃棄フローが完了したら自動でステータスを更新する」といった連携が容易です。これにより、人為的な更新漏れ(=シャドーIT化)を防げます。
- ライセンス管理: ソフトウェアのシート数(購入数と割当数)を可視化できるため、SAMACが懸念するコンプライアンス違反リスクを低減できます。
Docker Compose 構築例
ここでは、永続化(Volume)設定を含んだ実用的な最小構成を紹介します。
services:
snipe-mysql:
image: mysql:8.0
container_name: snipe-mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=snipeit
- MYSQL_USER=snipeit
- MYSQL_PASSWORD=snipeit_password
volumes:
- snipe-mysql-data:/var/lib/mysql
snipe-it:
image: snipe/snipe-it:latest
container_name: snipe-it
restart: always
depends_on:
- snipe-mysql
ports:
- "8000:80"
environment:
- APP_URL=http://localhost:8000
- APP_KEY=base64:D5oGH4+q+3XJkQ2/8vX8y+3XJkQ2/8vX8+example= # docker run --rm snipe/snipe-it php artisan key:generate --show で生成可能
- APP_DEBUG=false
- APP_TIMEZONE=Asia/Tokyo
- APP_LOCALE=ja
- DB_CONNECTION=mysql
- DB_HOST=snipe-mysql
- DB_DATABASE=snipeit
- DB_USERNAME=snipeit
- DB_PASSWORD=snipeit_password
volumes:
- snipe-data:/var/lib/snipeit
volumes:
snipe-mysql-data:
snipe-data:
- アクセス:
http://localhost:8000 - 初期設定: 初回アクセス時に「Pre-Flight Check」画面が表示されます。ウィザードに従って管理者ユーザーを作成してください。
2. GLPI: 資産管理 + サービスデスク
概要
GLPIはフランスで開発が始まった、非常に歴史と実績のあるツールです。「IT Service Management (ITSM)」ツールとしての側面が強く、ITIL(Information Technology Infrastructure Library)のベストプラクティスを意識した設計になっています。
なぜGLPIなのか?(ASM/SAMACの観点から)
- 「インシデント」と「資産」の紐付け: 例えば「PCがマルウェアに感染した」というインシデント(チケット)が発生した際、対象のPC資産情報(OSバージョン、利用者、インストールソフト)が即座にリンクされます。これにより、ASMのリスク評価プロセスにおける「影響範囲の特定」が迅速化されます。
- エージェントによる自動収集: 「FusionInventory」や「GLPI Agent」をクライアントPCやサーバーにインストールすることで、ハードウェア構成やインストール済みソフトウェア情報を自動で吸い上げることができます。人手に頼らないインベントリ収集は、抜け漏れのない資産台帳(正しいASMの基礎)を作る上で最強の武器となります。
Docker Compose 構築例
DBには互換性の高いMariaDBを使用する構成が一般的です。
services:
glpi-db:
image: mariadb:10.7
container_name: glpi-db
restart: always
environment:
- MARIADB_ROOT_PASSWORD=root_password
- MARIADB_DATABASE=glpi
- MARIADB_USER=glpi
- MARIADB_PASSWORD=glpi_password
volumes:
- glpi-db-data:/var/lib/mysql
glpi:
image: elestio/glpi:latest
container_name: glpi
restart: always
depends_on:
- glpi-db
ports:
- "8080:80"
environment:
- GLPI_DB_HOST=glpi-db
- GLPI_DB_NAME=glpi
- GLPI_DB_USER=glpi
- GLPI_DB_PASSWORD=glpi_password
volumes:
- glpi-data:/var/www/html/glpi
volumes:
glpi-db-data:
glpi-data:
- アクセス:
http://localhost:8080 - 初期ログイン: ユーザー
glpi/ パスワードglpiでログイン可能です(初回ログイン後、必ずパスワードを変更してください)。
まとめ:防御の第一歩は「知ること」から
経済産業省がASMガイダンスで示した通り、サイバー攻撃の脅威は「見えていない場所(Unknown Assets)」から忍び寄ります。 また、SAMACが提唱するように、適正な資産管理プロセス(抑止・予防・発見・是正)を持たない組織は、セキュリティリスクだけでなく、コンプライアンスリスクという爆弾も抱え続けることになります。
「公開サーバーを減らす」「野良PCをなくす」という目標は、精神論では達成できません。 まずは Snipe-IT で使いやすい台帳を整備するか、あるいは GLPI で運用フローごとシステム化するか。 自社のフェーズに合ったツールを選び、「正しい資産リスト」を持つことから始めてください。それが、一人情シスが築く「最強の砦」の礎石となります。
AIに相談するためのプロンプト(テンプレート)
記事で紹介したOSSツール(Snipe-ITなど)を技術検証(PoC)する際に、効率よく環境構築から初期データの流し込みまでを行うためのプロンプトです。
あなたはDockerとデータベースに詳しいインフラエンジニアです。
記事にある「Snipe-IT」を、自社のテスト環境(ローカルPCのDocker Desktop)で立ち上げ、実際の資産管理運用をシミュレーションしようとしています。
最短でPoCを完了させるための、具体的な手順とダミーデータの生成コードを作成してください。
# 検証環境
* PC: [例: Windows 11 + WSL2 + Docker Desktop]
* 利用ツール: Snipe-IT (Official Docker Image)
# やりたいこと
1. **docker-compose.ymlの検証**: 記事のコードで本当に動くかチェックし、永続化ボリュームの設定が適切か確認。
2. **ダミーデータの投入**: 手入力が面倒なので、PythonスクリプトかSQLで「ノートPC 50台」「モニター 30台」「社員 50名」分の整合性の取れたテストデータを一括インポートしたい。
# 出力してほしい内容
1. **修正版 docker-compose.yml**: 初心者でもコピペで動く、コメント付きの完全なコード。
2. **データ生成スクリプト**: Snipe-ITのAPI(またはMySQL直接)を叩いてダミーデータを流し込むPythonコード。
3. **検証チェックリスト**: PoCで「ここだけは確認しておけ(バーコード印刷、CSVエクスポート等)」という重要機能のリスト。