Postfix S25R

Postfixに阻止率99%のスパム対策方式の研究報告を導入してみた時のメモ。

  • Vine Linux 5.0
  • Postfix 2.6.5

今や対策なしではウザいほど送られてくるスパムメール。しかし受信したメールは受信者がスパムかどうかを判断するものなので、受信者自身に明らかなスパムとしてのルールがある場合は処理する行為をツールで自動化する事はできる。
サーバの運営側としてはそのスパムメールが占める割合がトラフィックやマシンパワーなど軽微であればいいのだが…。

そこで今回は革新的?と思う対策として浅見秀雄氏が考案したS25R(Selective SMTP Rejection:選択的SMTP拒絶)方式を導入してみた。この対策法としては、サーバに接続してきた時点で判断するというもの。

2. S25Rスパム対策方式のコンセプト

 私が考案したSelective SMTP Rejection (S25R)スパム対策方式のコンセプトは、メールサーバがメール中継サーバからのSMTPアクセスは受け入れるがエンドユーザーコンピュータからの直接のSMTPアクセスは拒絶するという単純なものである。

阻止率99%のスパム対策方式の研究報告 ―― Selective SMTP Rejection (S25R)方式 ――

まずは、上記サイトで公開されているリストのうち、white_list.txt(救済リスト)を落としてくる。

$ cd /etc/postfix
$ wget http://www.gabacho-net.jp/anti-spam/white-list.txt
$ mv white-list.txt white-list

次にこの論文の肝とも言うべき、rejections(拒絶リスト)を作成する。

$ vi rejections

※リストの中身については上記サイトからコピーする。
続く 🙂

Cyrus-SASL 2.1.23 Upgrade (rpm)

Cyrus-SASLをアップグレードした時のメモ。

  • Vine Linux 5.0
  • Cyrus-SASL 2.1.23

まずはVine Seedからソースパッケージを落とす。

$ wget http://ring.riken.jp/archives/linux/Vine/VineSeed/SRPMS.main/cyrus-sasl-2.1.23-5vl6.src.rpm
$ rpm -ivh cyrus-sasl-2.1.23-5vl6.src.rpm

ビルドする。

$ cd ~/rpm/SPECS
$ rpmbuild -bb --clean cyrus-sasl-vl.spec

SASLをアップグレードする。

$ cd ../RPMS/x86_64
$ su
# service saslauthd stop

saslauthdを停止中:				[  OK  ]

# rpm -Uvh cyrus-sasl-2.1.23-5vl5.x86_64.rpm cyrus-sasl-devel-2.1.23-5vl5.x86_64.rpm cyrus-sasl-sql-2.1.23-5vl5.x86_64.rpm cyrus-sasl-plain-2.1.23-5vl5.x86_64.rpm cyrus-sasl-md5-2.1.23-5vl5.x86_64.rpm

続く 🙂

Courier-IMAP 4.7.0 Upgrade (rpm)

Courier-IMAPを4.0.3からアップグレードした時のメモ。

  • Vine Linux 5.0
  • Courier-Authlib 0.63.0
  • Courier-IMAP 4.7.0
  • MySQL 5.1.44

まずはVine Seedから必要なソースパッケージを落としてくる。

$ wget http://ring.riken.jp/archives/linux/Vine/VineSeed/SRPMS.plus/courier-authlib-0.63.0-1vl6.src.rpm
$ wget http://ring.riken.jp/archives/linux/Vine/VineSeed/SRPMS.plus/courier-imap-4.7.0-1vl6.src.rpm
$ rpm -ivh courier-authlib-0.63.0-1vl6.src.rpm courier-imap-4.7.0-1vl6.src.rpm

まずはCourier-Authlibからビルドする。

$ cd ~/rpm/SPECS
$ rpmbuild -bb --clean courier-authlib.spec

Courier-Authlibのアップグレードをする前に、Courier-IMAPをアンインストールする。

$ cd ../RPMS/x86_64
$ su
# apt-get remove courier-imap
# rpm -Uvh courier-authlib-0.63.0-1vl5.x86_64.rpm courier-authlib-devel-0.63.0-1vl5.x86_64.rpm courier-authlib-mysql-0.63.0-1vl5.x86_64.rpm

そしてCourier-IMAPのビルド。

# exit
$ cd ~/rpm/SPECS
$ rpmbuild -bb --clean courier-imap.spec

Courier-IMAPのインストール。

$ su
# rpm -ivh courier-imap-4.7.0-1vl5.x86_64.rpm

続く 🙂

MySQL 5.1.44 Upgrade (rpm)

MySQLを5.1.41からアップグレードした時のメモ。

  • Vine Linux 5.0
  • MySQL-5.1.44

まずはVine Seedからソースパッケージを落としてくる。

$ wget http://ring.riken.jp/archives/linux/Vine/VineSeed/SRPMS.plus/MySQL-5.1.44-1vl6.src.rpm
$ rpm -ivh MySQL-5.1.44-1vl6.src.rpm

ビルドする。

$ cd ~/rpm/SPECS
$ rpmbuild -bb --clean mysql51-vl.spec

アップグレードする。

$ cd ../RPMS/x86_64
$ su
# service mysql stop

Shutting down MySQL... SUCCESS!

# rpm -Uvh MySQL-server-5.1.44-1vl5.x86_64.rpm MySQL-client-5.1.44-1vl5.x86_64.rpm MySQL-shared-5.1.44-1vl5.x86_64.rpm MySQL-devel-5.1.44-1vl5.x86_64.rpm

続く 🙂

Postfix 2.6.5 Install (source)

Postfix 2.6.5をインストールした時のメモ。

  • Vine Linux 5.0
  • Postfix 2.6.5
  • MySQL 5.1.41
  • Cyrus-SASL 2.1.23

まずはPostfixのサイトからtar玉を落としてくる。

$ tar zxvf postfix-2.6.5.tar.gz

で、virtualdomainにするのと同時にVDAにも対応させるので、パッチを落としてくる。

$ wget http://vda.sourceforge.net/VDA/postfix-2.6.5-vda-ng.patch.gz

パッチを当てる。

$ zcat postfix-2.6.5-vda-ng.patch.gz | patch -p0

それからおまじない。

$ cd postfix-2.6.5;make tidy

そんでもってユーザー管理やエイリアスとかをMySQLにさせるので、makefilesに書き込む。

$ make makefiles \
CCARGS="-DUSE_TLS -I/usr/include/openssl \
-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl \
-DHAS_MYSQL -I/usr/include/mysql" \
AUXLIBS="-L/usr/lib64 -lssl -lcrypto \
-L/usr/lib64/sasl2 -lsasl2 \
-L/usr/lib64/mysql -lmysqlclient -lz -lm"

でmake後、インストール。

$ make
$ su
# make install

続く 🙂

mod_limitipconn 0.23 Install (source)

Apacheに接続制御モジュールmod_limitipconnをインストールした時のメモ。

  • Apache 2.2.14
  • mod_limitipconn 0.23

まずはDavid Jao Softwareのサイトから落としてくる。

$ tar xjvf mod_limitipconn-0.23.tar.bz2

DSOで読ませるのでmakeファイルのPATHを合わせる。

$ cd mod_limitipconn-0.23
$ vi Makefile
##
##  Makefile -- Build procedure for sample limitipconn Apache module
##  Autogenerated via ``apxs -n limitipconn -g''.
##

#   the used tools
APXS=/usr/bin/apxs
APACHECTL=/usr/sbin/apache2ctl

#   additional user defines, includes and libraries
#DEF=-Dmy_define=my_value
#INC=-Imy/include/dir
#LIB=-Lmy/lib/dir -lmylib

#   the default target
all: mod_limitipconn.so

#   compile the DSO file
mod_limitipconn.so: mod_limitipconn.c
	$(APXS) -c $(DEF) $(INC) $(LIB) mod_limitipconn.c

#   install the DSO file into the Apache installation
#   and activate it in the Apache configuration
install: all
	$(APXS) -c -i -a -n 'limitipconn' mod_limitipconn.c

#   cleanup
clean:
	-rm -rf mod_limitipconn.o mod_limitipconn.so mod_limitipconn.lo mod_limitipconn.slo mod_limitipconn.la .libs

#   simple test
test: reload
	lynx -mime_header http://localhost/limitipconn

#   reload the module by installing and restarting Apache
reload: install restart

#   the general Apache start/restart/stop procedures
start:
	$(APACHECTL) start
restart:
	$(APACHECTL) restart
stop:
	$(APACHECTL) stop

メイクしてインストール。

$ su
# make install

続く 🙂

PHP 5.3.1 Upgrade (rpm)

PHPを5.3.0からアップグレードした時のメモ。

  • Vine Linux 5.0
  • Apache 2.2.14
  • PHP 5.3.1

まずはソースパッケージを落としてくる。

$ apt-get source php5
$ rpm -ivh php5-5.3.1-1vl5.src.rpm

で、Apacheをworkerで動かしてるのでspecファイルをいじる。

$ cd ~/rpm/SPECS
$ vi php53.spec

...
./configureに追加

...
--enable-maintainer-zts \
--with-tsrm-pthreads \

で、ビルドする。

$ rpmbuild -bb --clean php53.spec

そしてコーヒーを飲んで、アップグレードする。

$ cd ../RPMS/x86_64
$ su
# rpm -Uvh php5-5.3.1-1vl5.x86_64.rpm ...

続く 🙂

Apache 2.2.14 Upgrade (rpm)

Apacheを2.2.13からアップグレードした時のメモ。

  • Vine Linux 5.0
  • Apache 2.2.14

まずはソースパッケージを落としてくる。

$ apt-get source apache2
$ rpm -ivh apache2-2.2.14-1vl5

で、workerで動かすのでspecファイルをいじる。

$ cd ~/rpm/SPECS
$ vi apache2-vl.spec
...
pushd mpm-worker
...

そしてビルド。

$ rpmbuild -bb --clean apache2-vl.spec

そんでアップグレードする。

$ cd ../RPMS/x86_64
$ su
# service apache2 stop

Apache2 HTTP Serverを停止中:				[  OK  ]

# rpm -Uvh apache2-2.2.14-1vl5.x86_64.rpm ...

続く 🙂

ClamSMTP 1.10-1 Install (rpm)

アンチウィルス・メールスキャナとしてClamSMTP 1.10.1をインストールした時のメモ。

  • Postfix 2.6.5
  • ClamAV 0.95.3
  • ClamSMTP 1.10-1

まずはClamAVをインストールした時のメモでClamAVのインストールの後、ClamSMTPのサイトSource RPMSからソースを落としてくる。

$ rpm -ivh clamsmtp-1.10-1.src.rpm
$ cd ~/rpm/SPECS

ビルドする。

$ rpmbuild -bb --clean clamsmtp.spec

インストールする。

$ cd ../RPMS/x86_64
$ su
# rpm -ivh clamsmtp-1.10-1.x86_64.rpm

続く 🙂