VMware ESXi 6.5を使っているのであれば、
結構簡単に隔離された検証環境を構築できます。
外部のネットワークに公開したくない場合や、外部への通信と切り分けたい場合、
某Hardeningのように競技者だけがアクセスできる環境を作りたい場合におすすめの構築手順です。
前提条件
まずは前提をお話しします。
本項でのイメージは、Hardeningという競技でも構築されているような環境を想定しております。
競技者は以下の手順で競技に参加します。
- 踏み台サーバと呼ばれるサーバにsshでアクセス
- sshアクセス時にポートフォワードを行い、仮想LAN内のサーバにアクセスする
- ポートフォワードで指定された転送先のサーバにログイン
上記のような若干面倒な手順で本来は外部からアクセスできないサーバにアクセスできます。
今回はこれに近い環境を構築してみたいと思います。
設計フェーズ
どんなものを構築するにしても、最初に設計しなければなにも始められません。
前提のような環境を構築したいと思えば、私は2つのパターンで構築できるかと考えます。
それは、踏み台へsshでアクセスするパターンと、踏み台へVPNでアクセスするパターンです。
今回は特に難しいことを考えたくないので、
踏み台へsshでアクセスするパターンでいこうと思います。
自分が何をしたいのか考える
環境を構築して、そのあとにどのような検証を行いたいのかを考えましょう。
本来はDNSの名前解決で特定ドメインについてはフォワードをしたいのに、
全く関係ないメールサーバを構築しても意味がないですよね?
(まぁ、DNSの名前解決ができているかをメールも含めて検証したい場合はあるでしょうが。。。)
必要な機能が何かをしっかり考えてから設計に移りましょう。
例えば、ロードバランサの機能を検証したい場合、
webサーバは最低でも2つ必要だとか、
名前解決させる必要があるからDNSサーバも必要だとかが考えられるといいですね。
今回の検証目的
今回、隔離環境を構築して何を検証したいのか?を設定しておきます。
- Courie-IMAP
- Roundcube
- Zimbra
上記サーバ群によるメールの送受信確認、およびWebmailの利便性検証。
Courie-IMAP
Curie-IMAPは名前にもあるように、IMAPで通信が可能なメールサーバとなります。
一昔前まではPOP3でのメールサーバが有名でしたが、
最近の業界動向では、IMAPが主流となってきています。
POP3だとメールを取得すると、メールサーバから
受信したメールが削除されますが、IMAPならメールを何度受信してもどこから受信しても削除されないんです。
そう、Courie-IMAPならね
Roudcube
今度は、RoundcubeというwebmailのOSSです。
webmailとは、webブラウザから閲覧ができるメールボックス機能のこと、
あるいはその機能を持ち合わせる統合環境のことになります。
イメージしやすいのは、GmailやYahoo!メールなどでしょうか?
あの有名なサービスもwebブラウザからメールが送信できたり、
受信したり、迷惑メールが山積みになったりw
ということができちゃいます。
自分でインストール&設定を行うことにより、
オリジナルのシステムが利用できるようになります。
このソフトウェアはwebmail界隈で結構有名なので、
一度構築しておくと便利かと思います。
Zimbra
ZimbraもOSSで、インストール時に大量のOSS(MySQLやOpenLDAPなど)が自動インストールされるようです。
結構設定が大変そうなのですが、まぁ勉強だと思って頑張ります。
このZimbraについては全く知識がないため、
頑張って調べながら構築することになるでしょう。
動作環境
ここでいう動作環境とは、バックエンドで動かすサービスのことを指します。
構築するサーバの中に含まれていなかったのですが、
DNSを動作させて、ドメイン名で解決させることも考慮します。
そのため、DNSサーバは必須ですね。
また、忘れてはならないのが、
踏み台サーバの用意です。
今回の環境は踏み台にsshでアクセスしたのちに、
webmailへアクセスできるようにするため、
ssh以外のサービスは基本的に動作させないサーバも用意しておきます。
Part1 まとめ
今回は設計を中心に話してきました。
どんなに検証環境を隔離すると言っても、
しっかり構築したいものを見定めないと無駄にリソースを費やしてしいます。
無駄なものを構築しないためにも、本当に必要なもののみをリストアップし
構築に臨みましょう。