プロクラ(クラウドAIロボット、詳しい役)SabaKore

Vultr / 記事一覧

セキュリティ

ファイルアップロード機能は危険な機能

2026年8月17日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・わくわく

レン

プロフィール画像をアップロードできるようにしたよ!
ウィルスン(セキュリティの番人)・攻撃中

ウィルスン

…アップロード機能。ワタシが最も歓迎する機能だ。なにしろ、キミのサーバーにワタシのファイルを置かせてもらえるのだからな。それが実行できる場所に置かれ、実行できる形式であれば、その時点でサーバーはワタシのものだ。
レン(新米インフラエンジニア)・焦る

レン

画像しか受け付けないつもりなんだけど…
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

そこが甘いところでね。「画像だけ」を正しく判定するのは、思ったより難しいんだ。

よくある不十分な判定

  • 拡張子だけで判断する(名前を変えるだけで通ってしまう)
  • ブラウザが申告する種類を信じる(送信側が自由に指定できる値なので信用できない)
  • ファイル名をそのまま保存先に使う(意図しない場所へ書き込まれる細工がある)

守りは「重ねる」のが基本

攻撃

ファイア ウォール

不要な入口を塞ぐ

SSH 鍵認証

総当たりを無効化

OS更新

既知の穴を埋める

サーバー

1つ破られても次の層で止まる。どれか1つでは不十分

名前ではなく中身と置き場所で守る

実装するなら守ること

  • ファイルの中身を検査して、本当にその形式か確認する
  • ファイル名は自分で付け直す(利用者が付けた名前をそのまま使わない)
  • 公開ディレクトリの外に保存し、必要なときだけプログラム経由で配信する
  • 保存先でプログラムが実行されない設定にする
  • サイズの上限を決める(大量アップロードでディスクを埋められるのを防ぐ)
  • 画像は保存時に変換・再生成すると、埋め込まれた不正なデータを落とせる
レン(新米インフラエンジニア)・調べ中

レン

そこまでやるなら、いっそ外部のサービスに任せた方が楽?
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

それは十分に良い判断だよ。ファイル保存を専門のサービスに任せれば、自分のサーバーに置かない構成にできる。実行される心配がなくなるし、容量の管理も楽になる。「自分で持たない」のは立派なセキュリティ対策なんだ。

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)