ヒライケンジ

近所のショッピングモールで、ヒライケンジのライブがあったので、行って来ましたw

すごい人で、写真にきれいに収められなかったけど、エンタの神様とかで見るよりキモかったと印象に残ってますwwwwwww
それにしてもすごい人だかりですね・・・( ;´・ω・`)
先週あったゲキレンジャーのショーの倍ぐらい人がいたかも・・・(;´∀`)

セキュリティ ポリシーは伝達されましたが、警告があります。

昨夜、VPNでダラダラと会社のWindowsServerのイベントログを眺めていたら、「セキュリティ ポリシーは伝達されましたが、警告があります。0x5: アクセスが拒否されました。」とのエラーが5分置きにアプリケーションログに残されていた。
ドメインコントローラで、ドメインアドミニ持ってるのにアクセス拒否??
と思ってググってみる。
MSのサポートを見ながら早速調査開始!
まず、レジストリエディタを開いて、
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\{827D319E-6EAC-11D2-A4EA-00C04F7 9F83A}
の中の「ExtensionDebugLevel 」の値を2に変更。
詳細な情報を調べていないが、たぶん、ポリシー更新の際のデバッグログを残す設定らしい。
んで、
secedit /refreshpolicy machine_policy /enforce
で更新。
C:\WINDOWS\Security\Logs\
の中にwinlogon.logて、ファイルが出来ているので、中身を見てみる。
フムフム・・・。
messengerに対するポリシー変更の際にエラーを吐いている。
そういや、会社で買った資産管理ツール上の設定で、メッセンジャーやらwinnyやら禁止していたかな・・・。
ドメインコントローラもその対象だったっけ。
つまり、資産管理ツールで既に操作出来ない用にされているから、ポリシーの変更の際も操作出来ないってわけか。
ドメインポリシーの中にある、サービスの項目のmessengerに対する設定を未定義に戻して再度ポリシーの更新。。。。
上手くいったヽ(´ー`)ノ
つか、余計なもん買ってしまった・・・orz
ActiveDirectoryをもっと勉強してれば、あんな無駄なツールを買わずに済んだのに・・・。

logwatch

自宅サーバでデフォルトのまま動いていたlogwatchのレポートがウザかったので、設定を見直してみた。
Fedoraの場合、「/usr/share/logwatch/default.conf/logwatch.conf」に設定ファイルが置いている。
※RHEL4だと/etc/log.d/logwatch.confに置いてある。
# The ‘Service’ option expects either the name of a filter
# (in /usr/share/logwatch/scripts/services/*) or ‘All’.
# The default service(s) to report on. This should be left as All for
# most people.
Service = All
下記を追加
Service = -qmail
Service = -pop3
Service = -vsftpd
Service = -secure
これで毎日送られて来ていた数百行のlogwatchのレポートが軽くなるw
ウチは、ファイアウォールなんて上層に立てていないので、SSHやFTPで不正侵入を試みようとするログが数千行・・・。
加えて、ローカルから5分毎に新着メールを確認しているので、pop3のログが5分×15回×24時間=1800行以上・・・。
昨日のlogwatchでいうと、先頭の
##### Logwatch 7.2.1 (01/18/06) #####
から、最後の
##### Logwatch End #####
までの総行数は・・・
64095行!!!!
テキストだけのメールで2.6MBって、どんだけ~!?

会社のメールサーバのリプレース

先月末に会社のメールサーバのリプレースを行った。
合わせてSpamassassinで迷惑メールも弾くようにした。
迷惑メールの運用としては、

Spamassassinのスコア閾値は「6.5」
スコア値「6.5~10までは、件名を変えてメール配送」
スコア値「11以上は、別アカウントへ転送」
「どのメールが転送されたかを1日一回、ユーザへメールする」

といった運用にする。
.procmailrcに下記を記述。
———————-
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOCKFILE=$HOME/.lockmail
#Spam判定されていないメールは一度SpamAssassinへ送る。
#アカウントが150個以上もあるので、2MBを越すメールに対しては
#チェックを行わない。
:0fw
*!^X-Spam.*
* < 2097152 |/usr/bin/spamc #ヘッダーの「X-Spam-Level」を確認して、’*’が11個以上だったら #メールの送信時間を環境変数$MATCHへ格納。
#格納した$MATCHの値を、Spam-Listファイルへ記述。
:0 c
*^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*
*^Date: *\/.*
| echo “Time:$MATCH” >> $HOME/Spam-List
#ヘッダーの「X-Spam-Level」を確認して、’*’が11個以上だったら
#メールの送信者を環境変数$MATCHへ格納。
#格納した$MATCHの値を、Spam-Listファイルへ記述。
:0 c
*^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*
*^From: *\/.*
| echo “From:$MATCH” >> $HOME/Spam-List
#ヘッダーの「X-Spam-Level」を確認して、’*’が11個以上だったら
#メールの件名を環境変数$MATCHへ格納。
#格納した$MATCHの値を、Spam-Listファイルへ記述。
:0 c
*^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*
*^Subject: *\/.*
| echo “Subject:$MATCH” >> $HOME/Spam-List
#ヘッダーの「X-Spam-Level」を確認して、’*’が11個以上だったら
#空白行をSpam-Listファイルへ記述。
:0 c
*^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*
| echo “” >> $HOME/Spam-List
#ヘッダーの「X-Spam-Level」を確認して、’*’が11個以上だったら
#管理者アカウントにメールを転送。
:0
*^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*
! virus@xxxxxxxxx.com
———————-
このprocmailの内容で、メールが届くたびに内容をチェックし、一定レベル以上のスパムだと、Spam-Listファイルにこんな感じのメールリストが記述される。
Time: Tue, 06 Nov 2007 00:06:13 -0500
From: “Beau Z. Juarez”
Subject: *****SPAM***** If you treat your filly as a goddess, why not become a God in her bedroom?
(ここは空白行)
次に行うのは、「どうやってここのユーザにメールを送るか?」だ。
今回の場合、お粗末だが「.spam-report.sh」と言った簡単なシェルスクリプトを組んでみた。
.spam-report.shに下記を記述。
———————-
#!/bin/sh
#pwdコマンドで得た結果(/home/ユーザー名)から、‘ユーザー名‘のみを抜き出し、’name’に代入する。
pwd > name
name=`cut -c 7- name`
#スクリプトにて追加した文字をSJISに変換する。
nkf -j Spam-List > Spam-List-j
#ユーザーへメールを送信する。
mail -s “SPAM Mail-Block Report” $name@xxxxxxxxx.com < Spam-List-j #古い情報が記録されているSpam-Listを削除。以降の情報を記録するSpam-Listの作成。 rm -rf Spam-List touch Spam-List chmod 660 Spam-List #’何時から取得している情報です‘って意味にしたかったんだけど、コレは要らんかもしれない。 date +"%Y/%m/%d %k:%M ~" >> Spam-List
echo “” >> Spam-List
#ユーザへ通知したい文の入力。
#ここは好きなようにしてくれ。
echo “お疲れ様です。” >> Spam-List
echo “$nameさんのスパムメールのブロック情報を通知します。” >> Spam-List
echo “情報が記載されていない場合、ブロックされたメールはありません。” >> Spam-List
echo “” >> Spam-List
———————-
Spamassassinに転送する.qmailファイルを合わせても、3つのファイルをユーザディレクトリに配置する。
さすがにそこはコピーするだけのスクリプトを組んだが・・・。
そうそう。
新規ユーザが作成された時に一緒に作成されるように、/etc/skelにも追加する事。
一定時間にスクリプトを走らせるから、下の記事で書いているように、/var/spool/cron/にユーザ分のcronファイルをコピって上げればよい。

routeコマンド

忘れないように自分用の備忘録。
NICを2枚つんだLinuxマシンの場合、routeコマンドを使ってスタティックな転送経路を作ってあげる必要がある。
会社の構成だと、
データセンターのIP:eth0=xxx.xxx.xxx.195(一応伏字だけど、グローバルIP)
            :eth1=172.23.8.2(会社⇔iDC間のVPN)
会社のIP:192.168.2.x
当たり前だが、デフォルトゲートウェイは1つだけだから、この場合はグローバルIPが振ってあるeth0になる。
会社からサーバのeth1に疎通を図っても、デフォルトゲートウェイからパケットを出そうとするので応答が帰ってこない。
そこで、routeコマンドを使い、
route add -net 192.168.2.0 gw 172.23.8.1 netmask 255.255.255.0 eth1
と打って、スタティックルートを設定してやらなければならない。
【200/11/12追記】
rooutコマンドでは、ネットワークの再起動を行った時に設定内容がクリアされてしまう。
恒久的に設定を行う場合、/etc/sysconfig/network-scripts/route-eth*に設定内容を記述する必要がある。
【route-eth* の記述例】
「ネットワーク[192.168.2.0/24]へは、ゲートウェイ[192.168.1.1]を経由する」と記述をする場合。
192.168.2.0/24 via 192.168.1.1
これでネットワークを再起動してもスタティックルートが消滅しない。