サーバー設定 · 2 min read · Nov 13, 2025

Ubuntu Dapper、MailScanner、SpamAssassin、Razor、Pyzor、DCC、ClamAVを使用したPostfixスパムフィルタ

はじめに

これは、ここに見られるHOWTOの類似バージョンです: http://www200.pair.com/mecham/spam/spamfilter20050628.html。このHOWTOを見ているということは、メールサーバー、DNS、TCP/IP、ファイアウォール、一般的なLinuxにある程度の経験があることが前提とされています。

1 Ubuntuサーバーの設定

Ubuntuサーバーの設定に関する詳細は、すでにオンラインにあるドキュメントを参照してください。HowToForgeには非常に詳細なHowToがいくつかあります。ただし、ここに示されているいくつかのインストール構成は、他のHOWTOとは異なる可能性があるため、サーバーを設定する際に考慮する必要があります。

注意: Ubuntuはデフォルトでsetuidシステムとしてインストールされます。これは、rootアカウントが無効になっており、すべてをrootとして実行するには前に'sudo'を付けて実行する必要があることを意味します。これを回避する方法は、'sudo su -'を実行することで、以降はrootとしてbashセッションにいるため、コマンドの前に'sudo'を入力する必要がなくなります。このドキュメントの残りの部分では、これを行ったと仮定し、rootとしてbashセッションを実行しているため、sudoコマンドは提供されません。要するに、SSHまたはコンソールを介してUbuntuにログインしたら、システムファイルを編集したり、ディレクトリを移動/作成したり、ソフトウェアやサービスをインストール/アンインストールする前に、'sudo su -'を実行することを忘れないでください。

1.1 パーティション

このようにドライブをパーティション分割することは必須ではありませんが、/varディレクトリで何かがうまくいかない場合にサーバーが完全にスペース不足になるのを防ぎます。また、このようにドライブをパーティション分割することで、MailScannerMRTGを使用して/var、/var/log、/var/spoolを別々に見るための追加のグラフを作成できます。MailScannerMRTGはディレクトリのドライブスペースをチェックすることはできず、パーティションによってサイズを計算することしかできません。

私のパーティションテーブルの例:
/boot       50MB        ブートパーティション      EXT3 (PRIMARY)
Swap        2GB     スワップパーティション (サイズはメモリによります。メモリの2倍で大丈夫です) (PRIMARY)
/       2GB     ルートパーティション      EXT3 (LOGICAL)
/var        1GB     可変データパーティション    EXT3 (LOGICAL)
/var/log    3GB     可変データパーティション    EXT3 (LOGICAL)
/var/spool  2GB     可変データパーティションスプール    EXT3 (LOGICAL)
/usr        4GB     ユーザーインストールプログラム     EXT3 (LOGICAL)
/usr/local  2GB     ユーザーインストールプログラム EXT3 (LOGICAL)
/home       ANY     ホームディレクトリ (余分なスペースを置くのに良い場所です。スペースが不足した場合は再パーティション分割できます。)  EXT3 (LOGICAL)

1.2 ネットワーク設定の確認

システムが有効な静的IPで設定されていること、/etc/resolv.confに正しいDNSサーバーがあり、サーバーが/etc/hostsファイルに識別されていることを確認する必要があります。

vi /etc/network/interfaces

ネットワークインターフェースファイルは次のようになります:

auto lo eth0
iface lo inet loopback
# プライマリネットワークインターフェース
iface eth0 inet static
        address  192.168.1.100
        netmask  255.255.255.0
        network  192.168.1.0
        broadcast 192.168.1.255
        gateway  192.168.1.1

これらの変更を適用するためにネットワークサービスを再起動します:

/etc/init.d/networking restart

DNSサーバーを追加するためにresolv.confファイルを編集します:

vi /etc/resolv.conf

ドメイン名がresolv.confの最上部にあることを確認してください。次のようになります:

search example.com
nameserver 192.168.0.1
nameserver 192.168.0.2
vi /etc/hosts

ファイルの最上部は次のようになります:

127.0.0.1 localhost.localdomain localhost
192.168.0.100 sfp.example.com sfp

ここにいるので、スパムフィルタに知っておいてほしい他のホストを追加しても良いでしょう。内部メールサーバーをここに追加してください。他のエントリをリストの下部に追加するだけです。

1.3 APTおよびその他の調整

APTは、universeおよびmultiverseリポジトリを検索するように設定する必要があります。現在の/etc/apt/sources.listをバックアップします:

cp /etc/apt/sources.list /etc/apt/sources.list.default

次のsources.listファイルに置き換えます:

vi /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu dapper main restricted
deb-src http://us.archive.ubuntu.com/ubuntu dapper main restricted
deb http://us.archive.ubuntu.com/ubuntu dapper-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu dapper-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu dapper universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu dapper universe multiverse
deb http://security.ubuntu.com/ubuntu dapper-security main restricted
deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted
deb http://security.ubuntu.com/ubuntu dapper-security universe multiverse
deb-src http://security.ubuntu.com/ubuntu dapper-security universe multiverse

APTキャッシュを更新/リフレッシュし、いくつかのソフトウェアをインストールする必要があります。キャッシュを更新するには、次のコマンドを実行します:

apt-get update

注意: これはカーネルイメージを正しいものに変更する良いタイミングです。おそらく、’linux-image-i686’が必要です。それが何を意味するのかわからない場合は、調べてください。apt-get upgradeを実行し、発生する可能性のあるエラーや問題をトラブルシューティングする時間を取ってください。将来的に問題を引き起こす可能性のあるものはすべて排除したいと思います。すべてが準備できたら再起動し、quick dmesg | lessを実行してください。これは大いに役立ちます。

apt-get install ssh

sshがインストールされたら、LinuxまたはWindowsデスクトップからPuTTYを使用してサーバーに接続する必要があります。これにより、このHOWTOの残りの部分を完了するのが容易になります。デスクトップからターミナルにコピー/ペーストできるようになります。さあ、sshを実行しましょう。

私は通常、BIOSの時計を現地時間に設定し、その後、次のコマンドを実行して時計を同期します。

apt-get install ntpdate  

hwclock --systohc

次に、必要なほとんどのものをインストールします。リストを4つのAPTインストール実行に分けました。一度に5〜15のインストールが適切だと思いますが、あなた次第です:

apt-get install libc6-dev dpkg-dev db4.3-util libdb4.3-dev vim lynx bzip2 unzip perl-doc libwww-perl ntp-simple  
  
apt-get install zlib1g-dev zip libdbi-perl libconvert-binhex-perl gcc make autoconf automake libtool libmail-spf-query-perl rblcheck libnet-ident-perl  
  
apt-get install flex bison libcompress-zlib-perl pax libberkeleydb-perl ncftp unzoo arj lzop nomarch arc zoo  
  
apt-get install postfix postfix-pcre postfix-mysql postfix-ldap cabextract lha unrar razor pyzor spamassassin

DebconfでPostfixの設定が表示されたら、NO CONFIGURATIONを選択します。

unarjをインストールします:

wget http://archive.ubuntu.com/ubuntu/pool/universe/a/arj/unarj_3.10.21-2_all.deb  
  
dpkg -i unarj_3.10.21-2_all.deb

次に、いくつかのプログラムを削除する必要があります。おそらくPCMCIAやプリンタサポートは必要ありません。このサーバーにはダイヤルアップサポートも必要ありません。これらのプログラムがすべてインストールされているわけではありません。

次のソフトウェアをアンインストールします (すべて1行で):

apt-get remove ipchains lpr nfs-common portmap pidentd pcmcia-cs pcmciautils pppoe pppoeconf ppp pppconfig uw-imapd qpopper mailagent

1.6 サービスのクリーンアップ

デーモンをアンインストールした後でも、一部のサービスが残っている可能性があります。まず、inet.dをバックアップする必要があります:

cp -R /etc/init.d /etc/init.d.backup

次に、必要のないすべてのサービスを停止できます:

/etc/init.d/lpd stop  
update-rc.d -f lpd remove  
  
/etc/init.d/nfs-common stop  
update-rc.d -f nfs-common remove  
  
/etc/init.d/portmap stop  
update-rc.d -f portmap remove  
  
/etc/init.d/pcmcia stop  
update-rc.d -f pcmcia remove  
  
/etc/init.d/pcmciautils stop  
update-rc.d -f pcmciautils remove  
  
/etc/init.d/ppp stop  
update-rc.d -f ppp remove  
  
/etc/init.d/exim4 stop  
update-rc.d -f exim4 remove  
  
update-rc.d -f ntpdate remove

停止したすべてのサービスを無効にします:

update-inetd --disable time  
  
update-inetd --disable daytime  
  
update-inetd --disable echo  
  
update-inetd --disable chargen  
  
update-inetd --disable ident  
  
update-inetd --disable discard

最後のコマンドは「複数のエントリ」に関する質問をするかもしれませんので、はい(y)と答えてください。

すべてが正しく行われたか確認します:

lsof -i | grep LISTEN

この時点で表示されるべきデーモンは*:sshのみです。これを再度実行する必要があるかもしれません:

update-inetd --disable discard

他のプログラムが表示されている場合は、再起動して再度テストしてください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。