
第3回 システム管理の基礎 syslogdの設定をマスターしよう
syslogdによって記録されるログは、システムの運用・管理のための重要な手掛かりとなる。しかし、各環境固有の事情に合っていなければ、ログを取得する意味はない。syslogdやlogrotateの設定方法をマスターし、必要な情報を選別できるようにしよう。(編集局)
浅野史彦、小川典嗣
アイティーブースト(http://www.itboost.co.jp/)
2002/9/7
管理者にとって、サーバの正常性の確認とトラブルシューティングは、設定変更と同じかそれ以上に重要な作業です。それらの作業を行う際に役立つのが、各アプリケーションやOSが出力するログです。
一般的に、常にログを監視するという業務はあり得ないでしょう。何も起こらなければ退屈以外の何物でもなく、ログを監視していても異常かどうかは即座に判断できないことが多いかと思います。ログを確認するタイミングとしては、システムに何かが起こった場合あるいはこれから何か起こる可能性がある場合が考えられます。それ以外はログを見ないという管理者もいるでしょう。
何かが起こった場合とは、システムの監視装置がサーバの異常を知らせてきたり、システムの利用者から何かしら利用ができないと連絡を受けた場合であり、ログを見るためのトリガがはっきりしています。これに対して、何か起こる可能性が考えられる場合とは、例えば2000年問題に関係して大みそかから元旦に日が変わる瞬間や、サーバに負荷のかかる作業を行わせるときなどです。
ただし、サーバは常時稼働が要求されるコンピュータであり、サービスやハードウェアが止まる前にログの出力から予兆を見つけ、事前に対処できればベストであるに違いありません。では、常に眺めていることのできないログから必要な情報を取得するにはどうしたらよいのでしょうか? まずは、本当に必要な情報が簡単に取り出せることが1つの回答になるかと思います。
サーバのログを確認すれば、不正アクセスやサーバの状態、サービスの動作などを監視することができます。ただし、デフォルト設定のままでは必要な情報とそうではない情報が同じファイルに混在しています(注)。そこで、最低限必要な情報について少し考えてみましょう。
| 注:必要な情報とは、使用しているサービスやサーバの論理的な配置、あるいはログを必要とする人によって異なります。 |
ログチェックの基礎(例:不正アクセスの監視)
不正アクセスが行われているかどうかを知るには、何が正常な状態と異なるのか、どのような情報が表示されたときにどのような攻撃あるいはそののための準備作業が行われているのかを知っておく必要があります。正常な状態を知るには、日ごろからログにどんなメッセージが表示されているかを確認するのが一番です。普段見たことのない情報が表示されていれば、「何かが起こっている」と認識できます。
実際におかしな情報が表示されている場合は、それがどういった種類の情報なのかを考えなければなりません。このようなセキュリティに関連する情報は、/var/log/messagesと/var/log/secureで確認できます。
■ログの書式
ログの記述内容は大きく分けて次のようになっています。
日時 サーバ名(IPアドレス) 情報 |
いつ、どのサーバで、どのプログラムがどうなったかを確認できます。特定の期間内に必要以上に同じような情報が表示されていれば、何らかの攻撃や問題が発生していると考えられます。サーバ名は、複数のサーバのログを1台のサーバにまとめて管理する場合(後述)に必要になります。情報に関しては対象となるプログラムによって異なりますが、どのプログラムの情報で成功したのか失敗したのかを確認することができます。
以下は、/var/log/messagesの一部です。
Jul 27 09:49:38 itbsv1 su(pam_unix)[8061]: session opened
for user root by root(uid=0) |
「7月27日9時49分38秒に」「itbsv1サーバでsuコマンドが実行され」「認証に成功」という内容が読み取れます。成功した内容の情報は、不正アクセスを監視する際には意味のない場合がほとんどです(まったくないとはいいませんが)。多くの場合、失敗した内容の情報に意味があります。
以下のログは、「yamada」ユーザーでログインしようとしたが、認証に失敗したと記録されています。認証の失敗はユーザー側の操作ミスなども十分考えられることですが、同じユーザーで失敗が重なる場合は注意する必要があります。
Jul 27 10:51:22 itbsv1 login[8276]: FAILED LOGIN SESSION FROM
(null) FOR yamada,Authentication failure |
以下のログは、「root」ユーザーでssh接続を行い、パスワードの認証に失敗した場合の記録です。
Jul 27 11:21:35 itbsv1 sshd[8306]: Failed password for ROOT
from 192.168.0.11 port 1027 ssh2 |
と
を比較すると、大文字・小文字の違いはありますが「failed」の単語が両方に存在します。つまり、ログファイルから「failed」を含む行を抜き出せば、何かに失敗したメッセージだけを確認できます。grepにiオプションを指定すれば、大文字・小文字の区別なく抜き出すことが可能です。
# grep -i failed /var/log/messages |
「failed」以外にも「reject」や「err」「bad」、プログラムによっては「attack」などの文字でも必要な行が抜き出せます。
特定のサービスに対する攻撃の場合は、同じあるいはほぼ同じメッセージが繰り返されます。以下は、xntpdに対してDoS攻撃が行われた場合のログの例です。
Jul 27 13:41:01 itbsv1 xntpd[8496]: [ID 866926 daemon.notice]
xntpd exiting on signal 10 |
明らかにおかしいメッセージが記録された場合は、使用しているサービスのバージョンを調べてセキュリティに問題がないか確認し、必要であればバージョンアップを行うなどの作業を行います。
■ログが出力されるファイル
デフォルトでは、/var/logディレクトリにさまざまなログファイルがあります。代表的な情報がどのファイルに出力されるのかを確認し、何に関する情報が必要であるかに応じて特定の単語を抜き出すファイルを指定します。
|
ファイル名
|
内容
|
|
| /var/log/messages | 一般的なシステムに関する情報 | |
| /var/log/cron | 定期的に実行される処理の結果に関する情報 | |
| /var/log/maillog | メールに関する情報 | |
| /var/log/secure | セキュリティに関する情報 | |
| /var/log/spooler | 印刷やニュースに関する情報 | |
| /var/log/boot.log | OS起動時に関する情報 | |
| 注:ディストリビューションによってファイル名やディレクトリが異なる場合があります。 | ||
以上で、ログを確認する最低限の方法が分かったと思います。次に、ログの設定を変更してより見やすい状態にする方法を説明します。
|
1/3
|
|
||||||
|
||||||
| 連載 Linux管理者への道 |
| Linux Squareフォーラム Linux/システム学習関連記事 |
| 連載:Windowsユーザーに教えるLinuxの常識(全12回) Windowsのセオリーが通用しないLinux。Linux初心者向けに、LinuxというOSの考え方/常識をゼロから伝授! |
|
| 連載:LFSで作って学ぶLinuxの仕組み(全4回) 管理者(root)は、何をしなければならないのか? 管理に際して検討すべきことは? 管理のための技術とは? など、駆け出し管理者のための考え方や方法論を検討する |
|
| 連載:Linux管理者への道(全8回) 「Linux From Scratch」というシンプルなLinuxをインストール&環境構築する作業を通して、LinuxがOSとして機能するための仕組みや設定を見直そう |
|
| Linux Squareフォーラム全記事インデックス |
|
TechTargetジャパン
- よきOSSコラボレーターであるための5つの教訓 (2013/6/20)
オープニングキーノートの詳報。The Linux Foundationのジム・ゼムリン氏は、OSSコラボレーターのための「5つの教訓」を紹介した - 「使う」から「公開する」へ (2012/11/26)
1人でも多くのエンジニアが自分で書いたコードを公開し、OSS界へデビューできるよう支援します。レッツ、OSS! - 簡単にFreeBSD環境を作る3つの方法 (2012/11/15)
最近、FreeBSDのインストール手順の解説をあまり見かけない。そこであえて基本に戻り、手軽に使い始める方法を紹介する - シェルスクリプト最大の罠、while問題 (2012/9/14)
シェルスクリプトプログラミングで最もはまりやすい問題、それが「while問題」だ。今回はその原因を掘り下げてみよう
|
|
- Playで体得するRESTfulアーキテクチャの基礎知識
- FacebookやGoogleのIDでソーシャル・ログインを実現
- よきOSSコラボレーターであるための5つの教訓
- 複数のバインディングターゲットで選択を同期するには
- WinRTコンポーネントの作成とmrubyのコンパイル
- Cassandra、Redis、memcachedに潜む脆弱性
- みんな笑顔のお祭り〜Maker Faire: Taipei 2013
- セキュリティホールは常に人の形をしている
- Adobe Edge Animate CCでマルチデバイスゲーム
- 人生と同じ? プログラムの式と演算子、制御文を学ぶ
- 第369話 フリーズ
- 802.11acと無線LAN仕様のこれから
キャリアアップ
- - PR -
イベントカレンダー
- - PR -
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
「ITmedia マーケティング」新着記事
第5回 ロングテール化するBtoBのマーケティングプロセス
BtoCだけではなく、BtoBのマーケティングにおいても“個”の視点に立つことで、効率的に...
1ツイートが生み出す価値はいくら? ――収益とフォロワーの特性を見て最も効果が高いソーシャルに注力しよう
ソーシャルマーケティングに取り組む企業が増える中、その効果についての検証も進んでき...
富士通、大量データをリアルタイムに活用できる2製品の提供を開始
センサー情報の解析やWebサイトのパフォーマンス向上、全国店舗における商品購入の行動分...

