hiroaki のすべての投稿

DoS攻撃対策 Apache mod_evasive

最近、稀にサーバー負荷が非常に高い時があります。
その時でも完全にフリーズしているわけではないが、ログインして再起動するのがやっとな状況で
サーバーとしては機能しておらず、何かの対策を行う必要が出て来ました。

まずはKernelを最新の2.6.32.2にアップ。
これだけでは解決しないと考えているので、一番疑わしいhttpdにも対策を。
既にiptablesにてヤバそうな国からのアクセス自体をブロックしているが
DoS攻撃などは、ウィルス感染により足場サーバーから行われるので
DoS攻撃をブロックすることにしました。

今回はDoS攻撃に有効なアパッチ用のモジュールmod_evasiveを使用することにました。

まずは、適当なディレクトリにzdziarski.comのmod_evasiveページからソースをDLしてインストール。
※既にリンク先のサイトはなくなっているようです

ディレクトリ移動
#cd /usr/local/src

mod_evasive v1.10.1のDL
#wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz

解凍
#tar xzf mod_evasive_1.10.1.tar.gz

解凍したソースディレクトリに移動
#cd mod_evasive

このモジュールはAPXSを使用してコンパイル&インストールを行うのですが
デフォルトではAPXSが入っていなかったので、パッケージをインストール。
#apt-get install apache2-prefork-dev

APXSを利用してコンパイル&インストール
#/usr/bin/apxs2 -i -a -c mod_evasive20.c

※ブラックリスト追加時にメールを送信したい場合は
mod_evasive20.cの中にメールコマンドがハードコーディングされているので
コマンドを書き換える必要があります。

45行目の以下の行がメール送信コマンド部分です。
#define MAILER “/bin/mail %s”

/* BEGIN DoS Evasive Maneuvers Definitions */

#define MAILER	"/bin/mail %s"
#define  LOG( A, ... ) { openlog("mod_evasive", LOG_PID, LOG_DAEMON); syslog( A, __VA_ARGS__ ); closelog(); }

Exim4の場合は ↓ のように書き換えることで送信出来ます

/* BEGIN DoS Evasive Maneuvers Definitions */

#define MAILER	"mail -t %s"
#define  LOG( A, ... ) { openlog("mod_evasive", LOG_PID, LOG_DAEMON); syslog( A, __VA_ARGS__ ); closelog(); }

件名も付けたい場合は ↓ のように書き換えることで件名付きで送信出来ます

/* BEGIN DoS Evasive Maneuvers Definitions */

#define MAILER	"mail -s 'ここに件名を入れます' -t %s"
#define  LOG( A, ... ) { openlog("mod_evasive", LOG_PID, LOG_DAEMON); syslog( A, __VA_ARGS__ ); closelog(); }

当然ならがApacheの設定ファイルのDOSEmailNotifyに(後述の設定部分参照)
送信先のメールアドレスを書いて有効にする必要があります。

コンパイルとインストールに成功したようですが
なんかモジュールのデフォルト設定書き込みに失敗したみたいなので、手動で書きこみます。

confファイルに追記(追記はhttpd.confで良いと思いますが、私はファイル分けが面倒な人なので・・・)
#vi /etc/apache2/apache2.conf

以下の行をapache2.confに追加

LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so


DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSLogDir "/var/log/apache2/mod_evasive/logs"
#DOSEmailNotify info@domain
#DOSSystemCommand   ""
#DOSWhitelist       127.0.0.1

これらの設定の意味は、「mod_evasive 設定」などで検索すると沢山出て来ますので、省略させて頂きます。
ちなみにこの設定では、1秒間に同じページに2回アクセスがあるか
1秒間にサイトに50回以上アクセスがあった場合に、60秒間 403Eroorを返すような動作となります。
ブロックの記録は、DOSLogDirで設定した場所へブロックしたIPが保存されます。

設定が終わったらconfが正しく設定されたかを確認。
#apache2ctl -M

上記コマンド実行後にevasive20_moduleとSyntax OKが表示されれば、設定自体は問題ない事になります。

設定が問題なければ、apacheを再起動
#/etc/init.d/apache2 restart

ちゃんとブロック出来るかmod_evasiveのソースに付属していた、テストスクリプトを実行
#perl test.pl

テストのレスポンスが、途中からHTTP/1.1 403 Forbiddenを返すようになれば
うまくブロックが出来ている事になります。

mod_evasive自体は設定通りの振る舞いをするだけで
決して万能なブロックツールというわけではありません。
他のブロック方法との併用や、環境にあった適切な設定を行うことが大切だと思います。

Kernel 2.6.32をコンパイル

※書いてあるカーネルより新しいカーネル用のdiffファイルは下の方にあります。
コマンド部分はカーネルのバージョンに合わせ、2.6.32.○のように書き換えて実行してください。

Kernelの2.6.32が正式にリリースされたので、T4のカーネルを2.6.32に上げてみることに。

まずは、適当なディレクトリを作成。
# mkdir kernel_complie
# cd kernel_complie

The Linux Kernel Archivesから2.6.32のカーネルソースをDL
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2

解凍
# tar jxvf linux-2.6.32.tar.bz2

作業ディレクトリに2.6.32用のパッチをDL
↓これがパッチです。
kuro-nas-t4-2.6.32.diff

解凍したカーネルソースのディレクトリに移動。
# cd linux-2.6.32

initrd.img、its、dtbファイルをソースディレクトリにDL
(これらはFitImage作成用のディレクトリにDLでも構いません)
initrd.img
kuro_nas_t4.its
kuro_nas_t4.dtb
※dtbファイルは時刻のズレ対応済みです。

2.6.32用のパッチを実行
# patch -p 1 < ..//kuro-nas-t4-2.6.32.diff T4デフォルトのconfigファイルをコピー # cp arch/powerpc/configs/kuro_nas_t4_defconfig .config ※既にオプション変更したconfigを利用する場合は、変更済みのconfigをコピーしてください。

oldconfig実行
# make oldconfig

※カーネルのコンパイルオプションを変更する場合は、ここでオプション変更してください。
デフォルトで選択されていない機能やデバイスを有効にするには
コンパイルオプションを必要に応じて変更する必要があります。

コンパイルオプションを変更する場合
# make menuconfig

カーネルのコンパイル
# make

カーネルのコンパイルがうまく行けばmoduleのインストール
# make modules_install

コンパイルされたカーネルバイナリを名前変更
# mv vmlinux.bin.gz vmlinuz

fitImageの作成
# mkimage -f kuro_nas_t4.its uImage-2.6.32.buffalo

作成したfitImageを/bootにコピー
# cp uImage-2.6.32.buffalo /boot

試しに正常起動できるかテスト。
再起動してu-bootからコマンドを実行。

BUFFALO>> setenv kernel uImage-2.6.32.buffalo
BUFFALO>> run hdboot

正常起動したら/bootのシンボリックリンクを書き換えて、通常起動カーネルを新しく作成したカーネルに変更。
# cd /boot
# rm uImage.buffalo
# ln -s uImage-2.6.32.buffalo uImage.buffalo
※もし正常起動しなかった場合、シンボリックリンクを書き換えてなければ
普通にリセットすることで、正常動作時のカーネルで起動します。

今のところエラーも無く正常に2.6.32が動作中です。

以下は参考にさせて頂いたサイトです、感謝。
FrontPage – PukiWiki
D Blog

2009/12/21 追記
Kernel2.6.32.2をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.2のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz2

Kernel2.6.32.2対応パッチファイル
kuro-nas-t4-2.6.32.2.diff

2010/01/09 追記
Kernel2.6.32.3をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.3のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.3.tar.bz2

Kernel2.6.32.3対応パッチファイル
kuro-nas-t4-2.6.32.3.diff

2010/01/20 追記
Kernel2.6.32.4をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.4のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.4.tar.bz2

Kernel2.6.32.4対応パッチファイル
kuro-nas-t4-2.6.32.4.diff

2010/01/24 追記
Kernel2.6.32.5をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.5のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.5.tar.bz2

Kernel2.6.32.5対応パッチファイル
kuro-nas-t4-2.6.32.5.diff

2010/01/29 追記
Kernel2.6.32.6をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.6のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.6.tar.bz2

Kernel2.6.32.6対応パッチファイル
kuro-nas-t4-2.6.32.6.diff

2010/01/30 追記
Kernel2.6.32.7をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.7のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.7.tar.bz2

Kernel2.6.32.7対応パッチファイル
kuro-nas-t4-2.6.32.7.diff

2010/02/11 追記
Kernel2.6.32.8をコンパイルして無事動作中です。

The Linux Kernel Archivesから2.6.32.8のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.8.tar.bz2

Kernel2.6.32.8対応パッチファイル
kuro-nas-t4-2.6.32.8.diff

2010/02/26 追記
Kernel2.6.33をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.33のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.bz2

Kernel2.6.33対応パッチファイル
kuro-nas-t4-2.6.33.diff

2010/03/19 追記
Kernel2.6.33.1をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.33.1のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.bz2

Kernel2.6.33.1対応パッチファイル
kuro-nas-t4-2.6.33.1.diff

2010/04/03 追記
Kernel2.6.33.2をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.33.2のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.2.tar.bz2

Kernel2.6.33.2対応パッチファイル
kuro-nas-t4-2.6.33.2.diff

2010/04/28 追記
Kernel2.6.33.3をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.33.3のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.3.tar.bz2

Kernel2.6.33.3対応パッチファイル
kuro-nas-t4-2.6.33.3.diff

2010/05/14 追記
Kernel2.6.33.4をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.33.4のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.4.tar.bz2

Kernel2.6.33.4対応パッチファイル
kuro-nas-t4-2.6.33.4.diff

2010/05/19 追記
Kernel2.6.34をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.34のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2

Kernel2.6.34対応パッチファイル
kuro-nas-t4-2.6.34.diff

2010/07/06 追記
Kernel2.6.34.1をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.34.1のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.1.tar.bz2

Kernel2.6.34.1対応パッチファイル
kuro-nas-t4-2.6.34.1.diff

2010/08/12 追記
Kernel2.6.35.1をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.35.1のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.1.tar.bz2

Kernel2.6.35.1対応パッチファイル
kuro-nas-t4-2.6.35.1.diff

2010/08/16 追記
Kernel2.6.35.2をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.35.2のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.2.tar.bz2

Kernel2.6.35.2対応パッチファイル
kuro-nas-t4-2.6.35.2.diff

2010/08/24 追記
Kernel2.6.35.3をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.35.3のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.3.tar.bz2

Kernel2.6.35.3対応パッチファイル
kuro-nas-t4-2.6.35.3.diff

2010/09/30 追記
Kernel2.6.35.7をコンパイルしてテスト運用中です。

The Linux Kernel Archivesから2.6.35.7のカーネルソースをDL
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.7.tar.bz2

Kernel2.6.35.7対応パッチファイル
kuro-nas-t4-2.6.35.7.diff

ダウンサス取り付け

久々にヴォクシー弄りです。

ダウンサスの交換に関しては、知識と道具が無いと出来ません。
自分で交換を考えている方は、知識、道具共にお持ちだと思うので
細かい交換方法に関しては省略させて頂きます。

今回交換したダウンサスは、インシュランス(INSURANCE)のZRR70用となります。
購入前にネットでZRRに装着している画像が載っているページを探しましたが
見つけることが出来なかったので、書いてある落ち幅を頼りに購入してみました。
(ちなみにメーカーのHPには、まだAZR60用しか載っていません)

以下、書かれていた商品の詳細です。
≪スペック≫
・ダウン量Fr:-45~-50mm Rr:-40~-45mm
・バネレート Fr:2.6kg Rr:6.2kg
・エンジン型式:3ZR-F(A)E
≪備考≫   2WD
B/Rカット (バンプラバーカットの略、ローダウンによるショートストロークでの底突き対処法の1つで、
純正ショックアブソーバーについているラバーゴムをカットしてショックのストロークを確保すると言う意味です。
乗り心地重視の方はスプリング交換時に一緒に作業してください。
カットしなくても問題無く走行可能ですし、車検対応します。)

交換の際は、ワイパー・雨避けを外した方が作業はしやすいと思います。
(外さなくても可能なようですが、非常に狭い隙間でフロントのアッパーのネジを外すことになります)
雨避け外し後

ノーマル時のフロント
フロントダウン前

ダウン後のフロント
フロントダウン後

ノーマル時のリア
リアダウン前

ダウン後のリア
リアダウン後

地上からフェンダーまでを計った方が、正確で良かったと思います・・・
そう言っても今更なので、写真のメジャー読みで(^^;
(本来はホイールのセンターからフェンダーまでかな?)
フロントの隙間:8.5cm→4cm
リアの隙間:10cm→6cm

フロントで4.5cmダウン、リアで4cmダウン
暫く走ってるうちに、あと5mmくらいは落ちると思います。
ほぼ書いてあった通りの落ち幅です。

交換が終わったら、平らな場所でコンピューターの光軸リセットを行い終了。
(手動で合わせるか、これをやらないと、ノーマルに比べてライトが下向きになります)

私的には、ベタベタでもなく、落ちたか分からないくらいでもなく
丁度良い感じに落ちたと思うのですが、嫁的には「前が落ちすぎ・・・」だそうです(^^;
乗り心地もノーマルより少し固くなったくらいで、悪くはなっていないと思いますが
嫁的には「乗り心地悪くなった」だそうです・・・
(フワフワしたノーマルより全然良いと思うけどな・・・)
やはりこの辺りの感じ方は個人差がありますね~

全体ダウン後
全体ダウン後

2009/11/22 追記
インシュランスのZRR用ダウンサスには、標準でサイレンサーラバーが付いています。
サイレンサーラバーは、サスがが伸び縮みした際に
スプリング同士が干渉し、ゴトゴト音を出すのを防止してくれます。
このパーツは各サスメーカーでも販売していて、干渉音を消すには非常に効果的です。
割と高価なサスには付属していたりしますが、この価格帯のサスで付属してるのは気が利いてますね。
スプリングの一部にゴムのような物が付けれられていますが
それがサイレンサーラバーですので、外さずに取り付けてください。

トヨタ純正ナビのメモリ地点にオービス登録その3

純正ナビにオービスデータを登録するツールが、ラジオライフ11月号に掲載されたので
これを機にGUIツールを作り直してみました。

トヨタ純正ナビのメモリ地点にオービス登録 まとめ最新情報はこちらへ

基本的にやってることは前のものと同じなのですが
エクセルやエディターを使わずに出来るだけツールで完結出来るようにしました。
使用方法などは以前の記事を読んで頂ければ分かると思います。

トヨタ純正ナビのメモリ地点にオービス登録
トヨタ純正ナビのメモリ地点にオービス登録その2

大きく変更になった点は、パナファイルは名前を固定で処理しないことで
ファイル名を変えずに複数変換出来るようになったのと
処理3ではファイルを複数読み込んで、データの切り取りなどを出来るようにしました。
(ここに重複データを取り込まないチェックも追加しました)
それでも件数が多いとデータの切り取りなどの処理は面倒だと思いますので
出来るだけパナファイルの時点でデータを編集した方が楽だと思います。

以前のバージョンのファイルもそのままにしておきますので
以前のバージョンで馴れている方は、そのまま使用されるのもありかと思います。

※mptencで変換するとパスワードは「0000」になるようです。
パスワードを聞かれたら「0000」を入力してください。

追記
pmf2mptutil.awkを作成する画面も追加しました。
音声の種類やアイコンの変更が可能になります。

2009/11/01追記
データ編集画面にて、行単位での編集を可能にしました。
この機能により、行単位でのアイコンや音声の変更が可能になりました。
また、データの座標ポイントをGoogleマップで表示可能にしました。
(撤去されたポイントなどの削除が少しは楽になるかも?)
※ブラウザはIEのみ対応。IEのキャッシュで地図がずれる場合は、IEの更新ボタンで再表示してください。

2009/11/02追記
Ver2.2にバージョンアップしました。
GoogleマップのURLから座標が取得可能になりました。
また、方向を視覚的に取得出来るように機能を追加しました。
フォームを半透明にしていますので、MAPに重ねて方向を数値で見れると思います。

SSHでのホスト制限

SSHで外から接続出来ると何かと便利です。
しかし、セキュリティ的にはあまり良くありません。
秘密鍵の利用や、SSHポート番号の変更は当然ですが
それでもアタックしてくる奴はいるものです。

私はアタックが多い国のIPをiptablesで規制しています。
(当然ながらその国のIPからは全く繋がりません)
この対応でアタック自体はかなり減らすことが出来ました。
※詳しくはblog内に書いてます。

それでも稀にアタックはあるかもしれません。
より安全にするためにSSHに接続出来るIPを規制します。
(会社などで固定IPがある場合で無いと有効には出来ませんが)

編集するファイルは以下となります。
/etc/hosts.allow

当然ながらローカルの接続は許可となります。
sshd : 192.168. : ALLOW

複数のIPを登録する場合は、スペースで区切って登録します。
(最後の: ALLOWは無くても構いません)
sshd : 192.168.  xxx.xxx.xxx.xxx: ALLOW

それ以外は拒否しなければならないので
/etc/hosts.denyにsshd: ALLと書き加える必要があります。

個人的には面倒臭がりなので
/etc/hosts.allowに拒否の行まで書き加えます(笑)
sshd: ALL : deny

許可・非許可のルールはファイル内では上から一致するまで
ファイルの優先順位は/etc/hosts.allowから/etc/hosts.denyへと解釈されます。
どちらにも一致しなかった場合は許可となりますので/etc/hosts.denyの最後に
次の一行を追加しておくことをお勧めします。
ALL : ALL : deny

またsshdにアクセスがあった場合にメールを送ることも可能です。
※メールを送信出来る環境の場合です。
下にサンプルを書いておきます。

# for sshd local access
sshd : 192.168. : ALLOW
# for sshd etc access with mail
sshd : xxx.xxx.xxx.xxx : spawn ( /usr/bin/mail -s “sshd connected from %h” yourname@yourmail.com) &

上の行が192.168から始まるアドレスを許可(メールは送られません)
下の行がxxx.xxx.xxx.xxxからアクセスがあった場合に許可しますが、同時にメールを送信します。
※ポートへの接続自体の許可であって、SSHの認証は当然必要です。
“sshd connected from %h”の部分がメールの件名として送られてきます。
%hは接続してきたホスト名(又はIP)に置き換えられて送信されます。
yourname@yourmail.comは送信先のメールアドレスとなります。
※標準の25番ポートを開けて使うのは、かなりの確率でアタックを受けるのでお勧めしません。

cronのログ出力先変更

MRTGを動かしていると5分に1回syslogにcronのログが出力され
syslogを見ても非常に見難くなります。

cronの-Lオプションでwarn以上しか出力しないように設定してみましたが
上手く動かずsyslogに出力されてしまいます。
そこでcronのログをsyslogではなく独立して出力するように変更します。

T4のlennyではrsyslogが使用されているので/etc/rsyslog.confを修正します。
以下の行があるので変更します。

#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log

#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
cron.* /var/log/cron.log  ←追加
*.*;auth,authpriv.none;cron.none -/var/log/syslog  ←cron.noneの追加
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log

変更後にrsyslogをリスタートするか、システムをリブートすれば適応されます。

続いてntpのログもsyslogから切り離します。
ntpのログ設定はntpdオプション用のファイルを修正します。

# vi default/ntp

NTPD_OPTSに以下の用に追加してください。
-l /var/log/ntp.log

ntpデーモンを再起動すれば/var/log/ntp.logが出来ているはずです。

未確認ですが、恐らくこのままではログは肥大化を続けるので
logrotateを使って、ログをローテーションさせてあげます。

新規にlogrotate用のファイルを作成して登録します。
# vi /etc/logrotate.d/ntp

内容はご自分でローテーションさせたい値に書き換えてください。

/var/log/ntp.log {
weekly
rotate 12
compress
missingok
}

これで/var/log/ntp.log がローテーションされます。

dhcp3-serverのログも結構頻繁に出るので独立させます。
基本的にはcronと同じ方法ですが、/etc/dhcp3/dhcpd.confの以下の行をまず確認します。

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

log-facility local7;が該当箇所です。
これはsyslogでlocal7というfacilityを使うという意味です。
もし他のデーモンがlocal7を使っていると、そのログまで一緒に別のファイルに書き込まれることになるので、local7の数字の部分を書き換える必要があります。
他で使われていなければそのままで構いません。

/etc/rsyslog.confを開いてcronと同様に追加、修正します。
追加、修正する文字はlocal7(書き換えていたら書き換えたもの)となります。
両サービスを再起動すれば、ログは別れて出力されます。

またlogrotateもcronと同じように設定する必要があります。

これらのログファイルを分けることでsyslogは大変見やすくなりました。
(ntpやdhcp-serverなどは、システムのログに比べて重要性は下がりますが、チェックはした方が良いと思います)

追記
smartmontoolsも同じようにsyslogのfacilityを指定可能です。

smartdのオプションを見ると以下のように書いています。

smartd version 5.38 [powerpc-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Usage: smartd [options]

-c NAME|-, –configfile=NAME|-
Read configuration file NAME or stdin [default is /etc/smartd.conf]

-d, –debug
Start smartd in debug mode

-D, –showdirectives
Print the configuration file Directives and exit

-h, –help, –usage
Display this help and exit

-i N, –interval=N
Set interval between disk checks to N seconds, where N >= 10

-l local[0-7], –logfacility=local[0-7]
Use syslog facility local0 – local7 or daemon [default]

-n, –no-fork
Do not fork into background

-p NAME, –pidfile=NAME
Write PID file NAME

-q WHEN, –quit=WHEN
Quit on one of: nodev, errors, nodevstartup, never, onecheck, showtests

-r, –report=TYPE
Report transactions for one of: ioctl[,N], ataioctl[,N], scsiioctl[,N]

-V, –version, –license, –copyright
Print License, Copyright, and version information

/etc/default/smartmontoolsのsmartd_optsに–logfacility=local6などと追加すればOKです。
後はsyslogの設定でlocal6(オプションで指定したlocal)のログを切り離せば別にログを吐き出せます。