カテゴリー別アーカイブ: サーバ関連

サーバ・サービスに関するTipsです。

DNSサーバーを稼動させる

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

ここでは、DNS サーバーにて登録する情報を下記のように表記します。実際の設定時は各自の環境に合わせて変更してください。

ドメイン名 mydomain
PC PC名 IPアドレス
DNSサーバー(つまり自分) mypc 192.168.0.254
登録するPC pc1 192.168.0.2
登録するPC pc2 192.168.0.3
登録するPC pc3 192.168.0.4

ソフトウェアのインストール

Pather および Leopard の場合は特にインストールは必要なし。

Pather, Leopard ユーザーはここをクリックして次の項目へジャンプ!!

Tiger の場合は下記のように bind9 をインストールする。私が使用した bind は v9.3.1_1。

# port -d selfupdate
# port install bind9

設定

rndc キーの用意

$ su -
Password: ******* ... root のパスワードを入力

# rndc-confgen -a -b 512




named.conf の編集

# vi /etc/named.conf

-- 黄色部分が追加部分
// Declares control channels to be used by the rndc utility.
// It is recommended that 127.0.0.1 be the only address used.
// This also allows non-privileged users on the local host to manage
// your name server.
//
controls {
     inet 127.0.0.1 port 54 allow {any; };
};

options {
	directory "/var/named";
	/*
	 * If there is a firewall between you and nameservers you want
	 * to talk to, you might need to uncomment the query-source
	 * directive below.  Previous versions of BIND always asked
	 * questions using port 53, but BIND 8.1 uses an unprivileged
	 * port by default.
	 */
	// query-source address * port 53;


	// BIND の利用を許可する範囲を設定。特になくても良いけど
	allow-query {
		127.0.0.1;
		192.168.0.0/24;
	};

	// 提議したホストのみゾーン転送を許可する。特になくても良い
	allow-transfer {
		127.0.0.1;
		192.168.0.0/24;
	};

	// mypc が問い合わせるべき外部の DNS サーバー
	// ルータのアドレスまたは
	// インターネットプロバイダの DNS アドレスを入れる
	// レスポンスに大きく関係するのでぜひ入れるべき
	forwarders {
		XX.XX.XX.XX;	// プライマリ DNS
		XX.XX.XX.XX;	// セカンダリ DNS
	};

};

// 
// a caching only nameserver config
// 
zone "." IN {
	type hint;
	file "named.ca";
};

zone "localhost" IN {
	type master;
	file "localhost.zone";
	allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "named.local";
	allow-update { none; };
};


// 正引き用の設定
zone "mydomain" {	// 使用するドメイン名
	type master;
	file "named.hosts";
};

// 逆引き用の設定
zone "0.168.192.in-addr.arpa" {	// 使用するアドレスの上位3つの逆
	type master;
	file "named.rev";
};

-- ここまで

mydomain.zone の作成

# vi /var/named/named.hosts

-- 以下を新規作成
$TTL	1D
@	IN	SOA	mypc.mydomain.	root.mypc.mydomain. (
	2005030201	; シリアルNo。YYYYMMDD + 数字2桁とするのが吉。
			; ファイルを変更した場合、必ず数字を上げること。
	3H		; リフレッシュレート
	1H		; リトライ間隔
	1W		; 有効期限
	1D )		; TTLの最小値
;
	IN	NS	mypc.mydomain.
;
mypc	IN	A	192.168.0.254
pc1	IN	A	192.168.0.2
pc2	IN	A	192.168.0.3
pc3	IN	A	192.168.0.4

; ここから下はお好みで。別名の設定
dns	IN	CNAME	mypc
www	IN	CNAME	mypc
ftp	IN	CNAME	mypc
-- ここまで

named.rev の作成

# vi /var/named/named.rev

-- 以下を新規作成
$TTL	1D
@	IN	SOA	mypc.mydomain.	root.mypc.mydomain. (
	2005030201	; シリアルNo。YYYYMMDD + 数字2桁とするのが吉。
			; ファイルを変更した場合、必ず数字を上げること。
	3H		; リフレッシュレート
	1H		; リトライ間隔
	1W		; 有効期限
	1D )		; TTLの最小値

	IN	NS	mypc.mydomain.	;最後のピリオド (.) を忘れずに

254	IN	PTR	mypc
2	IN	PTR	pc1
3	IN	PTR	pc2
4	IN	PTR	pc3
-- ここまで

DNS サーバーアドレスの書き換え

ネットワーク設定

mypc の [ネットワーク設定] にて DNS に 127.0.0.1 を設定して、ちゃんと自身の DNS を使用するようにしておく。

設定した後は、ちゃんと resolv.conf にて設定が反映されているか確認しよう。下記のようにすると確認ができる。

$ cat /etc/resolv.conf

-- 上記コマンドにて下記のように表示されれば OK 。
nameserver 127.0.0.1

このように表示されなかったら、もう一度ネットワーク設定を見直そう。

Mac 起動時に自動的に DNS (bind)を起動する

Leopard の場合

# launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
ココをクリックして次の章へジャンプ。

Panther (10.3), Tiger (10.4) の場合

# cd /etc
# vi hostconfig

-- ファイル後半にある下記の行を黄色の様にする。
DNSSERVER=-YES- ... -NO- を -YES- にすることで起動時に bind が起動する

これにて、次回起動時より DNS が自動的に起動するようになる。今すぐ立ち上げたいときは下記のようにする。

# /System/Library/StartupItems/BIND/BIND start
BIND を再起動する際にも、いちいち stop してから start すること。もし restart を使った場合、named が追加で起動するようになり、設定を変更したとしても反映されなくなるので注意。
zone, rev (正引き・逆引き設定ファイル)を修正した場合、必ずシリアル番号を上げること。そうでないと設定が正しくロードされない。

テスト

  • BIND 起動時に system.log にて何かエラーが出ていないか確認する。
  • nslookup を起動して mypc や pc1 などと入れてちゃんと IP アドレスが表示されるか確認する。
  • nslookup を起動して 192.168.0.254 や 192.168.0.2 などと入れてちゃんと PC 名が表示されるか確認する。

参考サイト


受信メールをウィルスチェックする

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

メールには、こちらに送られてくる受信メールと、こちらから送る送信メールがある。ここでは、こちらに送られてくるメールを受信すると同時にウィルスに感染していないか調べるシステムを導入する。

こちらから送信するメールについては今回のチェックの対象外としている。




インストール

使用ソフト

  • clamav 0.92.1

インストールの前に

Binc IMAP のインストールには Darwinports を使用する。port をまだインストールしていない場合は、インストールしておく。(インストールの仕方はココをクリック)

インストール

# port install clamav

インストール時は必要に応じて gmp もインストールされる。

clamav グループ及びユーザの設定

この設定は Panther のみ必要。Tiger, Leopard では必要ない。すでに clamav (Leopard では _clamav)ユーザー及びグループが設定されているためだ。なので Panther 以外のユーザーはスキップしよう。(ここをクリックしてスキップ)

グループの空き番号確認

次の章で作成する clamav グループの ID に 30 を使うこととし、それが既に使われていないか念のために確認する。

$ nidump group . | sort -n -t : -k 3 ... グループ ID にて 30 番がすでに使われていないかチェック
(中略)
postfix:*:27: ... ':' で仕切られた 3 つ目が ID
postdrop:*:28:
guest:*:31:root ... 28 の次が 31 なので 30 番が空いていることがわかる
utmp:*:45:
uucp:*:66:
(以下略)

clamav グループの作成

# echo 'clamav:*:30:Clam AntiVirus' | niload group .

もし、上の章で調べた結果、30 番が使われていたら、別の番号 (32 とか 401 とか) を使用する。使われている番号は絶対に使用しないこと。

ユーザの空き番号確認

次の章で作成する clamav ユーザの ID に 30 を使うこととし、それが既に使われていないか念のために確認する。

$ nidump passwd . | sort -n -t : -k 3 ... ユーザ ID にて 30 番がすでに使われていないかチェック
(中略)
lp:*:26:26::0:0:Printing Services:/var/spool/cups:/usr/bin/false
	... ':' で仕切られた 3 つ目が ID
postfix:*:27:27::0:0:Postfix User:/var/spool/postfix:/usr/bin/false
www:*:70:70::0:0:World Wide Web Server:/Library/WebServer:/usr/bin/false
	... 27 の次が 70 なので 30 番が空いていることがわかる
(以下略)

clamav ユーザの作成

# echo 'clamav:*:30:30::0:0:Clam AntiVirus:/var/empty:/usr/bin/false' | \
 niload passwd .

最初の 30 がユーザ ID。次の 30 が先ほど設定したグループ IDとなる。それぞれ、30 以外を設定する場合はそれに合わせて変えること。

設定

freshclam.conf の修正

# cd /opt/local/etc
# cp ./example-freshclam.conf ./freshclam.conf

# vi ./freshclam.conf
(以下、黄色部分を追加・修正)

(8 行目あたり)
# Example

(17 行目あたり  先頭の # を外す)
UpdateLogFile /var/log/clamav/freshclam.log

(33 行目あたり  先頭の # を外す)
LogVerbose yes

46 行目あたり  先頭の # を外す)
PidFile /var/run/freshclam.pid

51 行目あたり  先頭の # を外す)
DatabaseOwner clamav ... Panther, Tiger の場合
DatabaseOwner _clamav ... Leopard の場合

(63 行目あたり  先頭の # を外す)
DNSDatabaseInfo current.cvd.clamav.net

(67 行目あたり  先頭の # を外す)
DatabaseMirror db.jp.clamav.net ... 日本からのアクセスの場合、XY を消して jp にする
 ... アメリカからであれば us となる

(77 行目あたり  先頭の # を外す)
MaxAttempts 5

(85 行目あたり  先頭の # を外す)
Checks 24

clamd.conf の修正

# cd /opt/local/etc
# cp ./example-clamd.conf ./clamd.conf

# vi ./clamd.conf
(以下、黄色部分を追加・修正)

(8 行目あたり)
# Example

(14 行目あたり  先頭の # を外す)
LogFile /var/log/clamav/clamd.log

(34 行目あたり  先頭の # を外す)
LogTime yes

(52 行目あたり  先頭の # を外す)
LogVerbose yes

(57 行目あたり  先頭の # を外す)
PidFile /var/run/clamd.pid

(110 行目あたり  先頭の # を外す)
MaxThreads 20

(135 行目あたり  先頭の # を外す)
SelfCheck 1800

(144 行目あたり  先頭の # を外す)
User clamav ... Panther, Tiger の場合
User _clamav ... Leopard の場合

必要なディレクトリ・ファイルの作成

# cd /var/log
# mkdir clamav
# touch clamav/clamd.log
# touch clamav/freshclam.log
# chmod 755 clamav
# chmod 644 clamav/* ... clamav 内の全ての log へ変更
# chown -R clamav:clamav clamav ... Panther, Tiger の場合
# chown -R _clamav:_clamav clamav ... Leopard の場合

# cd /var/run
# touch ./clamd.pid
# touch ./freshclam.pid
# chown clamav:clamav ./clamd.pid ... Panther, Tiger の場合
# chown _clamav:_clamav ./clamd.pid ... Leopard の場合
# chown clamav:clamav ./freshclam.pid ... Panther, Tiger の場合
# chown _clamav:_clamav ./freshclam.pid ... Leopard の場合

# cd /opt/local/share
# chown -R clamav:clamav clamav ... Panther, Tiger の場合
# chown -R _clamav:_clamav clamav ... Leopard の場合

自動起動設定

ディレクトリの作成

# cd /System/Library/StartupItems
# mkdir CLAMAV
# mkdir CLAMAV/Resources
# mkdir CLAMAV/Resources/English.iproj

CLAMAV ファイルの作成

# cd /System/Library/StartupItems/CLAMAV
# vi CLAMAV

-- 以下のファイルを作成
#!/bin/sh
. /etc/rc.common

PIDDIR=/var/run/StartupItems

StartService ()
{
    if [ "${CLAMAV:=-NO-}" = "-YES-" ]; then
    ConsoleMessage "Starting ClamAV"
        /opt/local/bin/freshclam -d
        /opt/local/sbin/clamd
        else
        NoService
    fi
}

StopService ()
{
    ConsoleMessage "Stoping ClamAV"
        if [ -f $PIDDIR/clamd.pid ]; then 
		kill -9 $(head -1 $PIDDIR/clamd.pid)
	fi
        if [ -f $PIDDIR/freshclam.pid ]; then 
		kill -9 $(head -1 $PIDDIR/freshclam.pid)
	fi
}

RestartService ()
{
    if [ "${CLAMAV:=-NO-}" = "-YES-" ]; then
    ConsoleMessage "Restarting ClamAV"
    StopService
    StartService
    else
    StopService
        NoService
    fi
}

NoService ()
{
        ConsoleMessage "Service is disabled in /etc/hostconfig

        Unable to start
        "
}

RunService "$1"
-- ここまで

# chmod 755 ./CLAMAV ... 実行属性を与えておく

StartupParameters.plist の作成

# cd /System/Library/StartupItems/CLAMAV
# vi StartupParameters.plist

-- 以下のファイルを作成
{
  Description    = "CLAMAV";
  Provides        = ("CLAMAV");
  Requires        = ("Resolver");
  OrderPreference    = "NONE";
  Messages =
  {
    start = "Starting ClamAV";
    stop  = "Stopping ClamAV";
    restart = "Restarting ClamAV";
  };
}
-- ここまで

Localizable.strings の作成

# cd /System/Library/StartupItems/CLAMAV/Resources/English.iproj
# vi Localizable.strings

-- 以下のファイルを作成
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
    <key>CLAMAV</key>
    <string>CLAMAV</string>
    <key>Starting ClamAV</key>
    <string>Starting ClamAV/string>
    <key>Stopping ClamAV</key>
    <string>Stopping ClamAV</string>
    <key>Restarting ClamAV</key>
    <string>Restarting ClamAV</string>
    <key>Service is disabled in /etc/hostconfig
        Unable to start</key>
    <string>Service is disabled in /etc/hostconfig
        Unable to start</string>
</dict>
</plist>
-- ここまで

hostconfig の修正

# vi /etc/hostconfig

-- ファイルの最後に下記の行を追加する
CLAMAV=-YES-
-- ここまで

clamav 起動

実行させるには下記のようにする。

# SystemStarter start "CLAMAV"

または Mac を再起動しても良い。

起動したら、/var/log/clamav 以下のログファイルを見て、起動時にエラーが起こっていないか確認しよう。エラーが出ていたら、改めて設定を確認しよう。

各ユーザーの設定

.procmailrc の修正

ここまでできたら、各ユーザーがメール受信時にウィルスチェックを行うように設定する。

下記の変更は各ユーザーに対して行う必要がある。

$ cd $HOME
$ vi .procmailrc

-- 以下黄色部分を追加
PATH=/usr/bin:/usr/local/bin:/opt/local/bin
LOCKFILE=$HOME/.lockmail
MAILDIR=$HOME/Library/Maildir
DEFAULT=INBOX/new
VIRUSDIR=Trash/new
#VIRUSDIR=/dev/null ... ウィルスメールを受信せず破棄する場合はこのコメント (#) を外す
#LOGFILE=$HOME/procmail.log

:0 wf
* ! ? /opt/local/bin/clamdscan --quiet -
| formail -i "Subject: !!Virus Detected by ClamAV!!"
:0 a:
*^Subject: !!Virus Detected by ClamAV!!
$VIRUSDIR

:0
SCORE=| /opt/local/bin/spamprobe receive
:0 wf
| formail -I "X-SpamProbe: $SCORE"
:0 a:
*^X-SpamProbe: SPAM
Trash/new

動作説明

ウィルスの定義ファイルは freshclamd によって 1 時間に 1 回の割合で自動的に更新される。

ウィルス付きのメールが送られてくると、メールのゴミ箱に “!!Virus Detected by ClamAV!!”というタイトルで送られる。手動で削除するなり、必要に応じて調べるなりしよう。もしくは .procmailrc の設定にてウィルスメールを受信せずそのまま破棄するようにすることもできる。


X.509証明書を作成する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)




X.509 証明書を作成する

個人で使うだけなので、正式な証明書を申請するのではなく、自己署名したものを作成する。

# cd /System/Library/OpenSSL/certs/

# openssl genrsa -out server.key 1024
# openssl req -new -x509 -key server.key -out server.crt

(画面に従って黄色のようにキー入力が必要)
(中略)
Country Name (2 letter code) [AU]:JP ... 住んでいる国コード
State or Province Name (full name) [Some-State]:Hyogo ... 都道府県名
Locality Name (eg, city) []:Kobe ... 市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:personal use ... 個人使用なので
Organizational Unit Name (eg, section) []: ... 個人使用なのでブランク
Common Name (eg, YOUR name) []:貴方の名前を入力
Email Address []:貴方の e-mail アドレスを入力

作成できたら、下記のようにパーミッションを変更しておく。

# cd /System/Library/OpenSSL/certs/
# chmod 600 server.key
# chmod 600 server.crt

IMAPメールサーバーにSSLで接続できるようにする

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

IMAP4 は複数の PC にてメールを一元的に使えて便利です。そうなると自宅外からもアクセスしたくなりますが、その場合に問題となってくるのがセキュリティです。IMAP4 も POP3 同様にアクセス時は ID もパスワードも平文にて送られますので盗聴される危険があります。そこで、外部からのアクセスには SSL を使用できるように設定します。

設定にあたっては、先にあった IMAP4 を使ったメールサーバーを構築するの通りにメール環境が構築されていることを前提とします。




インストール

ここで必要なものは OpenSSL, Binc IMAP の 2 つ。OpenSSL は OS に標準でインストールされているので特に用意する必要なし。Binc IMAP は先の設定でインストールされている。そのため、新たにインストールするものはない。

設定

X.509 証明書を用意する

下記のリンクに従って、X.509 証明書を作成する。

その後、下記のように Binc IMAP 用のファイルを作成する。

# cd /System/Library/OpenSSL/certs/

# cat server.key server.crt > /opt/local/etc/bincimap/bincimap.pem
# chmod 0400 /opt/local/etc/bincimap/bincimap.pem

Binc IMAPの設定

特になし。

IMAP SSLデーモンの自動起動設定

Leopard の場合

# cd /Library/LaunchDaemons
# vi imaps.plist

-- 以下の内容を記述する
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>imaps</string>
        <key>Nice</key>
        <integer>-7</integer>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/local/bin/bincimap-up</string>
                <string>--ssl</string>
                <string>--conf=/opt/local/etc/bincimap/bincimap.conf</string>
                <string>--logtype=syslog</string>
                <string>--</string>
                <string>/opt/local/bin/checkpassword-pam</string>
                <string>-s</string>
                <string>bincimap</string>
                <string>/opt/local/bin/bincimapd</string>
        </array>
        <key>ServiceDescription</key>
        <string>binc IMAP SSL</string>
        <key>Sockets</key>
        <dict>
                <key>imaps993</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>imaps</string>
                </dict>
        </dict>
        <key>inetdCompatibility</key>
        <dict>
                <key>Wait</key>
                <false/>
        </dict>
</dict>
</plist>

設定が終わったら下記のようにして Binc IMAP を起動する。または Mac を再起動しても良い。

# launchctl load /Library/LaunchDaemons/imaps.plist

ここをクリックして次の章にジャンプ。

Tiger 以前の場合

# cp /opt/local/etc/bincimap/xinetd/imaps.sample /etc/xinetd.d/imaps

設定が終わったら下記のようにして Binc IMAP を起動する。または Mac を再起動しても良い。

# kill -HUP `cat /var/run/xinetd.pid`

メールクライアントの設定

Apple Mail の場合

わかると思うのでここでは割愛。必要な人はメールをください。

Microsoft Outlook 2002 の場合

  1. メニューバーより、[ツール] – [メールアカウント] を選択。
  2. 「すでに存在するアカウントの表示/修正」を選択して [次へ] ボタンを押す。
  3. IMAP SSLにてアクセスしたいアカウントを選択して、[変更] ボタンを押す。
  4. [More Settings …] を押す。
  5. 表示されるウィンドウにて、[Advanced] タブを選択する。
  6. 表示されるウィンドウにて、「This server requires an SSL-secured connection (SSL)」にチェックを入れる。
    すると、その上の使用ポート番号が 993 に変わる。

設定を保存し、これまでのように受信箱にアクセスする。

この場合、証明書は自己署名なので、毎回サーバーへの接続時に下記のように警告が表示されるが [はい] を押すことでちゃんと接続できる。

セキュリティ証明書の警告

警告がうっとおしいので、LAN 内からのアクセスの場合は通常の IMAP で、外部からのアクセスのみ IMAP SSL を使うとよい。

迷惑メールをフィルタリングする

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

Mac OS Xのメールクライアント Mail はよく出来たメーラーで、自身で迷惑メール (SPAM) のフィルタリングができる。けれど、IMAP4 を使って複数のメールクライアントで参照するとなると、メール受信時に迷惑メールをふるいわける必要があるしその方が便利。(それぞれのメールクライアントでフィルタ設定をしてられないから。)ここでは、spamprobe を使った迷惑メールのふるいわけについて説明する。

設定に当たっては、IMAP4 を使ったメールサーバーを構築するの通りにメール環境が構築されていることを前提としている。

使用ソフト

  • spamprobe 1.2a

spamprobe 入手とインストール

インストールの前に

spamprobe のインストールには MacPorts を使用する。port をまだインストールしていない場合は、インストールしておく。(インストールの仕方はココをクリック)

インストール

# port -d selfupdate
# port install spamprobe




設定

spamprobe 内部データベースフォルダの作成

$ cd $HOME
$ mkdir .spamprobe ... spamprobe 用データベース

迷惑メール振り分けフォルダの作成

フォルダ作成にはメールクライアントを使用する。ここでは、Apple Mail v1.3.9 を使って作成。

歯車ボタンを押す

  1. メールボックスが表示されていなかったら、1.に示したボタンを押して表示する。
  2. 歯車のボタンを押す。


[新規]を選択

  1. [新規] を選択する。


フォルダを作成

  1. [場所] が [この Mac 内] になっていることを確認する。
  2. [名前] に作成するフォルダ名を入れる。
    以下の 3 つのフォルダを作成する。
    • Spam
    • NoSpam
    • Trash


それと、Apple Mail の迷惑メール機能は必要ないのでオフにしておくと良い。

.procmailrc の編集

$ cd $HOME
$ vi .procmailrc

-- ここから (黄色が追加部分)
PATH=/usr/bin:/usr/local/bin:/opt/local/bin
LOCKFILE=$HOME/.lockmail
MAILDIR=$HOME/Library/Maildir
DEFAULT=INBOX/new
#LOGFILE=$HOME/procmail.log ... ちゃんと動かないときはここを有効にしてログを調べよう

:0
SCORE=| /opt/local/bin/spamprobe receive
:0 wf
| formail -I "X-SpamProbe: $SCORE"
:0 a:
*^X-SpamProbe: SPAM
Trash/new
-- ここまで

学習用スクリプトを設定

$ mkdir $HOME/bin ... まだ作っていない場合
$ vi $HOME/bin/spamproberc.sh ... 以下のファイルを作成する

-- ここから
#!/bin/bash

BIN=/opt/local/bin
IMAPDIR=$HOME/Library/Maildir

cd $IMAPDIR/NoSpam/cur/
for file in *
do
if [ -f $file ] ; then
        $BIN/spamprobe good $file
        mv $file $IMAPDIR/INBOX/cur/.
fi
done

cd $IMAPDIR/Spam/cur/
for file in *
do
if [ -f $file ] ; then
        $BIN/spamprobe spam $file
        mv $file $IMAPDIR/Trash/cur/.
fi
done

$BIN/spamprobe cleanup 2 14
-- ここまで

$ chmod 755 $HOME/bin/spamproberc.sh ... 実行可能にしておく

※viで編集したファイルを保存するには、vi上で [ESC] → : → wq と入力して[Enter]する。(キーの同時押しなどではないので一つづつ入力する)

学習機能の設定

cronで定期的に迷惑メールの学習とデータベースのメンテナンスを行う。

$ crontab -e
00 12 * * *	$HOME/bin/spamproberc.sh 2> /dev/null

※編集したファイルを保存するには、crontab上で [ESC] → : → wq と入力して[Enter]する。(キーの同時押しなどではないので一つづつ入力する)

使い方

上記により、送られてくるすべてのメールは一旦 spamprobe が内容を確認し、迷惑メールと判断されたら Trash へ、そうでなければ通常通り受信箱へ送られるようになる。でも、間違って判定してしまうことがあるので、その時は下記に従って spamprobe に学習させてあげる必要がある。(特に導入してすぐは学習が足りないので普通のメールでも迷惑メールと判定されることが多い。100 通くらいの迷惑メールを学習させるとかなり精度が良くなる)

必要なメールが間違って迷惑メールと判定された場合

NoSpamをチェック

  1. メーラーよりTrashのフォルダを開いて、必要なメールが混入していないか確認する。
  2. もし必要なメールが入っていたら、NoSpam に移動する。
  3. 最大一日待つと、学習され、メールは自動的に受信箱に戻される。


最初のうちは spamprobe の学習が足りずに、正しいメールでも Trash へ送られる可能性がある。なので、最初はまめに Trash を確認して正しいメールが入れられてないかチェックすること。

迷惑メールなのに受信箱に入れられたメールの場合

NoSpamをチェック

  1. 受信箱から迷惑メールを Spam に移動する。
  2. 最大一日待つと、移動した迷惑メールが学習され、その後自動的に Trash に移される。