問題の発生メカニズム
Ollamaはデフォルトで127.0.0.1:11434ポートをリスニングするが、これはループバック専用であり外部からはアクセスできない。ネットワーク内の別デバイスやスマートフォン、別のコンピュータ、あるいは外部で稼働するコーディングエージェントからアクセスさせるには以下の対処法が一般的だ。
11434ポートはローカルネットワーク内だけでなくインターネット全体からもアクセス可能になる。デフォルトでは認証機能が備わっていないため、該当ポートを発見した者は誰でも直接APIを呼び出せる。モデル一覧の取得や推論実行が可能であり、ツール呼び出し機能を備えたホストであればコード実行も引き起こせる可能性がある。
これこそがShodanやCensysといった大規模スキャンツールが探し出そうとするパターンだ。標的型攻撃は不要で、単なるポートスキャンだけで発見可能なのである。
これはOllamaの欠陥ではなく設定上の問題だ。バインドアドレスが全インターフェースに設定され、ポートが開放またはフォワーディングされ、認証機能が備わっていないという状況はOllamaに限らずあらゆるローカルモデルサーバーにも当てはまる。
なぜ「認証機能を追加するだけ」では不十分なのか
Putting a reverse proxy with basic auth in front of0.0.0.0:11434 helps, but it doesn’t remove the underlying condition: the port is still listening, and something in your network path still has to be reachable from the outside for that proxy to work. Every inbound-facing component — the proxy, the firewall rule, the port forward, the TLS cert — is one more thing that has to stay correctly configured forever. Misconfigure any of them once, or roll one back during debugging, and you’re back to an open port.
別の選択肢としては、受信用ポートを全く用意しないという方法もある
Tokiosでは別のアプローチを採用している。モデルと並行して実行されるtokios-connector は受信トラフィックを一切受け付けない。代わりに単一の送信用 wss:// 接続を https://api.tokios.com へ確立する。これはブラウザがウェブページを読み込む際に用いる方向と同じだ。Tokiosはその接続経由でリクエストをルーティングする。転送すべきポートもなければ、開放すべきファイアウォールルールもなく、0.0.0.0 にバインドされる要素も存在しない。
モデルに到達するすべてのリクエストには、スコープ付きの sk-tok-… APIキーが含まれていなければならない。Tokiosはそのキーを確認した上でようやくトンネル経由でコネクターへリクエストを転送する。このキーは特定のデプロイやモデル名パターンに紐付けて設定可能で、ローテーションや無効化、削除も可能だ。無効化されたキーは即座に認証機能を失う。
この仕組みの意味と限界を正確に述べると、送信専用のコネクターにはそもそも受信用のインターフェースが存在しない。これは接続モデル上の構造的違いであり、セキュリティ上の保証を意味するものではない。Tokiosは、本サービスを通じて公開されたモデルが悪用される可能性を完全に排除すると主張しているわけではない。APIキーの漏洩は他の場所でのパスワード漏洩と同様に依然としてリスクとなる。ここでの主眼はより機械的かつ限定的な点にある。つまりスキャナーが発見できるような受信用ポートがそもそも存在しないのだ。
実際の動作イメージ
1
デフォルト通りループバック上でOllamaを実行する
OLLAMA_HOST override, no bind-to-all-interfaces flag.2
コネクターをペアリングする
tokios-connector が https://api.tokios.com へ接続を試み、コンソール上で承認を求める。この手順によってマシンやルーター上にポートが開かれることは一切ない3
どこからでもモデルを呼び出せる
sk-tok-… キーを提示しなければ、リクエストはコネクターに到達できない。要点まとめ
The 175,000-host figure is a scan result, not a prediction about any specific server. But the pattern behind it is simple and worth remembering regardless of the exact count: inbound reachability plus no auth is the whole problem. Removing the inbound part removes an entire category of “how did they even find this” incidents, because there’s nothing listening to find.クイックスタート
コネクターをペアリングし、モデルを登録した上で最初のリクエストを送信しましょう。
Ollamaのリモートアクセス設定
既に外部公開済みのOllamaインスタンスをループバック接続に戻し、代わりにTokios経由でアクセスする方法です。
Tokiosがリクエストをルーティングする仕組み
アウトバウンド専用アーキテクチャの全体像を確認できます。