サーバー設定 · 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 restartDNSサーバーを追加するためにresolv.confファイルを編集します:
vi /etc/resolv.confドメイン名がresolv.confの最上部にあることを確認してください。次のようになります:
search example.com
nameserver 192.168.0.1
nameserver 192.168.0.2vi /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.listdeb 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 multiverseAPTキャッシュを更新/リフレッシュし、いくつかのソフトウェアをインストールする必要があります。キャッシュを更新するには、次のコマンドを実行します:
apt-get update注意: これはカーネルイメージを正しいものに変更する良いタイミングです。おそらく、’linux-image-i686’が必要です。それが何を意味するのかわからない場合は、調べてください。apt-get upgradeを実行し、発生する可能性のあるエラーや問題をトラブルシューティングする時間を取ってください。将来的に問題を引き起こす可能性のあるものはすべて排除したいと思います。すべてが準備できたら再起動し、quick dmesg | lessを実行してください。これは大いに役立ちます。
apt-get install sshsshがインストールされたら、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 spamassassinDebconfで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 mailagent1.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他のプログラムが表示されている場合は、再起動して再度テストしてください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。