SPFチェックの設定

なりすましメール対策として、SPFチェックをspamassassinに適用してみた時のメモ。

【環境】
spamassassin-3.2.5

【確認】
/etc/mail/spamassassin/init.pre内で、「loadplugin Mail::SpamAssassin::Plugin::SPF」がコメント化されている場合、コメントを外す。

【設定方法】
/etc/mail/spamassassin/local.cf(もしくはユーザーの設定ファイル)に、
whitelist_from_spf *@ドメイン
を記述後、spamassassinを再起動する。

【備考】
メールのログに”whitelist_from_spf: メールアドレス is in user’s WHITELIST_FROM_SPF but failed SPF check” とエラーが表示されている場合、正常にSPFチェックが稼動していない。

曖昧だけど、以下のパッケージをインストールすると正常に動作してくれた。
perl-Mail-SPF-Query.noarch
perl-Mail-SPF.noarch

正常にSPFチェックが行なわれ、認証された場合、X-Spam-Statusヘッダーに”USER_IN_SPF_WHITELIST”が付加される。

ubuntu8.10をメインマシンとして使ってみる。

先週、自宅のメインマシンであるWindowsXPが起動しなくなってしまった。

WindowsのMBRをリカバリ(失敗)→内蔵ディスクをUSB接続して、必要なデータのみセカンドマシンに移動→セカンドマシンが電源故障→メインマシンがSATAのディスクを認識しなくなる→撃沈→CMOSクリア→でもWindowsが起動しない→やけくそでubuntu8.10をメインにインスコ

と、引越しの前なので調べ物をしたい嫁さんの為に、最低限ネットを出来る環境を用意したが、
「りなっくす?分かんない。私用にノートパソコンを買う。」
と、翌日には東芝のA4ノート(vista)を買って帰って来ました。
ははは・・・。

結局、手元にインストール&ネットワーク設定だけされたubuntuが残りました。

まぁ、必要なデータはwindows機から吸い出してるし、嫁さんと共同でPCを使わなくて済むので、この際ubuntuをメインマシンとして仕上げるか!と思っています。

最初からある程度使いやすい仕様になっているOSですが、使い勝手やソフトウェアデータのインポートなど、後々調べて調整しようと思っている事を書き綴っておきます。

・SCIMの入力
 →「www」などタイプする時に、「w」キー×3だと「っっw」ってなる。「w(enter)×3」は面倒くさい。

・Firefoxが落ちる。
 →原因不明。Javascript関係?

・メールデータの引き継ぎ
 →windowsで使っていたBacky!からSylpheedへ過去のメールデータをインポートする。

・動画関係
 →AVIファイルが全体的に再生できないっぽいのでコーディックや使いやすいプレイヤーを探す。

ちなみに、googleデスクトップもubuntuで利用できるようになったっぽい。
ガジェットは使用はまだ使用出来ないが、googleデスクトップは使える。

定期メンテ→早く終わって会社でモンハン→対人センサー作動w

昨日は社内システムの定期メンテナンスの日。
っと言っても、windowsサーバのupdateをするだけwww

10時から開始して、13時には終わったので、会社の仲間二人と会議室に閉じこもってモンハンをやってましたw

G1の緊急クエ(ナルガクルガ)からG3までランクが上がって、そのままウカムを撃破!!

ここまでは予定どおりw
むしろ予定より進んで大満足www

問題は帰り際・・・。

廊下に設置してある対人センサーが「監視中」のランプを点滅させてやがる・・・。

朝OFFにしたハズなのに!?なぜ!?

おそらく、誰かがフラッと仕事に来て、帰り際にセンサーを起動させたみたいだ。

ビル1階の警備室の横にセンサーのON/OFFのスイッチがあるが、廊下に出た時点でセンサーに引っかかりアウト。

センサーに検知されると、10分ぐらいでALSOKのガードマンが飛んでくる・・・。

もう、気分はミッションインポッシブルwwwww

まぁ、悪いことはしていないので(会社でモンハンしてた事意外w)1階の管理室に電話してセンサーを止めて迎えに来て貰いましたw

そこから軽いお説教。

「お宅の会社は連携が取れていない」だとか、
「会社でゲームなんてしているから、こんな事に合うんだ」とか・・・。

あ〜、はずかしかった。

プロキシ認証下での対応

プロキシサーバのユーザー認証を求められる環境下で、yumとwgetを使えるようにする。

【yumの設定】

/etc/yum.confにプロキシサーバの情報を追記する。

・proxy=http://プロキシーサーバ:ポート番号/   ←最後の「スラッシュ(/)まで必要っぽい」

・proxy_username=ユーザー名

・proxy_password=パスワード

 

【wgetの設定】

/etc/wgetrcにプロキシサーバの情報を追記する。

・http_proxy = http://プロキシーサーバ:ポート番号/   ←最後の「スラッシュ(/)まで必要っぽい」

・use_proxy = on

・proxy_user=ユーザー名

・proxy_password=パスワード

 

ユーザー名とパスワードを平文で追記するのは気が引けるけど、いちいちプロキシを指定したくないのでガマンする。

CentOSでntfsフォーマットのusbディスクを使う

CentOSでは、Windowsのフォーマットであるntfsを認識できないので、fuseを使ってntfsを認識させてみる。

 

以下、やり方。

 

1.wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

2.rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

3.yum install fuse fuse-ntfs-3g dkms dkms-fuse

4.modprobe fuse

5.mount -t ntfs-3g /dev/sda1 /mnt/

opensshでchrootを動かす

「ウチとA社、ウチとB社、A社とB社は干渉させないでSFTPでファイルのやり取りをしたい」と言った用件が来た。

 

単純に所有グループ分けで、パーミッション770とかにしても、WinSCPとかで接続されると「どんなデータが存在するか?」が見えてしまう。

今回はそれすらさせたくないらしい。

 

んで、いろいろぐぐってみると、chrootを使用するのがあった。

openssh4.8まではパッチを当ててchrootを行なう必要があったらしいが、openssh4.9からは標準で組み込まれたみたい。

使っているCentOS5.2はopensshのバージョンは5.1なので、いけそう♪

 

 以下、やり方。

1.yumでrsshをインストールする。

  # yum -y install rssh

 

2.rsshのソースファイルの中にある、chroot作成の際のスクリプトを使うので、wgetなりでrsshをダウンロードする。

  ※chroot作成用のスクリプト以外は使用しないので、以下にrssh-2.3.0のスクリプトだけを置いておきます。

  mkchroot.sh

 

3.上記のmkchroot.shの引数に、chrootで作成したいディレクトリを指定して実行する。

  # ./mkchroot.sh /var/chroot/home1

 

4.chroot作成用のスクリプトは、homeディレクトリが作成されないので、手動で作成する。

  # mkdir /var/chroot/home1/home

 

5.chrootを使用するユーザを作成する。ホームディレクトリと合わせて、シェルをrsshに指定する。

  # useradd -d /var/chroot/home1/home/user -s /usr/bin/rssh user

  # passwd user

 

6./etc/passwdファイルに追加されたchrootユーザーの情報を、chrootディレクトリ内のetc/passwdファイルにコピーする。

 

7./etc/rssh.confを修正し、「allowsftp」の行のみコメントを外す。 ※scpやrsyncはコメントアウトのまま。

 

8.sshd_configを修正し、chroot用のディレクトリを作成する。

  Subsystem       sftp    internal-sftp

  Match Group home1

  PasswordAuthentication yes

  AllowAgentForwarding no

  AllowTcpForwarding no

  ChrootDirectory /var/chroot/home1

 

9.sshdを再起動して終了

 

これで、SFTPのみしか利用できない、不要なファイルを閲覧できないユーザーが作成された。

そもそもの要件である、「受け渡し」は、同様の手順で同じグループに所属するchrootユーザーを追加すれば良い。

ClamdとSpamdをsvscanで動かす。

前回導入した「qmailmrtg」用の対応です。

※qmailmrtgはmultilog形式にしか対応していないので、syslog形式のログでは集計してくれません。

 

日本語の情報が少ないので、自身の覚書の為に。

 

【/service/clamd/run】

#!/bin/sh
exec 2>&1
exec /bin/setuidgid qscand /usr/sbin/clamd

  

【/service/clamd/log/run】

#!/bin/sh
exec /bin/setuidgid qscand /bin/multilog t s16777215 n40 /var/log/clamd

 

【/service/spamd/run】

#!/bin/sh
MAX=10
exec spamd -i -m ${MAX} –username=qscand –syslog=stderr 2>&1

 

【/service/spamd/log/run】

#!/bin/sh
exec /bin/setuidgid qscand /bin/multilog t s16777215 n40 /var/log/spamd

 

いろいろ失敗も踏んだが、とりあえず現状は上記run内容で稼動している。

windowsupdateが出来ない件

先週末のビル停電後から、SSC(Symantec System Center)のサーバグループの解除が行なえない状態に陥っていた。

 

SSCが入っているサーバ自身がSymantec AntiVirus Corporate Editionの一次サーバなので、用は自分自身に接続できないって状態だった。

 

原因はぐぐってみると、SSCのサーバグループの解除の為に、RtvScan.exeってプロセスからの応答が必要らしいが、該当のサーバではそんなプロセスが起動していない。

 

”Symantec AntiVirusサービス”ってのが、RtvScan.exeを実行するサービスらしいので、サービス画面から手動で開始をしてみても、数秒で”停止”のステータスに変わってしまう。

イベントログ上にエラーコード”2000005F”が記録されていたので、それを元に再度検索すると、英語ページだが、Symantecのサポートページに辿り着いた。

 

ふむふむ。。。

 

まったくわからねー(´ー`)

 

とりあえず文中に”WindowsUPdate”がどうとか書いているので、一応WindowsUPdateのページに移動。

現在のシステム構成のスキャン中に「0x800B0001」エラーに遭遇。

 

またまたググってみる。

こちらのサイトに解決方法が記載されているのを発見。

さっそく該当のサーバで以下のコマンドを叩いてみる。

regsvr32 wintrust.dll  ⇒ 「wintrust.dll の DllRegisterServer は成功しました。」の結果が表示される。

regsvr32 softpub.dll  ⇒ 「softpub.dll の DllRegisterServer は成功しました。」の結果が表示される。

 

とりあえず現在は、WindowsUPdateちう・・・。

更新で上がってたのがXP SP3とは思わなかった・・・orz

SP3を入れ終わって、Symantec関係のエラーも解消されれば文句は無いんだけどね。

一定容量のテストデータを作成

テストデータとして250MBのファイルの転送速度を計測することになった。

適当にゴミファイルをzipでまとめても良いんだけど、ある程度正確な値を欲しかったので、きっちり250MBのファイルを作成した時のコマンドメモ。

 

dd if=/dev/zero of=testdate count=262144000 bs=1

postfix-logwatch

CentOS5.2で作ったpostfixの、logwatchのメールサイズが大きくて(1MBぐらい)、かなり読み辛いかったので、postfix-logwatchというものを入れてみた。

qmailの時は、logwatchのscriptでqmail-sendやらqmail-pop3やらあったので、”集計をしない!”って逃げ方をしたけど、postfixのscriptは1つだけしかないから、逃げることが出来ないっぽい。・゚・(ノ∀`)・゚・。

 

以下、インストール方法

wget http://www.mikecappella.com/logwatch/release/postfix-logwatch-1.37.08.tgz

tar zxf postfix-logwatch-1.37.08.tgz

cd postfix-logwatch-1.37.08

make install-standalone

mv /usr/local/etc/postfix-logwatch.conf /usr/share/logwatch/default.conf/services/postfix.conf

chown root:root /usr/share/logwatch/default.conf/services/postfix.conf

chmod 644 /usr/share/logwatch/default.conf/services/postfix.conf

mv /usr/local/bin/postfix-logwatch /usr/share/logwatch/scripts/services/postfix

chown root:root /usr/share/logwatch/scripts/services/postfix

chmod 755 /usr/share/logwatch/scripts/services/postfix

 

公式サイトにはこれで動作するはずだけど、手動で試してみるとlogwatchメールに以下のエラーが表示された。 

 

 ——————— Postfix Begin ————————

 “-T” is on the #! line, it must also be used on the command line at /usr/share/logwatch/scripts/services/postfix line 1.
 
 ———————- Postfix End ————————-

 

まあ、安直にscriptファイルの1行目を、”#!/usr/bin/perl -T”から”#!/usr/bin/perl -w”に変更して正常に動くようになった。