■仮想ネットワーク概要
実質2台のVyattaで済みます。いや、強引にでも済ませます。
各構築は既に紹介済みなので、セキュリティの向上箇所と仮想NATがメインになると思います。
メールの暗号化は無いの?という話はとりあえず、聞かなかったことにします。
■一言で言うと、仮想マシン2台で以下を構成してしまおうという無謀な試みです。
+---------+ +-------------------+
| VyattaA | | インターネット/FW |
| | | DMZ |
+---------+ +-------------------+
|
|/
+---------+ +-------------------+
| VyattaB | | イントラネット/FW |
| | | ローカルネット |
+---------+ +-------------------+
■本当は構成をこうしたかったけど。。。
https://github.com/labunix/graphviz_network_vyatta/raw/master/simple.png
こうせざるを得ない非力なマシンでの作業です。。。
https://github.com/labunix/graphviz_network_vyatta/raw/master/vmvyatta.png
■上記構成について、テキスト/PDF/PNGをまとめて落としたい人はこちら。
$ wget https://github.com/labunix/graphviz_network_vyatta/raw/master/graphviz_network_vyatta.tar.gz
■Vyattaはソフトウエア・アプライアンスなので、
バックアップ/リストアを行う対象は以下とログだけでよいはず。。。
/config/config.boot
/var/配下
■Squeezeとして使うには、カスタマイズした分だけ設定やログの保存が必要となる。
Vyattaの役割は責任重大なので、2〜4台で冗長化したいところ。
2種類のDMZは上下共に仮想NATのサンドイッチ。
これは勝手に命名しておく。
・外部セット
外部公開サーバ
仮想NATの振り分け機能
・セキュリティセット
セキュリティ対策サーバ
仮想NATの振り分け機能
■インターネット/FW
接続の認証サーバ(PPPoE)はpptpd(PPTP VPN)等ホスト側で代替するのが簡単かな。
DebianLennyのpptpdによるVPN接続
http://d.hatena.ne.jp/labunix/20110905/
以下はVyattaの仕事。
インターネットルータ EN(Extranet)
FireWall FW(FireWall)
■DMZ
SNAT/DNATで上位からの要求を仮想IPに振り向けるのはVyattaの仕事。
振り向けられた以下の役割はSqueezeとしての仕事。
外部公開DNS DMZ
外部公開Mail
外部公開Web
NTPサーバ
squeeze+bindでDNSSECに対応する
http://d.hatena.ne.jp/labunix/20120503/
apache2のIPベースのバーチャルホストで複数ドメインの共存
http://d.hatena.ne.jp/labunix/20120601/
Debian Lenny + ntp でうるう秒の監視メール
http://d.hatena.ne.jp/labunix/20120201/
■DMZ(サンドボックス)
SNAT/DNATで上位からの要求を仮想IPに振り向けるのはVyattaの仕事。
振り向けられた以下の役割はSqueezeとしての仕事。
侵入検知(Snort) DMZ
プロキシサーバ(Squid)
プロキシURLフィルタ(SquidGuard)
ウイルス対策(ClamAV)
メールウイルス対策(ClamAV+Postfix)
メールスパム対策(SpamAssasin+Postfix)
squeezeのclamavとpostfix連携(amavis)
http://d.hatena.ne.jp/labunix/20120430/
DMZ内の実験サーバ(Squeeze)の初期設定
http://d.hatena.ne.jp/labunix/20120618/
■イントラネット/FW
SNAT/DNATで下位からの要求を仮想IPに振り向けるのはVyattaの仕事。
振り向けられた以下の役割はSqueezeとしての仕事。
内部専用DNS IN(Intranet)
内部専用Mail
内部専用Web
NTPサーバ
内部/外部POPサーバ
テスト用のsqueeze ローカルメールサーバ(プレインテキスト認証)
http://d.hatena.ne.jp/labunix/20110706/
■イントラネット(セキュリティ)
侵入検知(Snort) IN(Intranet)
プロキシサーバ(Squid)
プロキシURLフィルタ(SquidGuard)
ウイルス対策(ClamAV)
メールウイルス対策(ClamAV+Postfix)
メールスパム対策(SpamAssasin+Postfix)
■ローカルネット
クライアントは信用しない前提で、ここでもSNAT/DNATを行う。
仮想NATの振り分け機能(ローカル) LN(Localnet)
■クライアント
WindowsかSqueezeが前提。
MS/Apple製品がセキュリティに対して如何に非力かという話は置いといて、
他の如何なるOSでも仕事で使うならば、以下のような構築、製品購入が最低限必要だと思う。
迷惑をかけるセグメントと影響範囲は、大抵の場合、2乗を超える指数比例の関係にあります。
これはすなわち、責任が指数関数的に増加することを意味します。
以下はWindowsで出来る範囲。
- 侵入検知(FireFox+Firekeeper) LC(LocalClient)
+ VTchromizer(Chrome拡張) LC(LocalClient)
> 2012/07/26 Firekeeperは古いので最新版にはインストール出来ない為、修正。
FireWall(WindowsFirewallでもそれ以外でも)
プロキシサーバ(Squid)
プロキシURLフィルタ(Squid[dstdomain/url_regex])
ウイルス対策/メールウイルス対策(MicroSoft Security Sessensialでもそれ以外でも)
メールスパム対策(ThunderBird)
■Windowsの場合の参考URL。
Windows版squid
http://d.hatena.ne.jp/labunix/20111022/
・squid で特定のサイトをアクセス拒否する
http://futuremix.org/2005/07/squid-access-deny
・使い方ガイド - 迷惑メールフィルタ
http://www.mozilla.jp/thunderbird/support/tutorials/junk
・Firekeeper User Help
http://firekeeper.mozdev.org/screenshots.html
■下から構築するのが良さそう。