迷惑メイル対策など(postfix,amavis,qpopper,...)



bogofilter+kakasi <2006/02/03更新>

環境

インストール

netbsd用パッチ filebogofilter-netbsd.diff

% tar jxvf bogofilter-1.0.1.tar.bz2
% cd bogofilter-1.0.1
% patch -s -p2 < somewhere/bogofilter-1.0.1+kakasi-0.5.patch
% patch -s < somewhere/bogofilter-netbsd.diff
% CPPFLAGS=-I/usr/pkg/include LDFLAGS=-L/usr/pkg/lib ./configure --prefix=/usr/local --with-libdb-prefix=/usr/pkg
% make
# make install

postfix + ssl <2005/08/30更新>

環境

  • OS: Debian Linux 3.1 (ppc)
  • Kernel: linux-2.4.28
  • postfix: 2.2.4

鍵作成

# mkdir /etc/postfix/ssl
# cd /etc/postfix/ssl
# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
...++++++
..++++++
e is 65537 (0x10001)
# openssl req -new -x509 -key server.key -out server.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Kanagawa
Locality Name (eg, city) []:Kawasaki
Organization Name (eg, company) [Internet Widgits Pty Ltd]: 
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:example.com
Email Address []:postmaster@example.com

設定

main.cfに以下を追加

smtpd_tls_cert_file = /etc/postfix/ssl/server.crt
smtpd_tls_key_file = /etc/postfix/ssl/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/ssl/smtpd_scache
smtpd_tls_loglevel = 2
smtpd_tls_received_header = yes
smtpd_use_tls = yes
smtp_use_tls = yes

postgrey <2005/08/23更新>

環境

  • OS: Debian Linux 3.1 (ppc)
  • Kernel: linux-2.4.28
  • postfix: 2.2.4

インストール

# apt-get install postgrey

設定

/etc/postfix/main.cfで

smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_recipient, reject_unauth_destination, check_policy_service inet:60000

必要なら、 /etc/postgrey/whitelist_clients にホワイトリストホストを追加。

qpopperのSSL化 <2006/03/02更新>

環境

  • OS: NetBSD 2.0.2
  • qpopper: 4.0.8

openssl設定

http://www.eudora.com/products/unsupported/qpopper/faq.html#tls を参考に

# cp -p /usr/share/examples/openssl/openssl.cnf /etc/openssl/

証明書作成

証明書を置くディレクトリの作成

# mkdir -p -m665 /etc/mail/certs
# chown root:mail /etc/mail/certs
# chmod 660 /etc/mail/certs 

プライベート、パブリックキーの作成

# cd /etc/mail/certs
# openssl req -new -nodes -out req.pem -keyout /etc/mail/certs/cert.pem
いろいろ質問に答える

プライベートキーのパーミッション、ユーザ名を変更

# chmod 600 /etc/mail/certs/cert.pem
# chown root:0 /etc/mail/certs/cert.pem

req.pemの認証

本当は認証機関に送って認証してもらうが、自分で認証することもできる。以下は自分で認証する設定。

# openssl genrsa -des3 -out ca.key 1024
Generating RSA private key, 1024 bit long modulus
...................++++++
............................................................++++++
e is 65537 (0x10001)
Enter pass phrase for ca.key:
Verifying - Enter pass phrase for ca.key:
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt
Enter pass phrase for ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
# openssl x509 -req -CA ca.crt -CAkey ca.key -days 365 -in req.pem -out signed-req.pem -CAcreateserial
Signature ok
subject=/C=JP/ST=Kanagawa/L=Kawasaki/O=Internet Widgits Pty Ltd/CN=hogehoge/emailAddress=hogehoge@example.com
Getting CA Private Key
Enter pass phrase for ca.key:

認証された証明書をプライベートキーに追加

# cat signed-req.pem >>cert.pem 

qpopperの設定

/etc/mail/pop/qppoer.configを作成。中身は以下。

set tls-support = alternate-port
set tls-server-cert-file = /etc/mail/certs/cert.pem
set tracefile = /var/log/qpopper.log

/etc/inetd.confの設定

以下を/etc/inetd.confに追加。

pop3s stream tcp  nowait root /usr/pkg/libexec/qpopper qpopper -s -f /etc/mail/pop/qpopper.config

その後、

# kill -HUP (inetdのPID)

/etc/servicesでpop3sが995と設定されているので、port 995経由でssl popがアクセスできるようになります。

clientの設定(wanderlust)

以下の~/.wl等に追加すると使えるようになります。

(setq elmo-pop3-default-stream-type "ssl")
(setq elmo-pop3-default-port 995)

clientの設定(thunderbird)

アカウント設定>サーバ設定>セキュリティ設定で、 「SSLを使用する」にチェックします。このとき、ポート番号が自動的に995に設定されます。 また、APOPを使用するために「保護された認証」をチェックします。

bogofilter

  • OS: Vine Linux 3.0 (VineSeed?)
  • Kernel: linux-2.6.9

0.92.Xから0.93.Xへの移行で問題があります。3.Xでは、Berkeley dbの transactionモードを使っているようでDB_PRIVATE しかサポートしていない DBでは問題があるようです。Vineのdb4-4.2.52-6vl3ではうまくいかないので 以下のようにdb-4.3.Xを自前でインストールします。

インストール

/usr/local/BerkeleyDB.4.3にBerkeleyDBがインストールされているとします。

http://bogofilter.sf.net/ からbogofilter-0.94.1.tar.gzをダウンロード

% tar zxvf bogofilter-0.94.1.tar.gz
% ./configure --with-libdb-prefix=/usr/local/BerkeleyDB.4.3 --prefix=/usr
% make
% su
# make install

設定

0.92.X→0.93.XでX-Bogosityヘッダの仕様が変更になりました。以前は2段階 だったのが3段階になっています。

  • 0.92.X以前
    X-Bogosity: Yes     (Spam)
    X-Bogosity: No      (Ham)
  • 0.93.X以降
    X-Bogosity: Spam
    X-Bogosity: UnSure  (判別不能)
    X-Bogosity: Ham

ウィルス退治

フリーのウィルス退治ソフト for Linux

F-prot

個人用途なら無料(2004/12/08時点) http://www.f-prot.com/download/home_user/download_fplinux.html から「GZIP-ed TAR file」を選択し、FORMを埋めて fp-linux-ws.tar.gzをダウンロード

% tar zxvf fp-linux-ws.tar.gz
% su
# mv f-prot /usr/local
# cd /usr/local/f-prot
# ./install-f-prot.pl
 (この後リターンを数度押す-デフォルト設定のまま)

clam

http://www.clamav.net/ http://clamav-jp.sourceforge.jp/

spam

spam対策関連ページを集めてみました

quickml on postfix

Postfix上でquickmlを動作させるためのメモです。

動作環境

  • OS: Debian Linux 3.1 (ppc)
  • Kernel: linux-2.4.28
  • postfix: 2.1.4

quickmlインストール

apt-getでインストールできるので極めて簡単です

# apt-get install quickml

インストールされたものは、

quickml        0.7-2

です。

postfix設定変更

quickmlはサーバが10025ポートで待ち受けているのでpostfixでは受信したMLドメインのmailをlocalhost:10025 に転送する必要があります。その設定は以下のようになります。

  • /etc/postfix/main.cf
# relay_domainsにMLのドメインを追加
relay_domains = example.org, ml.example.com

# ↓追加
transport_maps = hash:/etc/postfix/transport
  • /etc/postfix/transport (存在しない場合は新規作成)
ml.example.com smtp:[localhost]:10025

quickmlのドキュメントではsmpt:[host:10025]の形式となっているが、postfix 2.X以降ではその形式はobsolete。新しい形式は上記のようにsmtp:[host];10025

  • transportマップの作成
# cd /etc/postfix
# postmap transport

これによりtransport.dbが生成されます
  • postfix再起動

reloadだけすればいいのかもしれませんが、念のためpostfixを再起動します。

# /etc/init.d/postfix restart

DNSの設定

bindの場合、zoneファイルを以下のように設定する。

 IN MX 10 qmlserver.example.com.

サブドメインを有効にする場合はもうちょっと設定が必要です。

quickmlの設定

  • quickmlの設定ファイルは/etc/quickml/quickmlrcです。これを編集します。
 # 最低限変更が必要な個所
 :smtp_host => "localhost",
 :domain => "ml.example.com",
 :postmaster => "postmaster@example.com",
 # 必要に応じて
 # :message_catalog => nil,  # for English messages
 :message_catalog => '/usr/share/quickml/messages.ja', # for Japanese messages
  • quickmlを再起動します
    # /etc/init.d/quickml restart

XVERP

VERP = Varibale Enverop Return Paths

もともとqmail+ezmlmで発祥したもので送信アドレス毎にMAIL FROM: を変化させて、 誰に送ったかをトレースできるようにしたもの。http://cr.yp.to/proto/verp.txt

postfixでも利用できる。 http://www.postfix.org/VERP_README.html

RBL check

いろんなdnsbl をまとめてチェックしてくれる

添付ファイル: filebogofilter-netbsd.diff 1130件 [詳細]