例:
・Webアプリで入力された文字のサニタイズの処理をきちんとしないと、XSSや、SQL Injectionができてしまう。
・vsftpdで、chrootの設定をしていないとアカウントを持ってる人なら、誰でも/etc/の中身などを見ることができる。
・リピータハブで構築されたネットワーク上でtelnetすると、別ホストのパケットキャプチャでパスワードを盗聴できる。
・簡単すぎるパスワードだと、John the Ripper等のツールですぐにバレてしまう。
みたいなのが希望です。
内容は、Linux, Windows, CGI, ネットワーク設計等々、一般的なものであれば何でもOKです。
「こんな設定だと」
「こんな攻撃をされたときに」
「こんな問題が発生します」
と言う形で教えてください。
解決策まであると、嬉しいです。
よろしくお願いします。
■たった2行でできるWebサーバ防御の「心理戦」
http://www.atmarkit.co.jp/fsecurity/rensai/view01/view01.html
こんなのでは攻撃されないと思いますが、
こういう設定になってると堅そうという感じで防御効果
はあるのかも知れません。
WEBサーバについて。
1.ブラウザのエラー画面にメールアドレスやWEBサーバのバージョンが出てしまう。
1.Apacheの設定のせいでディレクトリの中身が全部見えてしまう。
2.レスポンスヘッダのServer項目でWEBサーバとOSがばれてしまう。
3.cgi-binにインストールしたときに入っているスクリプトが動いてしまう。
4.DocumentRootより上のディレクトリに上がれる。
5.BASIC認証などのパスワードを何年も変えない。
アプリケーションについて。
1.エラーメッセージからスクリプトが推測できる。(特に、データベースへの接続方法などがわかる場合がある)
2.不用意にDB用のポートが開いている。
3.認証情報が平文で送信されている。
4.formの入力内容をJavaScriptでチェックしているが、ブラウザでJS無効ににすれば素通りである。
ありがとうございます。
一般的なセキュリティ対策ですね。
で、
4.DocumentRootより上のディレクトリに上がれる。
とは、どういうものでしょう???
古いApacheだと、URL欄に、
http://www.hogehoge.com/../../etc/passwd
みたいな入力方法ができてしまう、というアレでしょうか???
ありがとうございます。
ローカルアカウントの奪取
↓
ルートキットの利用。
ってカンジですかね。
できれば、具体的な設定例等があるとうれしいです。
前管理者のアカウントが残っていると、怨恨で辞めた時、攻撃されるかもしれない。
→辞めたらすぐアカウント削除
ユーザに難しいパスワードを割り当てると、紙にメモされて、漏洩するかも知れない
→難しいパスワードはユーザ自身に決めてもらう
SSHパスワード認証のみだと、総当たり攻撃された時、侵入されるかもしれない。
→SSH公開鍵認証に変更
市販のルーターのパスワードを変えないで使っていると、ネットでデフォルト調べて、侵入されるかもしれない。
→パスワード変更
SMTPサーバのリレー受付を制限していないと、スパムの踏台にされて、他人に迷惑かけるかもしれない
→リレー制限をきちんとする
ありがとうございます。
そいえば、SSHって、確かパスワードを入力しなくても入れる方法ありましたよね???
ありがとうございます。
サーバの環境が漏れないようにするのは防御の基本ですね。
bind の "version" や、
vsftpd の "ftpd_banner" とかですよね。
バージョン情報がバレる。
↓
securityfocus等で脆弱性を調べられる。
↓
攻撃される。
というカンジですよね。
「設定がおかしいとこんなことがあるよ」
というデモンストレーション用の例を探しています。
お願いします。