ウェブサイト検索

Linux に仮想ドメイン、Web メール、SpamAssassin、ClamAV を備えた「iRedMail」(多機能メール サーバー)をインストールする


HTTP およびシャドウ DNS サービスに次いで、メール (SMTP、POP、IMAP、および関連するすべての暗号化メール プロトコル) は、インターネットで最も使用されているサービスの 1 つであり、スパムやオープンリレー メール サーバーのおかげで最も賢明なサービスの 1 つでもあります。

このチュートリアルでは、MTA、MDA、MUA ソフトウェアを備えた完全なメール サーバーを RHEL に数分でインストールする方法を説明します。CentOSScientific LinuxDebianUbuntu、Postfix を備えたLinux Mint、MySQL を備えた仮想ドメインとユーザー、Dovecot – POP3/POP3S のサポート、 IMAP/IMAPS、Roundcube – Web メール、および SpamAssassin と ClamAV によるメールスパムとウイルス スキャンはすべて、「iRedMail」と呼ばれる単一のソフトウェア パッケージを使用してインストールされます。

iRedMail とは何ですか

iRedMail は、オープンソースのフル機能のメール サーバー ソリューションであり、システム管理者が複雑な構成に多くの時間を割くことができ、すべての主要な Linux ディストリビューションをサポートしており、次の Linux パッケージが付属しています。

  1. 後置: SMTP サービス – デフォルトの MTA。
  2. Dovecot: POP3/POP3S、IMAP/IMAPS、Managesieve サービス – デフォルトの MDA。
  3. Apache: Web サーバー。
  4. MySQL/PostgreSQL: アプリケーション データやメール アカウントを保存します。
  5. OpenLDAP: メールアカウントの保存。
  6. ポリシー対象: Postfix ポリシーサーバー。
  7. Amavisd: Postfix と SpamAssassin、ClamAV の間のインターフェイス。スパムやウイルスのスキャンに使用されます。
  8. Roundcube: Webメール – デフォルトのMUA。
  9. Awstats: Apache および Postfix ログ アナライザー。
  10. Fail2ban: ログ ファイル (/var/log/maillog など) をスキャンし、悪意のあるシステムの試みを示す IP を禁止します。

要件

  1. CentOS 6.5 の最小インストール – CentOS 6.5 インストール ガイド
  2. ドメイン名を担当するメール サーバーを指す有効な DNS MX レコード。

また、このチュートリアルはテストと学習のみを目的として設計されており、有効な MX レコードも有効な DNS ドメインも使用しません。すべての構成は MySQL の仮想受信者を使用してローカルで行われます (ローカル ドメイン ユーザー間でのみメールを送受信できます) – hosts ファイルから提供されるローカル ドメイン名) ただし、私たちのシステムはインターネット ドメインからメールを受信できませんが、実際には、プライベート IP アドレス空間に存在する場合でも、Postfix MTA を介してこれらのドメイン メール サーバーにメールを中継できることに注意してください。 、有効な MX レコードがなく、架空のドメインを使用しているため、何をしているかに十分注意してください。

ステップ 1: 初期構成と静的 IP アドレス

1. 最初の再起動後、root アカウントでログインし、システムが最新であることを確認し、後で使用するために必要な便利なパッケージをインストールします。

RHEL/CentOS/Scientific Linux の場合
yum update && yum upgrade
yum install nano wget bzip2
Debian/Ubuntu/Linux Mint の場合
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. このボックスはメール サーバー のように機能するため、ネットワーク インターフェイスで静的 IP を設定する必要があります。静的 IP を追加するには、/etc/sysconfig/network-scripts/ パスにある NIC 構成ファイルを開いて編集し、次の値を追加します。

RHEL/CentOS/Scientific Linux の場合
nano /etc/sysconfig/network-scripts/ifcfg-eth0

このファイルをテンプレートとして使用し、カスタマイズした値に置き換えます。

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

NIC ファイルの編集が完了したら、上記と同じ場所からネットワーク ファイルを開き、HOSTNAME ディレクティブにサーバーの非修飾ホスト名を追加します。

nano /etc/sysconfig/network-scripts/network

Debian/Ubuntu/Linux Mint の場合
nano /etc/network/interfaces

次の値を実際の設定に置き換えます。

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

ネットワーク ファイルの作成が完了したら、/etc/hostname ファイルにホスト名を追加します。

nano /etc/hostnames

3. 次に、/etc/resolv.conf ファイルを開き、以下のスクリーンショットのように、システム全体に DNS IP サーバーを追加します。

nano /etc/resolv.conf

お気に入りのネームサーバーを使用して次のコンテンツを追加します。

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. 上記のすべての設定が対応するファイルに書き込まれた後、ネットワーク サービスを再起動して新しい設定を適用し、ping コマンドと ifconfig コマンドを使用して確認します。

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. 静的ネットワークが完全に動作できるようになったので、/etc/hosts ファイルを編集し、次の例のように非修飾の FQDN ホスト名を追加します。

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

ホスト名構成の問題を確認するには、hostname および hostname –f コマンドを実行します。

hostname
hostname -f

6. もう 1 つの便利なパッケージは、RedHat の EPEL リポジトリによって提供される bash-completion ([Tab] キーを使用したオートコンプリート コマンド シーケンス) です。ベースのシステムを更新してから、ソースを更新します。

RHEL/CentOS/Scientific Linux の場合
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

ソースが更新されたら、bash-completion ユーティリティをインストールします (すべての質問に はい と答えてください)。

yum install bash-completion

Debian/Ubuntu/Linux Mint の場合

Debian ベースのシステムの bash-completion パッケージは、次のコマンドを使用して簡単にインストールできます。

apt-get install bash-completion

7. 最後のステップは、root 権限を持つシステム ユーザーを追加することです。まずユーザーを追加し、そのパスワードを設定します。

adduser your_user
passwd your_user

ユーザーを追加したら、/etc/sudoers ファイルを開き、%wheel グループのコメントを解除して、新しく作成したユーザーを Wheel グループに追加します。

nano /etc/sudoers

ホイールグループラインを検索してコメントを解除すると、次のようになります。

%wheel                ALL=(ALL)            ALL

ファイルを閉じて、次のコマンドを実行してユーザーを Wheel グループに追加します。

usermod -aG wheel your_user

8. iRedMail ソフトウェアのダウンロードとインストールを開始する前に、システムを再起動し、新しく作成したユーザーでログインし、すべてが完全に機能することを確認します。

ステップ 2: iRedMail をインストールする

9. iRedMail アーカイブ パッケージをダウンロードするには、公式ダウンロード ページのセクションにアクセスする必要があります。または、wget コマンドを使用して最新バージョン (0.8.7<) をダウンロードすることもできます。 この記事の執筆時点)。

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. iRedMail アーカイブのダウンロードが完了したら、次のコマンドを使用して解凍します。

tar xvjf iRedMail-0.8.7.tar.bz2

11. 次に、新しく抽出した iRedMail ディレクトリ パスを入力し、iRedMail.sh スクリプトに実行権限をマークして実行します。

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. 最初のシステム チェックの後、プログラムは必要なリポジトリの追加を開始し、最初のガイダンス プロンプトでインストールを続行するか中止するかを尋ねられます。 [はい] を選択して続行します。

13. iRedMail は、Maildir 形式を使用して電子メールを /var/vmail システム パスに保存し、追加するドメインごとに個別のディレクトリを作成します。 MTA サーバーに送信します。このパスに慣れている場合は、[次へ] をクリックしてサーバー構成に進みます。それ以外の場合は、目的の場所を指定してから [次へ] をクリックします。

14. 次のステップでは、Postfix に接続するメール ドメイン名と受信者を保存するデータベースを選択します。このチュートリアルは MySQL データベースに焦点を当てているため、[スペース] バーを使用して MySQL を選択し、次へ に進み、MySQL root アカウントの強力なパスワードを入力します。

15. 次のステップで、最初の仮想ドメイン名を追加します。登録済みのドメイン名を所有している場合は、ここに追加します (システム FQDN ではなくドメイン名のみを追加します)。

16. デフォルトでは、iRedAdmin は、iRedAdmin パネルまたは Dovecot プロトコル (デフォルトの Roundcube Web メール インターフェイス、または SquirrelMail、Rainloop などのその他の IMAP/POP MUA ソフトウェア) を通じてアクセスできる、サーバーに対する全権限を持つ管理ユーザーを作成します。 、Microsoft Outlook、Mozilla Thunderbird、Evolution、Mutt、Elm など)。

また、このポストマスター管理アカウントは、メール機能やその他のシステム障害に関連するインシデント、または有用な情報を報告するためにシステムによって使用されます (logwatch は通常、統計情報をここに送信します)。そのため、強力なパスワードを選択して 次へ に進みます。

17. 次のステップでは、iRedAdmin 公式管理パネル、Postfix、DKIM ドメイン キーなどの他のメール サーバー コンポーネントを選択します – (最終配信またはその後の中継のためのメッセージの信頼性を評価するメッセージ ヘッダーに署名を追加します)、Roundcubeデフォルトの Web メール インターフェイス (他のメール配信エージェントを使用する場合は Roundcube をスキップしてください)、PhpMyadmin (MySQL コマンド ラインに慣れている場合は、PhpMyAdmin のインストールもスキップしてください)、Awstats (便利なログ統計とアナライザー)、Fail2ban (サーバーをブルートフォース攻撃)。

18. 次の一連の質問では、インストールされているオプション コンポーネントに応じて、はい と答える必要があります。 $HOME 抽出ディレクトリにある iRedMail.tips ファイルには特に注意してください。このファイルには、サーバー アプリケーションのユーザー名とパスワード、サーバー構成ファイル、デフォルトの URL などの機密メール サーバー情報が含まれているためです。その他の重要な情報。

19. インストールが完了したら、システムを再起動し、iRedmail.tips ファイルを確認してサーバーのデフォルト設定を確認します。このファイルを安全な場所に移動する必要があります。システム パスに 600 のアクセス許可が設定されています。

20. 次の URL にあるデフォルトの Web アプリケーションにアクセスします。

  1. Roundcube ウェブメール – https://ドメイン名またはサーバーIP/mail/
  2. IRedAdmin パネル – https://domain_name または server_IP/iredadmin/
  3. PhpMyadmin – https://ドメイン名またはサーバーIP /phpmyadmin/
  4. Awstats – https://domain_name または server_IP/awstats/awstats.pl?config=web (または ?config=smtp)
  5. Policyd スパム対策プラグイン – https://domain_name または server_IP/cluebringer/

ステップ 3: ウェブメールの初期設定

21. iRedAdmin 管理パネルは、Postfix が MySQL バックエンドを通じて処理できるメール サーバーの仮想ドメインとアカウントを追加できる基本的な Web メール インターフェイスを提供します。 iRedAdmin パネルにログインするには、ブラウザで https://domain_name/iredadmin/ または https://server_IP/iredadmin/ URL を指定し、次のデフォルトの認証情報を使用します。

  1. ユーザー名: postmaster@your_domain_name.tld
  2. パスワード: #16 ポイントに設定されたポストマスター パスワード

22. ユーザーを追加するには、[追加] -> [ユーザー] に移動し、希望のユーザー名、メール アドレス、パスワードを入力します。また、ユーザーのメールボックスがクォータを使用して処理できるスペースの量を設定したり、ユーザーをグローバル管理者としてマークすることで、iRedAdmin パネルに対する管理権限を持つユーザーを昇格させることもできます。

23. ユーザーの電子メールの読み取りは、Roundcube Web インターフェイスによって提供されます。アクセスするには、https://domain_name/mail または https://server_IP/mail/ URL に移動し、[ の形式でメール アカウントの資格情報を入力します。 email

デフォルトの管理メール アカウントのポストマスターにアクセスすると、最初のメールが 2 通見つかり、そのうちの 1 通にはサーバーの機密情報が含まれています。ここから、電子メールを読んだり、メールを作成したり、他のドメイン ユーザーに送信したりできるようになります。

24. サーバー Policyd スパム対策ポリシー にアクセスするには、https://domain_name/cluebringer または https://server_IP/ に移動します。クルーブリンガー/ にアクセスし、次の認証情報を指定します。

  1. ユーザー名: [email
  2. パスワード: ポストマスターのパスワード

25. メール サーバーの統計情報を表示するには、https://mydomain.lan/awstats/awstats.pl/?config=smtp または https:// に移動します。 mydomain.lan/awstats/awstats.pl にアクセスし、次の認証情報を使用します。

  1. ユーザー名: [email
  2. パスワード: ポストマスターのパスワード

26. サーバーの開いている接続と、求心性ソケットでリッスンしているデーモンの状態を確認したい場合は、次のコマンドを発行します。

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. メール トランザクションに関する他の問題をデバッグしたり、サーバーが実際に動作していることを確認したりするには、次のコマンドを使用できます。

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. これで完全なメール環境が展開されました。少なくともこのトピックに関して不足しているのは、メールを受信するための MX DNS レコードを持つ有効なドメイン名だけです。他のインターネット ドメインからは送信できますが、ローカル SMTP サーバーは他のインターネットの有効なドメインでもメールを中継できます。そのため、ISP と違法な問題が発生する可能性があるため、メールの送信者には特に注意してください。

下のスクリーンショットから、ローカルの無効なドメインから google.com アカウントの 1 つに電子メールを送信し、その電子メールが私の Google アカウントに正常に受信されたことがわかります。

インストールしたら長い間忘れてしまう他のネットワーク サービスとは異なり、スパム、オープン リレー、メッセージ バウンスなどのメール サービス関連の問題により、メール サーバーの管理は継続的な重労働です。

参考リンク

iRedMail ホームページ