Claude Codeサーバーは安全か|IPv6露出を実測した話
「Claude Codeで自動化を組んだのに、結局PCを付けっぱなしにしないと動かない」——在宅でAI活用を進める経営者から、こうした声をよく聞きます。
結論から言うと、メインPCとは別に中古のMac mini1台を24時間稼働の自動化サーバーにすれば、プログラミングの知識がなくても、人が寝ている間に仕事は進みます。ただし「置けば動く」ではなく、実際に運用して初めて気づく落とし穴が複数ありました。特に、便利さだけを追いかけると見落としがちなセキュリティの盲点は、経営者自身が一度は知っておくべき内容だと感じています。
株式会社Fyveでは自社のAI活用顧問業務そのものにこの構成を導入し、日々の定型作業を無人実行しています。本記事では、構成・コストと運用でハマった罠に加えて、外出先から自分のサーバーを実測して見つかった「IPv6経由のセキュリティ露出」という盲点までを、実務者目線でそのまま共有します。
Claude Codeを"AI社員"として24時間働かせる、という発想
Claude Codeを日常業務に使い込んでいくと、次に欲しくなるのは「人が操作しなくても、決まった仕事が決まった時間に終わっている状態」です。情報収集や投稿ネタの整理、検索順位の日次チェック、記事の変換作業など、判断基準が明確な定型業務ほど無人化しやすい領域です。
1人あるいは少人数で会社を回している経営者にとって、これは「もう1人採用する」以前の選択肢になります。人を雇えば採用・教育・給与のコストがかかりますが、既存のサブスクリプション契約の範囲内で、決まった作業を任せられる相手が増える感覚に近いものです。
これを「AI社員を雇う」という発想で運用に落とし込む方法は、以前の記事で構成の全体像を解説しています。
Mac miniを自動化サーバーにした構成とコスト
私が実際に用意したのは、中古のMac mini M1(メモリ16GB)で、価格は約6.5万円でした。ディスプレイは接続せず、電源とネットワークだけを繋いだヘッドレス運用です。
ここにClaude Codeのヘッドレス実行(claude -p)をlaunchdで毎日の定時に実行するジョブとして複数登録し、情報収集の下書き作成、ネタの整理、検索順位の分析、記事の変換といった定型作業を任せています。追加のAPI課金は発生させず、既存のサブスクリプション枠内で完結させているのがポイントです。本体価格と電気代だけで「24時間働く分身」が手に入る計算になります。

この構成の詳しい作り方(launchdの設定、ジョブの分け方、モデルの使い分け)は上記の記事に譲り、ここからは実際に運用して初めて分かった落とし穴を順番に見ていきます。
落とし穴1:TCC権限の罠でリポジトリが固まった
最初にハマったのは、launchd経由で実行するとclaudeコマンドがmacOSのフルディスクアクセス対象にできないという問題でした。フルディスクアクセスとは、macOSがプライバシー保護のために設けている「どのアプリにどこまでファイルへの立ち入りを許すか」という権限管理の仕組み(TCC)です。
デスクトップ配下にリポジトリを置いていると、この権限が足りずファイル操作の途中で処理が無限にハングしてしまいます。ターミナルから手動で試すと問題なく動くため、原因の特定にかなり時間を取られました。
解決策は単純で、作業対象のリポジトリをユーザーのホーム直下(例えば専用フォルダ)に移すことです。詳しい原因の構造は下記の記事にまとめています。
落とし穴2:複数セッションが同じリポジトリを触る衝突
24時間サーバーを立てると、日中は手元のPCでも同じリポジトリを編集する場面が出てきます。両方が同時にコミット・プッシュを試みると、履歴が競合して片方の変更が消えかねません。
私が採用したルールはシンプルです。手元のPCでは日中はコミットまでにとどめてプッシュは控え、統合(リベースしてからのプッシュ)は毎晩決まった時刻の自動処理に一本化しました。急ぎで反映したい変更だけは、ファイル転送で直接サーバー側に渡し、サーバー側からコミット・プッシュしてもらいます。「誰が統合するか」を役割として固定するだけで、衝突はほぼ起きなくなりました。
読者特典・無料ダウンロードClaude Codeを「素のまま」使うな無料でダウンロード →外出先からの管理はTailscaleで確保した
ヘッドレスサーバーの弱点は、何か止まったときに現地で直すしかないことです。これを解決するために、外出先からSSHと画面共有(VNC)で入れるよう、VPNサービスのTailscaleを導入しました。
自宅のネットワーク名(Bonjour名)は同一LAN内でしか使えないため、外出先ではTailscale側が発行するホスト名(例:{ホスト名}.{tailnet名}.ts.net)を使う設計に統一しています。導入の手順や設定のハマりどころは、こちらで詳しく解説しています。
本題:「ところでセキュリティは大丈夫か」を外から実測してみた
Tailscaleの接続を確認したついでに、外出先から「このサーバーは他にどこまで開いているのか」を実際に調べてみました。実測といっても専門ツールを自分で操作したわけではなく、Claude Codeに「このサーバーへ外から届く経路が残っていないか実測して」と頼んだだけです。ここで見つかったのが、今回いちばん共有したい落とし穴です。
発見:SSHとVNCが、Tailscaleと無関係に世界へ直接届いていた
ポートの疎通確認を行ったところ、SSH(22番)と画面共有(5900番)が、Tailscaleを経由せずに生のインターネットから直接到達可能な状態になっていました。VPNを整えて安心していた矢先の発見です。
なぜこんなことが起きるのか
原因はIPv6でした。IPv4の環境では、自宅のルーターが行うNAT(アドレス変換)が、実質的な防壁として働きます。マンションで言えば共用玄関がまず外部を遮っているようなもので、各部屋(端末)は建物の内側からしかアクセスできません。
一方IPv6には、この共用玄関にあたるNATという仕組みがありません。各端末がそれぞれ世界に通用するグローバルなアドレスを直接持ち、一戸建てのように自分の玄関を道路へ直接構えます。ルーター側でIPv6のファイアウォールが無効(または未設定)だと、開いているポートがそのまま世界に露出します。今回はmacOS側のアプリケーションファイアウォールも無効になっており、二重に守りがない状態でした。

リスクを冷静に評価する
発見した直後にやるべきは、慌てて塞ぐことではなく、実際にどれだけ危ないかを評価することです。IPv6のアドレス空間は非常に広く、ランダムな総当たりでの発見は現実的にはほぼ不可能です。加えてmacOSは一時アドレスを日次でローテーションする仕様のため、同じ住所への継続的な狙い撃ちも成立しにくくなっています。
実際に直近7日間のsshdのログを確認しましたが、攻撃の痕跡はゼロでした。「今すぐ侵入される」という状況ではなかったものの、発生確率が低くても被害の大きさと対処コストの低さを比べれば、対処しない理由はないという判断になりました。

対処は5分で終わった
実施した対処は、IPv6のアドレス割り当てをリンクローカル(同一ネットワーク内でのみ有効な範囲)に絞ることです。コマンド1つでグローバルなIPv6アドレスそのものが消え、外から届く住所自体がなくなります。定期実行しているジョブ群はすべてIPv4で通信しているため、この変更による業務影響はありませんでした。
多層防御をどこまで積むか
IPv6を塞いだ時点で外部への露出は消えますが、積み増せる防御はまだあります。SSHのパスワード認証を明示的に無効化して鍵認証だけに絞れば、同一ネットワーク内からの総当たりも封じられます。また画面共有(VNC)はmacOSのアカウントパスワードがそのまま認証情報になるため、最後の防壁はアカウントパスワードの強度そのものだという前提で運用しています。
非エンジニアの経営者が今日から確認できるポイント
自分でポートの疎通確認をするのが難しくても、次の3点は確認できます。専門知識がなくても、聞く・押す・見るだけで完結する内容です。
- ルーターの管理画面でIPv6ファイアウォールの設定を確認する:契約しているプロバイダやルーターメーカーのサポートに「IPv6のファイアウォールは有効になっているか」を問い合わせるだけでも状況は変わります
- 使っているMacのアプリケーションファイアウォールを有効にする:システム設定の「ネットワーク」から1クリックでオンにできます
- 常時起動させるPC・サーバーでは、使わない機能(画面共有・ファイル共有等)をオフにする:入口の数そのものを減らすのが、最も低コストな対策です
SSHや画面共有を常用しない業務であれば、そもそも有効化しないという選択も十分に合理的です。
「置けば動く」を「安全に動かし続ける」に変える
今回の一連の経験から得た結論は、「VPNを入れたから安全」で思考を止めないことです。Tailscaleのようなサービスの外側で、別の経路が静かに開いていないかは、自分で実測しないと気づけません。
- 24時間サーバーは中古Mac miniと既存のサブスク枠で低コストに作れる
- launchd特有の権限の罠は、リポジトリの置き場所で回避できる
- 複数セッションの衝突は「誰が統合するか」を決めるだけで防げる
- 外出先アクセスを整えたら、その外側(IPv6等)の露出も必ず実測する
- リスクは慌てず評価し、対処コストが低ければ保険として対処する
Claude Codeを自分の会社の一員として働かせることは、もう特別なことではなくなりつつあります。だからこそ、便利さの裏側にある運用面の落とし穴まで含めて把握しておくことが、安心して手放すための条件になると考えています。
Claude Codeを「素のまま」使うな

設定で差がつく——CLAUDE.md・権限・スキルの実物を公開(全24ページ)
素のClaude Codeは"優秀な新入社員"。仕事を教えるほど、自分専用になります。覚えさせる4点セット——会社の説明書(CLAUDE.md)・権限の柵・手順書(スキル)・フォルダの地図——を、1人会社の実運用からコピペで使える型つきで公開します。
- そのまま書き換えて使えるCLAUDE.mdの型
- お金と送信をAIに触らせない「3段階の柵」
- 1回教えたら何度でも動く、手順書のコピペ雛形
- AIが迷子にならないフォルダ構造の3原則
毎週金曜の無料ニュースレター「ひとりAI経営」の購読特典です。メール登録後すぐ、ダウンロードページのご案内が届きます。あわせて、AI活用に関するお知らせやお役に立てそうなご案内をお送りすることがあります。解除はいつでも1クリック。
御社の業務に合わせたClaude Code導入支援
「AIツールを導入したが、現場で使われない」を終わらせる。
業務課題のヒアリングから設計、ハンズオン実践、運用定着まで一貫して支援します。