ディレクトリトラバーサル攻撃の対策
ディレクトリトラバーサル攻撃の対策
定義
ディレクトリトラバーサル : Directory Traversalとは、
サーバー内の非公開ディレクトリへ不正アクセスすること。攻撃されると情報漏えいや改ざんなどの被害が考えられる。
対策
基本対策
- 非公開ディレクトリにアクセス拒否を設定(以下の例はapacheの場合) 以下の設定では、「/」以下全てのディレクトリをアクセス拒否設定した後、ドキュメントルート以下に対してすべてアクセス許可設定している。
<Directory /> Require all denied </Directory> <Directory /var/www/html> Require all granted </Directory>
$ chmod 700 ../private
入力データに対してサニタイズ処理
- 「/」を含むパス名を禁止する(「/」のエンコード値「%2f」も要注意)
- basename関数を使ってディレクトリ名を消す
WAF導入して不正アクセスを検知
不正アクセスを検知すると、403 Forbiddenを出して遮断してくれる。
他の対策もあるが、上記が一番よく使われて有効な対策であろう。