サーバーが攻撃されたら、まず何をするか
インシデントとは、情報の安全をおびやかす出来事のことです。サーバーに入られたと分かったとき、慌てて消すと、証拠まで消えてしまいます。
この回では、証拠を残しながら調べ、何が起きたかを時系列にまとめて報告する方法を学びます。
ラボのルール
注意
ラボの事件は、作り話のログです。本物のサーバーではなく、あなた専用のコピーです。証拠のファイルは書きかえず、コピーして作業します。許可なく他人のサーバーを調べるのは、不正アクセス禁止法に反します。
このレッスンのゴール
メモ
ログを読んで攻撃の流れを時系列にまとめ、報告することができる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| インシデント | 情報の安全をおびやかす出来事 | 不正なログイン |
| ログ | 誰が、いつ、何をしたかを、順に書いた記録 | |
| 証拠 | 何が起きたかを示す、変えてはいけない記録やファイル | |
| 時系列 | 出来事を、起きた順に並べたもの | |
| 居座り | 一度入った攻撃者が、また入れるように残すしかけ | |
| 影響範囲 | 被害がどこまで及んだか |
学生が入力するセルは、このプレビューでは空白です。
インシデント対応は、どんな順番で進めるのか
対応は、おおよそ5つの段階で進みます。見つける、広がりを止める、調べる、元にもどす、報告する、の順です。
調べる前に消したり再起動したりすると、証拠が失われます。まず記録を残し、そのあと止めます。
証拠のフォルダに移る
cd ~/caseここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
ログの置き場所を見る
ls var/logここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
作業用にコピーを作る
cp -r ~/case ~/workここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
なぜ、コピーで作業するのか
証拠は、見つけたときの形のままで残します。あとで「書きかえたのでは」と疑われたら、調べた結果が使えなくなるからです。
ここでは case フォルダを読むだけにして、書きこみはコピーの work フォルダでします。
ログの1行は、どう読めばよいのか
ログの1行には、時刻、機械の名前、どのプログラムの記録か、何が起きたかが並びます。次の例は、作り話の1行です。
「失敗」が続いたあとに「成功」があれば、当てずっぽうの試行がうまくいったのかもしれません。
ログの1行の例(作り話)
Oct 14 03:12:09 web01 sshd[2211]: Failed password for deploy from 198.51.100.7 port 51812 ssh2
# 時刻 03:12:09、機械 web01、ログイン失敗、アカウント deploy、相手のアドレス 198.51.100.7
1行を分けて読む
| 部分 | 意味 |
|---|---|
| Oct 14 03:12:09 | いつ起きたか |
| web01 | どの機械の記録か |
| Failed password | 何が起きたか(パスワードの失敗) |
| deploy | どのアカウントか |
| 198.51.100.7 | どこから来たか |
学生が入力するセルは、このプレビューでは空白です。
時刻の一覧の見出しを見る
head -n 1 ~/case/mtimes.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
一覧が何行あるか数える
wc -l ~/case/mtimes.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
時系列は、どう作るのか
集めた出来事を、時刻の順に並べます。「00:05:10」のように0をそろえて書くと、文字として並べかえるだけで時刻の順になります。
攻撃者を決めるときは、失敗の数だけで決めません。成功したか、何をしたか、いつ来たかを、並べて見ます。
時刻の順に並べてみる
# 先頭の時刻の0をそろえてあるので、sorted で時刻の順になります。
events = [
"03:12:09 ok",
"03:10:01 fail",
"03:11:30 fail",
]
for line in sorted(events):
print(line)
よくある間違い
注意
失敗がいちばん多いアドレスが犯人だ、と考える人がよくいます。何度失敗しても、一度も入れていなければ、ただの雑音かもしれません。成功の記録と、そのあとに何が起きたかを見ます。
報告に書く5つのこと
| 問い | 書くこと |
|---|---|
| いつ | 最初の侵入と、見つかった時刻 |
| どこから | 攻撃元のアドレス |
| 何を | 入られたアカウントと、変えられたもの |
| どうやって | 入り方と、居座りのしかけ |
| これから | 元にもどす手順と、再発を防ぐ対策 |
学生が入力するセルは、このプレビューでは空白です。