Ubuntu · 2 min read · Sep 27, 2025

完璧なSpamSnake - Ubuntu Jaunty Jackalope

完璧なSpamSnake - Ubuntu Jaunty Jackalope

著者: Mohammed Alli

Postfix w/Bayesian Filtering and Anti-Backscatter (Relay Recipients), Apache, Mysql, Dnsmasq, MailScanner (Spamassassin, ClamAV, Pyzor, Razor, DCC-Client), MailWatch, SPF Checks, FuzzyOcr, PDF/XLS/Phishing Sanesecurity Signatures, Postfix-GLD (Greylisting Optional), Logwatch Statistical Reporting (Optional), Outgoing Disclaimer with alterMIME (Optional), FireHOL (Iptables Firewall)

バージョン 2.5

このチュートリアルでは、Ubuntu Jaunty Jackalope ベースのサーバーをゲートウェイモードのスパムフィルターとして設定する方法を示します。最終的には、クリーンなメールを MTA に中継する SpamSnake ゲートウェイが完成します。また、受信キューを表示し、SpamSnake をトレーニングし、MailWatch を介していくつかの高度な操作を実行できるようになります。

これがあなたにとって機能することを保証することはできません。私にとって機能しているのと同じように。

以下のソフトウェアを使用します:

  • ウェブサーバー: Apache 2 with PHP 5
  • データベースサーバー: MySQL 5.0
  • メールサーバー: Postfix
  • キャッシング DNS サーバー: Dnsmasq
  • MailScanner: MailScanner v4.76
  • MailWatch: MailWatch v1.0.4

クレジットは、HowtoForge の皆さんと MailScanner、MailWatch、ClamAV、Apache、Mysql、Postfix の開発者にあります。

最小オプションを使用してベースシステムをインストールします。

1. ルート権限を取得

以下を実行してルートログインを有効にし、ルートにパスワードを設定します。その後、ルートとして直接ログインできます:

sudo passwd root

2. vim-nox をインストール (オプション)

このチュートリアルでは vi をテキストエディタとして使用します。デフォルトの vi プログラムは、Ubuntu と Debian で奇妙な動作をするため、これを修正するために vim-nox をインストールします:

aptitude install vim-nox

(joe や nano などの別のテキストエディタを使用する場合は、これを行う必要はありません。)

3. ネットワークを構成

Ubuntu インストーラーが DHCP 経由でネットワーク設定を取得するようにシステムを構成したため、サーバーには静的 IP アドレスが必要です。/etc/network/interfaces を編集し、必要に応じて調整します(この例では IP アドレス 192.168.0.100 を使用します):

vi /etc/network/interfaces
# このファイルは、システムで利用可能なネットワークインターフェースとそれをアクティブにする方法を説明します。詳細については、interfaces(5) を参照してください。

# ループバックネットワークインターフェース
auto lo
iface lo inet loopback

# プライマリネットワークインターフェース
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

その後、ネットワークを再起動します:

/etc/init.d/networking restart

次に、/etc/hosts を編集します。次のようにします:

127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1

# 次の行は、IPv6 対応ホストにとって望ましいです
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

次に実行します:

echo server1.example.com > /etc/hostname   
/etc/init.d/hostname.sh start

その後、次を実行します:

hostname   
hostname -f

両方とも server1.example.com を表示するはずです。

4. Linux インストールを更新

/etc/apt/sources.list を編集します。ファイルからインストール CD をコメントアウトまたは削除し、universe および multiverse リポジトリが有効になっていることを確認します。次のようになります:

#
# deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted

#deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted
# http://help.ubuntu.com/community/UpgradeNotes を参照して、
# 新しいバージョンのディストリビューションにアップグレードする方法。

deb http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted

## 最終リリース後に生成された主要なバグ修正アップデート。
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

## N.B. このリポジトリのソフトウェアは、Ubuntu
## チームによって完全にサポートされていません。また、universe のソフトウェアは
## Ubuntu セキュリティチームからのレビューや更新を受けません。
deb http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe

## N.B. このリポジトリのソフトウェアは、Ubuntu
## チームによって完全にサポートされておらず、無料ライセンスの下にない場合があります。ソフトウェアを使用する権利を確認してください。また、multiverse のソフトウェアは
## Ubuntu セキュリティチームからのレビューや更新を受けません。
deb http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

## 次の 2 行のコメントを解除して、'backports' リポジトリからソフトウェアを追加します。
## N.B. このリポジトリのソフトウェアは、
## メインリリースに含まれるものほど広範にテストされていない可能性がありますが、役立つ機能を提供する新しいバージョンのアプリケーションが含まれています。
## また、backports のソフトウェアは、Ubuntu セキュリティチームからのレビューや更新を受けません。
# deb http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse

## 次の 2 行のコメントを解除して、Canonical の
## 'partner' リポジトリからソフトウェアを追加します。
## このソフトウェアは Ubuntu の一部ではありませんが、Canonical と
## 各ベンダーによって Ubuntu ユーザーへのサービスとして提供されています。
# deb http://archive.canonical.com/ubuntu jaunty partner
# deb-src http://archive.canonical.com/ubuntu jaunty partner

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse

次に、以下を実行して apt パッケージデータベースを更新します:

aptitude update

次を実行して最新の更新をインストールします:

aptitude safe-upgrade

更新の一環として新しいカーネルがインストールされる場合は、その後システムを再起動する必要があります:

5. デフォルトシェルを変更

/bin/sh は /bin/dash へのシンボリックリンクですが、/bin/bash が必要です。したがって、次のようにします:

dpkg-reconfigure dash

dash を /bin/sh としてインストールしますか? <– いいえ

6. AppArmor を無効にする

AppArmor は、拡張セキュリティを提供するセキュリティ拡張(SELinux に似ています)ですが、私の意見では、安全なシステムを構成するためには必要ありません。通常、期待通りに動作しないサービスのトラブルシューティングを行った後、すべてが正常であることがわかり、AppArmor が問題を引き起こしていることが判明することがよくあります。したがって、これを無効にします(後で ISPConfig をインストールする場合は必須です)。

次のようにして無効にできます:

/etc/init.d/apparmor stop   
update-rc.d -f apparmor remove   
aptitude remove apparmor apparmor-utils

7. ソフトウェアをいくつかインストール

次に、後で必要となるいくつかのパッケージをインストールします:

aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential unrar

8. システムクロックを同期

インターネット上の NTP(ネットワーク時間プロトコル)サーバーとシステムクロックを同期させるのは良いアイデアです。単に実行します:

apt-get install ntp ntpdate

9. キャッシング Dnsmasq

apt-get install dnsmasq

/etc/dnsmasq.conf を編集し、Dnsmasq が localhost でリッスンするようにします:

listen-address=127.0.0.1 

/etc/resolv.conf を編集し、リストの先頭に次を追加します:

nameserver 127.0.0.1 
Share: X/Twitter LinkedIn

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

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