vyatta6.4で仮想ネットワークを構成(概要編)

■仮想ネットワーク概要
 実質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の役割は責任重大なので、24台で冗長化したいところ。

 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
 
■下から構築するのが良さそう。