logwatchの設定

システムログ内容を設定により抽出、編集し、メールで管理者に通知してくれるlogwatchの説明(logatchのバージョンは7.3系です)

logwatchはcronで定期的に実行されます。あらかじめ定義したパターンにより内容を抽出します。

出力例
 ################### Logwatch 7.3 (03/24/06) ####################
        Processing Initiated: Tue Nov 2 12:27:18 2007
        Date Range Processed: yesterday
                              ( 2007-Nov-1 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: hoge.hooge.jp
  ##################################################################

 --------------------- httpd Begin ------------------------

 Requests with error response codes
    404 Not Found
       /xxx/favicon.ico: 2 Time(s)
       /robots.txt: 4 Time(s)

 ---------------------- httpd End -------------------------

 --------------------- pam_unix Begin ------------------------

 runuser:
    Unknown Entries:
       session closed for user beaglidx: 2 Time(s)
       session opened for user beaglidx by (uid=0): 2 Time(s)

 su-l:
    Authentication Failures:
       hoge(500) -> root: 1 Time(s)
    Sessions Opened:
       hoge(uid=500) -> root: 1 Time(s)

 ---------------------- pam_unix End -------------------------

 --------------------- postfix Begin ------------------------

 62872 bytes transferred
 4 messages sent
 4 messages removed from queue

 Relaying denied: 3 Time(s)

 Messages rejected using Anti-Spam site 4 Time(s)
     all.rbl.jp identified 4 spam messages.

 Connections lost:
    Connection lost while DATA : 3 Time(s)
    Connection lost while EHLO : 3 Time(s)

 ---------------------- postfix End -------------------------

 --------------------- Connections (secure-log) Begin ------------------------

 **Unmatched Entries**
    webmin[32016]: Successful login as root from 192.168.1.1 : 1 Time(s)

 ---------------------- Connections (secure-log) End -------------------------

 --------------------- SSHD Begin ------------------------

 Users logging in through sshd:
    hoge:
        xxx.xxx.xxx.xxx (hogehoge.ne.jp): 1 time

 ---------------------- SSHD End -------------------------

 --------------------- XNTPD Begin ------------------------

 Total synchronizations 134 (hosts: 3)

 ---------------------- XNTPD End -------------------------

 --------------------- Disk Space Begin ------------------------

 Filesystem            Size  Used Avail Use% Mounted on
 /dev/hda1             6.8G  3.3G  3.3G  51% /
 /dev/hda2             9.7G  3.2G  6.1G  35% /work
 /dev/hda4             130G   21G  103G  17% /demo

 ---------------------- Disk Space End -------------------------
 ###################### Logwatch End #########################

logwatchの設定ファイル

logwatch-7.3系でのデフォルト設定ファイルは/usr/share/logwatch/default.conf/logwatch.conf*1です。
ログファイルの保存場所、メール送信先、対象ログの抽出期間などを設定できます。デフォルト設定から変更する事はないと思います。

各ログファイル、各サービス毎の条件設定

各サービスごと、各ログファイルごとに抽出条件を設定できます。
各サービスの設定は

/usr/share/logwatch/default.conf/services/

各ログファイルの設定は

/usr/share/logwatch/default.conf/logfiles/

ディレクトリ配下になります。

設定例

デフォルトの設定でPostfixを運用していると、「statistics: max connection rate 1/60s」のようなログがlogwatchが拾っています。
このログは情報を示しているログでPostfixの異常ではありません。今回は「statistics」を含む行をlogwatchで拾わないように設定します。

  • /usr/share/logwatch/default.conf/services/postfix.confの編集

上記がPostfixの設定ファイルなので、下記の行を追加します。

*Remove = statistics

*Removeは指定した文字列にマッチした行はチェック対象外にする(大文字小文字の区別なし)と言う意味です。

  • 実行結果の確認

下記コマンドを入力するとlogwatchの実行結果をターミナルに出力します

/usr/share/logwatch/scripts/logwatch.pl --print

翌日からは、上記結果を同じ内容がメールで送信されます。


参考URL
アクセスログの改ざんと検出方法 (2/2):不正侵入の手口と対策(6) - @IT~
http://memo.blogdns.net/logwatch.html

*1:logwatch 5系は/etc/log.d/logwatch配下です

わけあって、SPAMメールの収集を行います。

fuji@slither.dip.jp
fuji@slither.ddo.jp



SPAMロボットさん収集お願いします。

上記メールアドレスに送られたメールはSPAMと判断します。

上記メールアドレスに送られたメールの内容、サーバログを開示する事があります。

  • SPAMフィルタについてのお話

最近送られてくるSPAMメールは、ほとんどメールサーバを経由せずエンドユーザーのコンピュータから
直接送信される事が多くなっているそうです。
常時接続されているパソコンがウイルスやトロイに感染し、そのパソコンから直接、または感染したパソコンを経由してメールを送信してくるのが主流な手口です。

このような方法を取られると、今までのSPAM対策(オープンリレーサーバのブロック等)では到底防ぎきれるものではありません。
そこで、下記のホームページのような方法、すなわち「エンドユーザーのコンピュータから直接送信されているメールをメールサーバでブロックしてしまう」という方法をとられています。
一部のプロバイダは「OP25B」で対策しているのですけど、意外と効くみたいですね。

詳細はこちらです →  スパム対策技術

自社メールサーバなどある程度の融通が利くような環境だと、このような方法でSPAMブロックは期待できそうです。

ちなみに自宅サーバなどを構築されている方は、このSPAM対策にバッチリかかります。自宅サーバの方は、プロバイダのメールサーバに転送することで回避できると思います。


あと、MTAのホスト名が逆引き出来ない場合はSPAMメールとしてリジェクトするという設定をいろいろなサイトで見かけます。
これについては色々と論争?があるようです。参考サイト↓
http://www.hart.co.jp/spam/rejiponly.html
http://neta.ywcafe.net/000395.html

浅学非才ですので拒否するべきか、しないべきなのかどちらが正しいか分かりません。
拒否した場合は正規のメール発信者からのメールをブロックする可能性は十分にあるますし、拒否しない場合はSPAMメールの件数が減りません。
どちらにしても、ブラックリストorホワイトリストを人間が手動で更新し続けていかないとダメな気がします。


ちなみに、ベンダーのSPAM対策ソリューションってどうなんでしょうかねぇ?

http://jp.trendmicro.com/jp/products/enterprise/sps/
シマンテック製品: サイバーセキュリティと Web セキュリティ | Symantec JP




fuji@slither.dip.jp
fuji@slither.ddo.jp

rrdtimer.plの取得時間変更

HotSanicなどで利用するrrdtoolのデータ取得間隔の変更。
デフォルトは10秒単位なのでシステムに若干ながら負荷が発生する。

引用

==== 181,187 ====
$lastconvert+=$CONFIG{CTIME};
}
}
! $sleeptime=10-(time % 10);
sleep $sleeptime;
}
}

変更箇所↓ ex. 10を30に変更
==== 181,187 ====
$lastconvert+=$CONFIG{CTIME};
}
}
! $sleeptime=30-(time % 30);
sleep $sleeptime;
}
}

パーティションの作成とフォーマット

先日MBRが消えてしまったHDDですが、やはりと言うか死亡してしまいました。
HDD交換後再インストール(Fedora 7)を行ったのですが、その時のパーティション作成とフォーマット作業のメモ。

パーティションの作成

パーティション作成はfdiskコマンドを使います。
Fedora 7からHDDデバイスhdaからsdaに変更になりました。

fdisk <デバイス名>

各コマンドの使用方法はmと入力するとヘルプが表示されます。

コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)
操作例

/dev/sdaにプライマリパーティションを作成した時の例。
HDDはすでにパーティションを3個作成済みの状態。/dev/sda1、/dev/sda2、/dev/sda3
ですので次に作成したプライマリパーティションはデバイス/dev/sda4となる。

[root@local tmp]# fdisk /dev/sda

このディスクのシリンダ数は 19457 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ):
  • pで現在の状態を確認できる
コマンド (m でヘルプ):p

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         914     7341673+  83  Linux
/dev/sda2             915        2219    10482412+  83  Linux
/dev/sda3            2220        2268      393592+  82  Linux swap / Solaris

作成するパーティションの種類をサイズを設定します。

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
Selected partition 4
最初 シリンダ (2269-19457, default 2269):
Using default value 2269
終点 シリンダ または +サイズ または +サイズM または +サイズK (2269-19457, default 19457):
Using default value 19457
  • 作成後はwでディスクに書き込みます。下のようなメッセージが出た場合はOSの再起動を行ってください。
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。

フォーマット

先ほど作成したパーティションをフォーマットします。フォーマット形式をext3にします。
ext3でフォーマットするコマンドは

mke2fs -j <パーティション名>
操作例
[root@local ~]# mke2fs -j /dev/sda4
mke2fs 1.40.2 (12-Jul-2007)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
17268736 inodes, 34517660 blocks
1725883 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1054 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

ラベルの作成

最近のLinuxではファイルシステムにラベルをつけて管理しています。
fstabにマウント設定を行う時もラベルを使ってマウントポイントを記述します。
ラベル設定のコマンド

e2label <デバイス名> <ラベル名>
操作例

/dev/sda4 に、ラベル /work を設定する

[root@local ~]# e2label /dev/sda4 /work

ラベルの確認は

[root@local ~]# e2label /dev/sda4
/work

マウントポイントの設定

/etc/fstab にマウントポイントを設定します

操作例
LABEL=/work        /work       ext3   defaults    1 2

再起動するとマウントできます。

GRUB(MBR)が壊れたときの復旧方法

Fedora 6を運用していましたが、予期せぬHDDトラブル(まぁHDDはいつも予期せず壊れますが...)でMBRレコードが破損していまい起動しなくなりました。
HDDから起動しようとするとMBR Error 3MBR Error 2が発生します。
なんとか復旧できたので復旧方法のメモ。

準備するもの

1.Fedora レスキューCD か Knoppix
 Grubの設定ファイルgrub.confの中身を確認するため。
2.Grubの起動ディスク
 フロッピーで起動するGrubの起動ディスクです。
 詳しい作成方法は GRUBの起動ディスクを作成するには を参照してください。

復旧方法

1.grub.confの内容を確認する
 FedoraレスキューCDかKnoppixを利用して起動します。

 ・FedoraレスキューCDの場合
  レスキューモードでCDよりブートします。ブート途中にHDDをマウントするかを聞かれますのでHDDをマウントします。
  説明が英語ですが「CONTINUE」とボタンが表示されたらそのままEnterでOKです。
  起動が終了するとHDDは/mnt/sysimageにマウントされます。
 ・Knoppixの場合
  X Windowsが起動したらデスクトップにHDDのアイコンが表示されていると思うので、アイコンをダブルクリックしマウントします。


 どちらかの方法でHDDがマウントできたら、HDD内の/etc/grub.confの内容を控えます。
 下記のような記述がありますので、3行とも正確に控えます。

root (hd0,0)
kernel /vmlinuz-2.6.19-1.2896_FC6 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.19-1.2896_FC6.img


2.Grub起動FPDで起動し、旧Linuxをブート
 Grub起動FPDでコンピュータを起動すると grub> で停止します。
 先ほど控えたgrub.confを1行ごとに入力していきます。1行入力毎にenterキーを押します。
 最後にbootと入力しエンターを押すと、HDD内のカーネルで起動できます。

3.Grubの再インストール
 rootでログインしたら、grub-install /dev/hdaと入力します。
 "/dev/hda"は各自の環境に合わせて変更してください。
 参考URL GRUBを再インストールするには − @IT

以上の手順で次回の起動時よりHDDから起動できると思います。