<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>脆弱性診断 | OI-systems</title>
	<atom:link href="https://oi-systems.net/archives/tag/%e8%84%86%e5%bc%b1%e6%80%a7%e8%a8%ba%e6%96%ad/feed" rel="self" type="application/rss+xml" />
	<link>https://oi-systems.net</link>
	<description>手軽に始められる『ブログ・自作アプリetc...』の情報を発信します。</description>
	<lastBuildDate>Sun, 07 Dec 2025 08:12:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://oi-systems.net/wp-content/uploads/2024/11/cropped-212808e1a8384082b9b8a240ba1f4e63-32x32.png</url>
	<title>脆弱性診断 | OI-systems</title>
	<link>https://oi-systems.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【第1部】サーバー設定の健康診断。AIで見抜く「セキュリティの穴」と修正法</title>
		<link>https://oi-systems.net/archives/1653</link>
					<comments>https://oi-systems.net/archives/1653#respond</comments>
		
		<dc:creator><![CDATA[クラノスケ]]></dc:creator>
		<pubDate>Sat, 06 Dec 2025 13:21:47 +0000</pubDate>
				<category><![CDATA[サーバーを守ろう]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[LINUX]]></category>
		<category><![CDATA[インフラ運用]]></category>
		<category><![CDATA[脆弱性診断]]></category>
		<guid isPermaLink="false">https://oi-systems.net/?p=1653</guid>

					<description><![CDATA[サーバー構築が終わった直後、そのセキュリティは「完璧」だったはずです。 手順書通りにSSHポートを変更し、鍵認証にし、パーミッションもガチガチに固めた。あの時の達成感はひとしおですよね。 でも、半年後、1年後はどうでしょ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>サーバー構築が終わった直後、そのセキュリティは「完璧」だったはずです。 手順書通りにSSHポートを変更し、鍵認証にし、パーミッションもガチガチに固めた。あの時の達成感はひとしおですよね。</p>



<p>でも、半年後、1年後はどうでしょう？</p>



<p>「緊急対応で一時的に制限を緩めたまま、戻すのを忘れていないか？」 「OSのアップデートで、設定ファイルが勝手に初期状態に戻っていないか？」 「前任者が独自に追加した設定、ちゃんと把握できているか？」</p>



<p>サーバーは生き物です。長く運用すればするほど、変更や修正が積み重なり、「設計図（手順書）」と「実際のサーバーの中身」は必ずズレていきます。 この、誰も正しい状態を把握できていない「ツギハギだらけの状態」こそが、セキュリティ事故の最大の温床です。</p>



<p>とはいえ、このズレを目視ですべてチェックするのは至難の業。 そこで今回は、長く運用しているサーバーの「現在の設定ファイル」をそのままAIに食わせ、「今の設定、客観的に見てヤバいところある？」と診断させる手法を紹介します。</p>



<h2 class="wp-block-heading">運用課題</h2>



<p>構築時には「手順書」という正解がありますが、運用フェーズに入ると正解が曖昧になります。あるのは、担当者の記憶頼りの「変更履歴」だけです。</p>



<p>人間はどうしても「自分が設定したんだから大丈夫（なはず）」と思い込みがちですが、AIは忖度しません。渡された設定ファイルだけを見て、冷徹に事実を指摘してくれます。</p>



<ul class="wp-block-list">
<li><strong>「うっかり」の検知:</strong> 3ヶ月前に「テスト用」で開けたポートの消し忘れ。</li>



<li><strong>「先祖返り」の発見:</strong> パッケージ更新時に設定ファイルが上書きされ、無効化したはずのパスワード認証が復活していた。</li>



<li><strong>「自己流」の指摘:</strong> 急いで追加したユーザーの権限設定が、実は標準より甘くなっていた。</li>
</ul>



<p>これらを「定期的に、かつ一瞬で」洗い出せるのが、AI診断を取り入れる最大のメリットです。</p>



<h2 class="wp-block-heading">情報収集</h2>



<p>まずは、AIに診せるためのレントゲン写真を撮ります。</p>



<p>今回は以下の4ステップで情報を取得します。特に**ステップ2の「ユーザー確認」**は、自分が把握していない謎のユーザーが作られていないかを知るために重要です。</p>



<h3 class="wp-block-heading">コマンド一覧</h3>



<p>以下のコマンドを実行し、結果をメモ帳などにコピーしておいてください。</p>



<figure class="wp-block-table"><div class="scrollable-table"><table><thead><tr><td><strong>ステップ</strong></td><td><strong>調査項目</strong></td><td><strong>実行コマンド</strong></td><td><strong>AIに見せるポイント</strong></td></tr></thead><tbody><tr><td><strong>① SSH</strong></td><td>鍵・ポート設定</td><td># <code>cat /etc/ssh/sshd_config</code></td><td>パスワード認証の無効化<br>ポート番号の変更</td></tr><tr><td><strong>② ユーザー</strong></td><td>存在確認</td><td># <code>cat /etc/passwd</code></td><td><strong>退職者のIDが残っていないか</strong><br>不明なIDが作られていないか</td></tr><tr><td><strong>③ 権限</strong></td><td>ディレクトリ権限</td><td># <code>ls -ld /home/ユーザー名</code><br># <code>ls -la /home/ユーザー名/.ssh</code></td><td>他人から中身が見えないか<br>(権限 700 / 600 推奨)</td></tr><tr><td><strong>④ 通信</strong></td><td>Firewall設定</td><td># <code>firewall-cmd --list-all</code></td><td>意図しないポート解放<br>不要なサービスの許可</td></tr></tbody></table></div></figure>



<p>※ <strong>③の補足:</strong> <code>ユーザー名</code> の部分は、ステップ②で確認した「現在使用しているユーザーID」（例: <code>test1</code> や <code>admin</code>）に書き換えて実行してください。</p>



<h2 class="wp-block-heading">診断手順</h2>



<p>情報を集めたら、Gemini等のAIチャットに投げます。 ポイントは、「運用を続けているサーバーなんだけど、今の設定でセキュリティ的に甘くなってない？」というニュアンスで聞くことです。</p>



<h3 class="wp-block-heading">プロンプト</h3>



<p>以下のテキストをコピーし、<span class="bold-red">（ ）内</span>をご自身の環境に合わせて書き換えて送信してください。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-background has-text-color has-border-color has-cocoon-white-color has-cocoon-black-background-color has-cocoon-black-border-color">
<p class="has-cocoon-white-color has-text-color has-link-color wp-elements-c1ed2de5aa5fdec66349715ff8c42d8e">### 前提条件<br>あなたはLinuxサーバーのセキュリティ監査の専門家です。<br>現在、長期間運用しているサーバーの設定に「不備」や「不要な設定」が紛れ込んでいないか、脆弱性診断を行いたいです。<br>以下の「現状の設定値」を厳しくチェックし、ハッカーに狙われそうな穴を指摘してください。</p>



<p class="has-cocoon-white-color has-text-color has-link-color wp-elements-4f561bbc2934c74f6c0c61671caa875c">### サーバーの運用状況</p>



<ul class="wp-block-list">
<li>OS: Linux (RHEL/AlmaLinux系)</li>



<li>認証ポリシー: SSHは公開鍵認証のみ（パスワード認証は絶対NG）</li>



<li>権限ポリシー: 各ユーザーのデータは、他ユーザーから一切見えないようにする(700推奨)</li>



<li>現状の懸念: 運用中の設定変更やアップデートで、ポリシー違反が起きていないか心配</li>
</ul>



<p class="has-cocoon-white-color has-text-color has-link-color wp-elements-bd683496ad4f573e9582a85ddc2cead2">### 診断対象データ<br>&#8221;&#8217;<br><span class="bold-red">(ここにコマンド結果を貼り付け)</span><br>&#8221;</p>



<p class="has-cocoon-white-color has-text-color has-link-color wp-elements-02d6e4c718cbf49bce52a7ce9f6bcc92">### 脆弱性スキャン依頼</p>



<ol class="wp-block-list">
<li>SSHの先祖返り: OSのアップデートや設定ミスで、PasswordAuthentication が yes になっていたり、意図しない Include ファイルで設定が上書きされている箇所はありませんか？</li>



<li>権限の緩み: 提示した ls の結果を見てください。ホームディレクトリや .ssh 内のファイル権限が 700 (drwx&#8212;&#8212;) や 600 (-rw&#8212;&#8212;-) よりも緩くなっていませんか？ また、所有者が root になってしまっているファイルはありませんか？</li>



<li>忘れ去られたポート: Web(80/443)とSSH以外のポートが開いていませんか？ 特に検証用によく使うポートなどが開きっぱなしになっていないか確認してください。</li>
</ol>
</div>



<figure class="wp-block-image size-full has-custom-border"><img fetchpriority="high" decoding="async" width="963" height="704" src="https://oi-systems.net/wp-content/uploads/2025/12/image.png" alt="" class="has-border-color has-cocoon-black-border-color wp-image-1673" style="border-width:1px" srcset="https://oi-systems.net/wp-content/uploads/2025/12/image.png 963w, https://oi-systems.net/wp-content/uploads/2025/12/image-300x219.png 300w, https://oi-systems.net/wp-content/uploads/2025/12/image-768x561.png 768w" sizes="(max-width: 963px) 100vw, 963px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">発見事例</h2>



<p>実際に、数年運用している私のサーバーを診断させた際、AIに指摘されて「ヒヤッとした事例」を4つ紹介します。</p>



<h3 class="wp-block-heading">1. 丸見えだったデータベース</h3>



<p><strong>【AIの指摘】</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>「Firewallの <code>services</code> に <code>mysql</code> が含まれています。これはデータベースのポート（3306）がインターネットに対してフルオープンになっていることを意味します。外部からの総当たり攻撃（ブルートフォース）のリスクが極めて高い状態です。」</p>
</blockquote>



<p><strong>【その原因】</strong> 開発ツールからDBに直接接続したくて、一時的にポートを開放し、そのまま閉じるのを忘れていました。 指摘を受けてすぐにポートを閉じ、SSHポート転送（トンネリング）経由での安全な接続に切り替えました。</p>



<h3 class="wp-block-heading">2. 権限不備（755問題）</h3>



<p><strong>【AIの指摘】</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>「<code>ls -ld /home/test1</code> の結果が <code>drwxr-xr-x (755)</code> になっています。これでは、同じサーバーにログインできる他のユーザーから、ファイル一覧が見放題です。」</p>
</blockquote>



<p><strong>【その原因】</strong> これ、完全に記憶から抜けていました。 半年前にトラブル調査をした際、一時的に権限を緩め、戻すのを忘れていたんです。AIに言われるまで、一生気づかなかったと思います。</p>



<h3 class="wp-block-heading">3. 所有者ミス</h3>



<p><strong>【AIの指摘】</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>「<code>.ssh/authorized_keys</code> の所有者が <code>root:root</code> です。これだと、ユーザー <code>test1</code> でログインしようとしても、権限不足で鍵を読み込めず認証エラーになります。」</p>
</blockquote>



<p><strong>【その原因】</strong> 新しくユーザーを追加した際、急いでroot権限で作業してコピーしたのが原因でした。 「セキュリティ」以前に「ログインできない」という初歩的なミスですが、ログを見る前にAIが予言してくれたおかげで、手戻りを防げました。</p>



<h3 class="wp-block-heading">4. 設定上書き</h3>



<p><strong>【AIの指摘】</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>「<code>sshd_config</code> 本体ではパスワード認証を拒否していますが、末尾で <code>Include</code> を読み込んでいます。読み込み先で <code>PasswordAuthentication yes</code> が設定されていると、そちらが優先されます。」</p>
</blockquote>



<p><strong>【実際の状況】</strong> 最近のOSでは、この <code>Include</code> がデフォルトで有効になっています。 ここを見落としていて、実はパスワード認証が生きている……なんてケースは本当によくあります。ここを的確に突いてくるのは、さすがAIといったところです。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>サーバーの設定ファイルは、書いて終わりではありません。運用している限り、常に変化し、散らかっていくものです。</p>



<p>「自分はミスをしない」と過信するより、「人間はミスをするし、忘れる生き物だ」と認めて、AIに定期的にダブルチェックしてもらう。 この方が、精神衛生上もセキュリティ上も圧倒的に健全です。</p>



<p>ぜひ、次のメンテナンスのタイミングで、サーバーの設定ファイルをAIに投げてみてください。 「うわ、こんな設定残ってたっけ？」という発見が、きっとあるはずです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://oi-systems.net/archives/1653/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
