やばいTOP20(一般編)
Tue, 10 Jan 2012 14:31:40 JST (4700d)
広告
やばいTOP20(一般編)
SANSの危険度TOP20を適当にまとめました。
訳した分けでも、要約でもありません(笑)。 読んでみて重要だと思われるところを独断と偏見で抽出し、適当に書き出しました。 かなりいい加減かもしれません(笑)。 もっと良く知りたい方は原文を読んでください。
一般
- OSやアプリケーションの標準インストール
いろいろ考えずにインストールできるので楽だけど、使わないソフトやサービスもインストールされちゃう
何をインストールしたのかも分かりにくいから、何かやばいセキュリティホールがパッチを当てたり、アップグレード何かをしないことが多い。
これは、非常に危ない。
いらないサンプルプログラムにセキュリティホールなんかがあったりもする。
下の方でも出て来るがサンプルCGIなどが有名
セキュリティスキャナとかポートスキャナとかを使って調べるといい。
いらないソフトは削除し、できるだけサービスを止め、いらないポートは閉める。
- パスワードが無いとか簡単だとか
当サイトのページのパスワードに関してを見てください。
あと、Linuxの方も見てみてください
とにかく、必ず難しいパスワードを設定し、使っていないアカウントは削除する。
簡単なパスワードを設定させないプログラムを使うのも良い。 コンピュータだけでなく、ネットワークプリンタやルータ、などネットにつながっている物全てチェックする。
- バックアップを取ってない
攻撃されるとかでは無いけれど、何かあった時のためにバックアップは頻繁に取る。
特に商用サイトなどは毎日取ると良い
- PORTの開きすぎ
リモートからの攻撃や不正なアクセスはポートを通って行われるので、不要なポートを開けない。
netstatコマンドで使用しているポートを調べても良いが、専用のポートスキャナ(nmapなど)を使って調べた方が良い
さらに、netstatが吐き出すリストとポートスキャナが吐き出すリストが一致するか調べ、違っていた場合はその原因を調べる。
なぜそのポートが開いているか、何が使っているか、安全かどうかなどを調べ、いらないポート、危ないポートは閉める。
ポートスキャンを行うときは、攻撃と見なされることがあるので注意する。
- 送受信パケットのフィルタリングしてない。
たくさんのコンピュータに嘘のIPアドレス(攻撃先のIPアドレスなど)を持ったパケットを送り、その返答が攻撃先のコンピュータに大量に送られる。
結果、コンピュータやネットワーク止まってしまう。
- フィルタリングをする。
- 入って来るパケットは、内部ネットワークの発信もとアドレスを持っていてはいけない
- 入って来るパケットは、内部ネットワークの送信先のアドレスを持っていなくてはならない
- 出て行くパケットは、内部ネットワークの発信もとアドレスを持っていなくてはならない
- 出て行くパケットは、内部ネットワークの送信先アドレスを持っていては行けない
- 入ったり出たりするパケットは、内部のプライベートアドレスや使われていないアドレスを持っていては行けない
- ルートパケットやIPオプションセットを持っているパケットはブロックする。
試しに、嘘のIPアドレスを送って確かめてみる。
原文には、フィルタリングの例が出ているがフィルタリングをちゃんとするのは難しいので詳しい本などを読んだ方が良い。
- ログを取ってない
セキュリティの格言が一つ。「予防は理想、検出は必須」
- 危ないCGIプログラム
サンプルプログラムに致命的なバグがあったほどで、サンプルプログラムはインストールしないか、実行不可能にした方が良い。
新しいバージョンのスクリプトを使うのはもちろん、いろいろな場合を想定してバグが無いかチェックする。
セキュリティスキャナを使うと良い。
- 全てのサンプルプログラムを取り除く
- 残っているCGIを検査し、安全じゃないのは取り除く
- CGI中のinput buffer lengthのチェックはちゃんとする。
- 必要なCGIの既知のバグにはパッチをあてる。
- CGIのディレクトリにコンパイラやインタプリタを置かない。
- CGIのディレクトリから「view-source(ソースを表示するもの)」スクリプトを取り除く
- rootでwebサーバーを立ち上げない。
- CGIが不必要ならCGIは使えないようにしておく。