本文へスキップ
>_ITDITDセキュリティ対策プラットフォーム

学習

#入門#env#APIキー

セキュリティ超入門:.env と APIキーは何が危なくて、どう守るのか

「セキュリティは大事と聞くけど、まず何から?」という個人開発者向けの最初の一歩。.env とは何か、APIキーが漏れると何が起きるか(不正課金の流れ図解つき)、そして今日からできる最小限の守り方4つを、専門用語をかみ砕いて順番に説明します。怖がらせず、手を動かせる形で。

公開日 2026-06-07 更新日 2026-06-07 6分で読める

「セキュリティは大事と聞くけど、何から手をつければ?」——そんな個人開発者のための、いちばん最初の一歩です。怖がらせるためでなく、今日から手を動かせることだけを、順番に説明します。

なぜ「秘密の値」から始めるのか

実際に起きる事故の多くは、高度な攻撃ではなく**「秘密の値が漏れた」**ことから始まります。ITDが出発点にしている2つの事例も、どちらも秘密の漏洩でした:

つまり、秘密の値を守れれば、よくある事故の大半は防げます。だからここから始めます。

.env とは(30秒で)

.env(ドットエンブ)は、アプリが使う秘密の値をまとめた設定ファイルです。データベースのパスワード、外部サービスのAPIキー、セッションを暗号化する鍵などが入っています。1つのファイルに鍵が集まっているぶん、漏れると一気に全部漏れるので最優先で守ります(→ 用語:.env とは)。

APIキーが漏れると何が起きるか

APIキーは「あなたとして外部サービスを使うための合鍵」です。これが他人の手に渡ると、こう連鎖します。

① APIキーが漏れる(公開ディレクトリ・gitコミット・脆弱性経由)
↓ 時間差(数日〜)
② 第三者が“あなたとして”外部サービスを利用
③ 不正課金(大量利用)/データの読み書き/なりすまし
漏れた直後は静か。時間差で悪用され、ある日いきなり請求や被害が表面化する。

盗まれたキーは時間差で売買・悪用されることが多く、「漏れた直後は何も起きない→後日いきなり請求」というパターンが典型です。だから「気づいてから」では遅く、最初から漏らさないことが肝心です。

今日からできる4つの守り方

むずかしいことは要りません。まずこの4つだけ。

1

公開しない

.env やアプリ本体を、Webで見えるディレクトリ(公開ルート)に置かない。公開するのは public/ だけ。レンタルサーバーでの具体手順は この記事

2

コミットしない

.gitignore.env* を入れる(!.env.example は許可)。値の入っていない見本だけ共有。一度コミットすると履歴から復元できるので最初から入れない。

3

漏れたら全部替える

1個だけでなく、漏れた可能性のある鍵を全部ローテーション。優先順は「外部API・OAuth → 暗号鍵 → メール → DB」。見られた前提で動く。

4

自己点検する

自分のサイトで /.env が外から開けないか、ときどき確認する(下記)。

自己点検(自分の所有ドメインにだけ)

# 200 で本文が返ったら公開されている。403/404 なら一旦OK
curl -sI https://あなたのドメイン/.env | head -1
curl -sI https://あなたのドメイン/.git/config | head -1

公開のたびにこれを確認する癖をつけると、配置ミスを早期に発見できます。

やりがちな失敗 vs 正しい一歩

やりがち

  • とりあえず動いたから .env を public 直下に置く
  • 「あとで消すから」と .env を一度gitに入れる
  • 悪用が見えた1個の鍵だけ替える

正しい一歩

  • 本体は公開ルートの外、public/ だけ公開
  • 最初から .gitignore.env を除外
  • 漏れたら env の鍵を全部ローテーション

次のステップ

ここまで来たら、次は「自分のスタックの危ない初期設定」と「公開済みの脆弱性(CVE)に後れを取らないしくみ」です。焦らず1つずつ。

次に読む

よくある質問

Qセキュリティの勉強、何から始めればいい?
A

まず『秘密の値(.env と APIキー)を漏らさない』ことから。多くの実際の事故はここから起きています。公開しない・gitにコミットしない・漏れたら全部入れ替える・たまに自己点検する、の4つで大半を防げます。

QAPIキーが漏れると具体的に何が起きる?
A

他人があなたになりすまして外部サービスを使えます。よくあるのが不正課金(あなたの請求で大量利用される)や、データの読み書きです。漏れたキーは時間差で売買・悪用されることも多いです。

Q.env はgitに入れていい?
A

いけません。.gitignore に .env* を入れ、値を空にした .env.example だけを共有します。一度コミットすると、後で消しても git の履歴から復元できてしまいます。