FRL 自由研究ラボ

AIエージェントことはじめ — LAB 007

スタバで仕事がしたかった

— 外に持ち出すと決めた日から —

MacBook を買った理由は、カフェで作業したかったから。それだけでした。 席について店の Wi-Fi につないだ瞬間に、ふと思ったんです。 ——この電波、ほかに誰が聞いているんだろう。 持ち出すと決めた日から、守るものが2つに増えます。

この記事を読むとできること

  • 何をどの順番で怖がればよいかが分かります
  • Mac に最初から付いている守りが入っているか、自分で確かめられます
  • 家の Mac へ外から入る道を、入口を開けずにつくれます

想定している使い方

MacBook を持ち出して使う人向けです。主に Mac の設定画面と、ターミナル(文字で命令を打ち込むアプリ)への貼り付けで進めます(iPhone の設定も使います)。 説明はすべて Mac が前提です。

この記事の道順

  1. はじめに — 守るものが2つに増える
  2. STEP 1 — 公衆 Wi-Fi での振る舞いを決める
  3. STEP 2 — 覗き見に備える
  4. STEP 3 — 持ち出すコンピュータそのものを固める
  5. STEP 4 — 家の Mac への経路をつくる
  6. STEP 5 — 自作アプリの待ち受けを直す
  7. やらなくていいこと
  8. いまの状態を測る
  9. つまずき集(症状から引く)
  10. よくある質問
  11. 知っておくと便利な知識(怖がる順番)
  12. 次の一歩

※ LAB 005(git をひとりで使う) までを終えている前提ですが、この記事だけ読んでも成り立ちます。

読む目安:約12分 ・ 手を動かす目安:約40分(STEP 1〜5)

INTRO

家の中だけで使っていたときは、考えなくてよかった

家に置いた Mac 1台で作業していたころ、セキュリティのことはほとんど考えていませんでした。 自宅の Wi-Fi につながっているのは自分のコンピュータだけで、外からの入口も開けていない。 閉じた部屋の中で完結していたからです。

それが、MacBook を1台足した瞬間に変わりました。 守る対象が「持ち出すコンピュータそのもの」と 「家に置いてきた本体へつなぐ経路」の2つに増えます。

これまで(家の中だけ) 自宅の Wi-Fi Mac mini 1台で完結 外に向いた面が無い だから考えなくてよかった MacBook を足す これから(持ち出す) ① 持ち出すコンピュータ MacBook / iPhone 外の電波・人の目の中へ ② 家への経路 外から本体へつなぐ道 作り方を間違えると入口になる 守る対象が2つに増える この記事は、この2つの話です ②は「2台目を持った人」だけの話に見えますが、iPhone から家の Mac を触りたくなった時点で同じ話になります。

図の見方:左の枠は、家の中だけで使っていたころです。Mac mini が1台あるだけで、外に向いた面がありません。 右の枠は MacBook を足したあとで、守る対象が2つに増えています。

次の STEP 1 から手を動かします。怖がる順番の考え方は、巻末の 「知っておくと便利な知識」にあります。

01

STEP 1 — 目安 5分(決めるだけ)

公衆 Wi-Fi での振る舞いを決める

「カフェの Wi-Fi は危ない」とよく言われますが、何がどう危ないのかは あまり説明されません。実際に起きるのは3つです。 アクセスポイントは Wi-Fi の電波を出す機器、https は通信を暗号化する仕組み (アドレスが https:// で始まるサイト)のことです。 また、この記事の「鍵マーク」は2種類あります。Wi-Fi の名前の横の鍵は「パスワード付きの電波」の印、 アドレス欄の鍵は https の印で、別のものです。

① 暗号化されていない電波 あなた 店の電波 同じ電波を拾う人 鍵マークの無い Wi-Fi では、 同じ店内の他人に届いている ② 偽のアクセスポイント Cafe_Free_WiFi Cafe_Free_WiFi どちらが本物か、見た目では分からない 誰でも同じ名前の電波を出せる。 つないだ通信は、全部その人を通る ③ https が守る範囲 中身(打った文字・見た内容) 守られる どのサイトに行ったか 隠れない いまはほぼ全部 https なので、 ①の怖さは昔より小さい

上から順に、店の Wi-Fi で起きる3つのことを描きました。いちばん怖いのは②です。①は https の普及でかなり防げますが、②は「つないだ相手そのものが偽物」なので、 アドレス欄に鍵マークが出ていても安心できません(偽のログイン画面を出されると見分けがつきません)。 だから最も強い対策は、暗号化を確かめることではなく、そもそも店の電波を使わないことです。

決めることは1つだけ:優先順位

店の電波の使い方を、強い順に3つ並べます。上から選べるものを選んでください。

1番 iPhone のテザリングを使う

テザリングは、iPhone の回線を経由して MacBook をネットにつなぐ機能です。自分専用の回線なので、①の電波の盗み見も②の偽アクセスポイントも最初から起きません。 これが一番強く、一番簡単です。

2番 VPN を通す

VPN(通信をまるごと暗号の管に包んで送る仕組み)を通せば、店の電波は使っても、中身は包んでから流れます。ただし信用できる提供元を選ぶ必要があります。

3番 店の Wi-Fi をそのまま使う

鍵マーク(アドレス欄に出る鍵の印。通信が暗号化されている合図)のあるサイトだけにします。 銀行・パスワード変更・カード入力はしません。

iPhone の「設定」で「インターネット共有」をオンにし、 MacBook の Wi-Fi 一覧から自分の iPhone を選ぶだけで使えます(名称は iOS の更新で変わることがあります)。

「ギガが心配」と思うかもしれませんが、 文字を書く作業の通信量は驚くほど小さいです。重い動画や大きなファイルは、カフェでやらなければいいだけです。 私は結局、店の Wi-Fi をほとんど使わなくなりました。

「同意します」の画面には気をつけてください。 店の Wi-Fi につなぐと出てくる同意画面は、本物と偽物の区別がつきにくい場所です。 そこでメールアドレスやパスワードを入力しない、とだけ決めておけば十分です。

02

STEP 2 — 目安 5分

覗き見に備える

技術の話をひとつもしないのに、実際にいちばん起きやすいのがこれです。 特別な道具も知識も要らず、ただ見るだけで成立します。

① 離席するときのロック(最重要)

トイレに立つ3分が、いちばん危ない時間です。画面を開いたまま離れると、操作されます。 ⌘(コマンド)+ control + Q でその場ですぐロックできます。

② 席の選び方

背中を壁に向けるのがいちばん効きます。 通路側・後ろが広い席は、自分から見えない角度に何人もいます。座る場所を変えるほうが、道具を買うより早いです。

③ プライバシーフィルター

斜めからは真っ黒に見えるフィルムです。効果は確実ですが、 正面からは普通に見えるので、ロックや席の選び方の代わりにはなりません。 その2つをやったうえでの上積みと考えてください。

④ 聞かれていることも忘れない

音声入力や通話は、画面より広く届きます。 見られない対策をしても、話していたら同じです。 カフェでは声を使う作業を避ける、と決めておくと単純です。

✓ ここまでの確認: 席を立つときに手が勝手に ⌘ + control + Q を押すようになっていれば、 この STEP は身に付いています。

03

STEP 3 — 目安 10分

持ち出すコンピュータそのものを固める

ここで入れるスイッチは2つだけです。FileVault(ディスクの中身を暗号化して、盗まれても読めなくする機能)と、ファイアウォール(外からの接続を門前払いする機能)です。どちらも macOS に最初から付いています。 Gatekeeper と XProtect(怪しいアプリを止めたり見つけたりする仕組み)は、何もしなくても最初から働いています。下の図のとおり、この3つは別々の事故に対応しています。

起きること 守るもの 確かめ方 ① コンピュータごと盗られる 置き忘れ・置き引き・紛失 FileVault 中身を読めなくする fdesetup status 持ち歩くなら必須 ② 同じ電波からつながれる カフェの他の客から見える ファイアウォール 外から入る扉を閉じる socketfilterfw 公衆 Wi-Fi では必須 ③ 怪しいアプリが入り込む いわゆるウィルス Gatekeeper / XProtect 最初から働いている spctl --status ふつうは何もしなくてよい ③だけ色を薄くしてあるのは、放っておいても効いているからです。①②は自分で入れる必要があります。

3-1. 画面から入れる(こちらが確実)

画面左上のアップルマークから「システム設定」を開き、次の2つをオンにします。

FileVault

「プライバシーとセキュリティ」→「FileVault」の順に開いてオンにします。 途中で、復旧キー(パスワードを忘れたときの代わりになる鍵)の扱いを選ぶ画面が出ます。 復旧キーを作る選び方をしたら、表示されたキーを紙に書くか、パスワード保管アプリに入れて、Mac の外に控えてください。

ファイアウォール

「ネットワーク」→「ファイアウォール」の順に開いてオンにします。

ほかに2つ、盗まれたあとのための備えがあります(上の図の3つとは別枠です)。 「ユーザとグループ」で自動ログインをオフにすると、再起動されてもパスワード無しでは開けません。 「Apple アカウント」→「iCloud」→「Mac を探す」をオンにすると、位置を探したり、中身を消したりできます。まとめて入れておいてください。

3-2. いま入っているか、まとめて確かめる

ターミナル(Mac に最初から入っています。開くには ⌘(コマンド)+ スペース を押し、ターミナル と打って出てきたものを開きます)に貼って(下の枠の「コピー」を押し、⌘+V で貼ります)Enter を押せば、設定画面を開かずに確かめられます。

fdesetup status
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
spctl --status

それぞれ On / enabled と出ていれば大丈夫です(3行目は Gatekeeper の確認で、入れる操作はありません)。 復旧キーを作った場合、無くすとパスワードを忘れたときに自分でも開けなくなります。Mac の外に控えたか、いま確かめてください。

FileVault は、据え置きの Mac なら「入れたほうがいい」程度ですが、 持ち歩くなら必須です。盗まれたコンピュータは、電源を切られたあと何時間でも調べられるからです。

04

STEP 4 — 目安 15分 / この記事の山場

家の Mac への経路をつくる(入口は開けない)

外から家の Mac を触りたい——そう思ったとき、多くの人が最初に調べるのが 「SSH を開ける」「画面共有を開ける」です。 動くことは動きます。ですが、これは家の玄関を作って、住所を世界に公開するやり方です (外からの攻撃をどう考えるかは、巻末の「知っておくと便利な知識」に書きました)。

SSH(エスエスエイチ)とは、離れたコンピュータへ文字だけの命令を送って操作する仕組みです (「画面共有」は画面ごと映します)。 ただし、「自分が使えるようにする」ことと「誰からでも使えてしまう」ことは同じ設定の裏表です。 この扉を開けると、家の住所にあたる IP アドレス(ネット上の番号)を知る誰からも、扉が見えるようになります。

鍵は、パスワードを複雑にしたり、公開鍵 (自分だけが持つ鍵と、相手に渡してよい鍵を分けて使う、破られにくい仕組み)に変えたりして強くできますが、 扉があること自体は隠せません。扉の作りに穴が見つかれば、鍵の強さは関係なくなります。

✕ 入口を開ける(SSH・画面共有) 家の Mac 開いた扉 インターネット全体 扉があることは誰からも見える 知らない相手から、一日中叩かれる 守りは「鍵の強さ」だけ ・パスワードを強くする ・公開鍵にする = 攻撃される面は増えたまま ○ 専用の通り道をつくる(Tailscale) 家の Mac 扉は閉じたまま 自分から外へつなぐ インターネット全体 外から見える扉は無い 叩く場所そのものが存在しない MacBook / iPhone 同じアカウントのコンピュータだけ 互いに見えるようになる 両方が「自分から外へ」つなぐので、どちらにも入口を開けずに済む

4-1. なぜこれで成り立つのか

両方のコンピュータが「自分から外へ」つなぎに行くので、 どちらも待ち受けず、外から見える扉はゼロのままです。 そのうえで、同じアカウントで入れたコンピュータ同士だけが互いに見えるようになります。 SSH も画面共有も、閉じたままで構いません。 この道を通して、家の Mac の自作アプリ(STEP 5)をブラウザで開きます。開き方は LAB 008 で説明します。

4-2. 入れる

家の Mac と、持ち出すコンピュータ(MacBook・iPhone)の両方に Tailscale(自分のコンピュータ同士だけを安全に直結するアプリ。Mac は tailscale.com から、iPhone は App Store から入れます)を入れて、 同じアカウントでログインします(Google や Apple などのアカウントで登録できます。持ち出す側も、必ず家の Mac と同じアカウントで入ります)。個人で使う範囲なら無料の枠で足ります。 入れ終わると、それぞれのコンピュータに 100. で始まる専用の番地が振られます。 これは自分のコンピュータ同士でしか使えない番地で、外の誰かが辿り着けるものではありません。

✓ ここまでの確認: カフェの Wi-Fi につないだ MacBook で Tailscale のアプリ(Mac では画面上端のメニューバーにあるアイコン)を開くと、家の Mac が一覧に出て、その番地が見える(この道で家の Mac のアプリを開くのは LAB 008)。 それでいて、家のルータ(家のネット回線の出入口の機器)には何ひとつ穴を開けていない。

全部を外へ出す必要はありません。 自作アプリのうち、特に大事な情報を扱うものだけは意図的に外へ出さない、という決め方もあります。 家の Mac の前に座ったときしか開けない、と決めておく方法です。 便利にできるからといって、全部を便利にしない——これは後の記事でも繰り返し出てくる考え方です。

05

STEP 5 — 目安 5分 / 自分で道具を作る人だけ

自作アプリの待ち受けを直す

AI に道具を作らせていると、画面のあるアプリ——ブラウザで開くもの——が増えてきます。 このとき、1行の書き方の違いで、カフェの他の客から自分のアプリが開けてしまいます。

「待ち受け」とは、アプリが外からの接続を受け付ける窓口になることです。AI は何も言わずに 0.0.0.0 と書くことがあります。 これは「どの入口からでも受け付ける」という意味で、同じ Wi-Fi にいる全員が対象に含まれます。 一方の 127.0.0.1 は「自分自身」だけを指す番地で、外からは届きません。 なお、下の図にある :8050 のようなコロンのあとの数字はポート番号(アプリごとの窓口の番号)です。

✕ 0.0.0.0 で待ち受ける 自分のアプリ 0.0.0.0:8050 自分の MacBook 隣の席の人のPC 同じ Wi-Fi にいる全員が開ける カフェでは、それが見知らぬ他人になる ○ 127.0.0.1 で待ち受ける 自分のアプリ 127.0.0.1:8050 Tailscale が 自分のコンピュータにだけ 取り次ぐ アプリ自身は自分の Mac の中しか向いていない 外から届くのは、STEP 4 の通り道を通ったものだけ 外に出す仕事は、アプリではなく Tailscale に任せます。アプリは「自分の中だけ」を向いていればよい。 役割を分けておくと、うっかり公開してしまう事故が起きなくなります。 ※ 家の中だけで使うアプリなら、そもそも外へ出さないという選択もそのまま残せます。

直し方は1行です。AI に頼むなら、どのアプリのことかを添えて、これで通じます。

このアプリの待ち受けを 0.0.0.0 から 127.0.0.1 に変えて。
理由も1行コメントで残して。

いま何が外を向いているかは、STEP 3-2 と同じようにターミナルへ貼る次の1行で見られます。 各行の右のほうに 127.0.0.1:8050 や *:8050 のような「番地:ポート番号」が出るので、 番地の部分が 0.0.0.0 や * になっている行が、その対象です。

lsof -nP -iTCP -sTCP:LISTEN

✓ ここまでの確認: 一覧に出てくる自分のアプリが、すべて 127.0.0.1 になっている。 Apple の機能(AirDrop や連係)が別の行で出てきますが、それは気にしなくて構いません。

SKIP

やらなくていいこと

満たしていない=危ない、ではありません。 この構成では要らないと判断したものを、理由つきで挙げます。

よく勧められるもの やらない理由
ステルスモード(ファイアウォールの設定のひとつ) 呼びかけに返事をしなくなるだけ。扉が閉まっているなら、返事の有無は関係ありません
SSH を強化する STEP 4 の方式ならそもそも開けません。開けないものを強化する作業は発生しません
市販のウィルス対策ソフト 個人で普通に使う範囲なら、macOS が持っている仕組みで足ります。動作が重くなる副作用のほうが確実
チェックリストに手で丸を付ける 付けた瞬間から古くなります。次の節のように、開くたびに測り直す形にします

大事なのは、やらない理由を書き残しておくことです。 書いていないと、半年後の自分が良かれと思ってやり直します。

MEASURE

いまの状態を測る

ここまでを1回やれば、当面の備えは済みます。問題は半年後で、OS の更新などで外れていることがあります。

なので私は、開くたびに測り直す小さな画面を自分用に作りました。同じ Mac でも「持ち出すかどうか」で合否の基準を変えています。

バッテリーを積んでいるか=持ち出すコンピュータか、で判定を変える 据え置き(Mac mini) 持ち出す(MacBook) FileVault 入れたほうがよい 必須 ファイアウォール あると安心 必須 外を向いた待ち受け 家の中だけの話 他人の電波に晒される つないでいる Wi-Fi だいたい自宅で固定 毎回変わる = 毎回見る 「全部の Mac に同じ基準を当てる」のをやめると、本当に必要な所だけに手が入るようになります。

判定の分かれ目は、バッテリーを積んでいるかどうかだけです。それで「このコンピュータは持ち出される」と決めています。単純ですが、外したことがありません。

同じ画面を作らなくても、STEP 3-2 の3行と STEP 5 の1行を半年に一度ターミナルへ貼って見直すだけで、主な項目は確認できます(Wi-Fi は、つなぐたびに自分で見ます)。

TROUBLE

つまずき集(症状から引く)

起きていること 原因 どうするか
外から家の Mac につながらない 家の Mac が眠っている 据え置きの Mac はスリープしない設定にしておく(システム設定の電源の項目。呼び名は OS で変わります)。持ち出す側は眠ってよい
家では開けるアプリが、外から開けない そのアプリを外へ出す設定をしていない 出すアプリは1つずつ指定する。一覧に足しただけでは効かず、反映の操作が要る(やり方は次の記事 LAB 008 で説明します)
Wi-Fi の名前が「非表示」と出る アプリ(自作の確認画面など)が Wi-Fi 名を読もうとしても、位置情報の許可が無いと名前が伏せられる仕様 故障ではない。名前が見えなくても、一覧に並ぶ鍵マークの有無は見て判断できる
FileVault を入れたら起動が遅くなった気がする 最初の暗号化が裏で走っている 終われば戻る。電源につないで放置
ファイアウォールでアプリが通信できない そのアプリが受信を待っている 出てきた確認で許可する。身に覚えのないものは拒否
自作アプリが起動しなくなった 待ち受けの番号(ポート)が、別のアプリと重なっている lsof -nP -iTCP -sTCP:LISTEN で誰が使っているか見る
設定したはずが、別の Mac では外れている 設定はコンピュータごとで、同期されない 2台とも同じ手順を通す。これは次の記事の主題です

FAQ

よくある質問

結局、カフェの Wi-Fi は使っていいのですか?

使ってもいいですが、テザリングがあるならそちらが確実に楽です。私は「銀行とパスワード変更はカフェでやらない」とだけ決めて、あとは考えないようにしました。毎回悩む仕組みは続きません。

Mac はウィルスに強いと聞きますが、本当ですか?

「強い」というより、最初から対策が組み込まれていて、何もしなくても働いているという表現が近いです。ただし自分で「開く」と押したものは通ります。いちばんの穴は、仕組みではなく操作する人です。

VPN は入れたほうがいいですか?

店の Wi-Fi を使うなら有効です。ただし通信の中身を全部そこに預けることになるので、提供元を選ぶ必要があります。「無料」を選ぶくらいなら、テザリングのほうが素直です。STEP 4 の仕組みは自分のコンピュータ同士をつなぐもので、通信を守る VPN とは別物です。

1台しか持っていなくても意味がありますか?

STEP 1〜3 は、持ち出すなら1台でも全部効きます(STEP 5 は自分でアプリを作る人だけの話です)。STEP 4 だけが2台目以降の話ですが、iPhone から家の Mac を触りたくなった時点で自分の話になります。

ここまでやれば安全ですか?

「安全」とは言えません。言えるのは「よくある事故のうち、起きやすいものから順に塞いだ」までです。測れるのは設定が入っているかどうかまでで、その設定が本当に効いているかは別です。

TIPS

知っておくと便利な知識

怖がる順番を直しておく

セキュリティの話でいちばん無駄が出るのは、怖がる順番が実際と合っていないときです。 「ウィルスが怖い」と言いながら、カフェで画面を丸見えにしている——これは順番が逆です。

よく怖がられている順 1. ウィルスに感染する 2. 外部から攻撃される 3. 画面を覗かれる 実際に起きやすい順 1. 覗き見 — いちばん低技術で、いちばん現実的 2. 偽のアクセスポイント 3. 暗号化されていない電波の盗み見 4. 紛失・盗難(コンピュータごと持っていかれる) 5. ウィルス — macOS は最初から対策を持っている 6. 外部からの攻撃 — 入口を開けていなければ入れない

図の見方:左の列が「よく怖がられている順」、右の列が「実際に起きやすい順」で、線は同じ事柄の行き先を結んでいます。

いちばん下の2つが、いちばん誤解されています。 ウィルスは、macOS が Gatekeeper と XProtect(STEP 3)を最初から持っていて、 こちらが何もしなくても働いています。 外部からの攻撃は、そもそも入口(開いているポート=外からの接続を受け付ける差込口)が無ければ入れません。 怖いのは「攻撃される」ことではなく、便利さのために自分で入口を開けてしまうことです(STEP 4)。

NEXT

次の一歩

今日は STEP 2(覗き見)と STEP 3(スイッチ2つ)だけでも構いません。 合わせて15分ほどで、効き目が大きいところです。STEP 4 は、外から家の Mac を触りたくなってからで間に合います。

  • 席を立つときに ⌘ + control + Q を押す癖をつける
  • FileVault とファイアウォールを入れる(持ち歩くなら必須)
  • やらないと決めたことも、理由ごと書き残しておく

LAB 008

2台の Mac と iPhone で持ち歩く

守りが決まったので、次は中身を持ち歩きます。 AI との会話はどこを通るのか。電車の中でコードは書けるのか——結論は「書けない。でも頼める」です。 iPhone を頼む端末として使う話をします。

※ 設定画面の名称や場所は macOS の更新で変わることがあります。この記事は実際に使っている構成をもとにしていますが、 安全を保証するものではありません。会社のコンピュータでは、勤め先の方針が優先されます。