networkネットワーク構築(動的IPアドレスの利用)本ウェブサイトでは、当初開設したこのチャプターへの訪問者が割合とありました。見ていただくにしては、現時点では内容が古すぎます。2001年頃の内容です。変わっていない部分も、大きく変わった部分もあります。ここに時点修正版をアップします。(2016年10月)それに伴って、当初開設の部分は削除しました。加筆)(前提条件・約束ごと)動的IPアドレスを利用して小規模なネットワークを構築し、外部に対してサーバを公開します。ここではDMZとは、外部からのアクセスを許すネットワークセグメントと、アクセスを許さないネットワークセグメントのうち、外部からアクセスを許す方を指すことにします。「非武装地帯」を、ネットワークの構築方法をイメージした言葉として使います。内部ネットワークとLANは、ここでは同じ意味で使いますが、時としてDMZとLANを総称することもあります。zone)という言葉を使います。公開サーバとして、SMTP(メール)、HTTP(ウェブ)を対象にします。ここで言う「小規模なネットワーク」は「趣味的なネットワーク」に近い意味です。業務用は考えていません。したがって拠点間をVPNで結ぶ等という事は、対象外です。次SEC-1.ネットワーク構成(複数の案)SEC-2.複数の案に対する評価SEC-3.IPアドレスとドメインの割り振りSEC-4.ルータを選ぶ、使うSEC-5.IPアドレスを所定のウェブサイトに届ける。apache)SEC-7.要塞ホスト化SEC-8.その他SEC-1.ネットワーク構成(複数の案)(ここは2001年当時の記述のままです)IP層に着目すれば「ネットワークとは、各ネットワークセグメントをルータもしくはゲートウェイでつないだもの」ということになります。よって、ネットワークが決まります。ネットワークが決まると、次は各サーバソフトウェア(apache、smtp等)をどこで運用するか?どこにファイアウォールを置くか?を考えることになります。以下では、上記2つの観点からネットワークの形態を分類してみます。(案1)一台のルータを介して外部ネットワークと内部ネットワークを繋ぐ形態。ルータの外がインターネットで、中がLANという極めて簡単な構成。サーバの位置によってこの案をさらに分類すると、以下の2通りの考え方があります。(案1a)ルータはルータ専用機として、内部ネットワークに公開サーバをおく。ルータにNAT機能を持たせ、サーバへは静的変換で外部からのアクセスを許します。この場合、ルータにファイアウォール機能を持たせ、さらに公開サーバにホストセキュリティを持たせることになります。(案1b)ルータ自身にサーバ機能を持たせる。UNIXマシンにゲートウェイと公開サーバを兼用させて、これをルータとします。この場合は、ルータにファイアウォール機能を持たせます。(案2)1台のルータにEthernetを3つ繋ぐ形態。一つは外部ネットワーク、もう1つは非武装地帯(いわゆるDMZ)、残るもう一つは内部ネットワークとします。この案の場合は、明確に非武装地帯が構成されているので、当然、公開サーバを非武装地帯に配置します。この場合は、ルータ部がファイアウォール機能を持ち、さらに公開サーバにはホストセキュリティを持たせます。(案3)ルータを2段に配置する形態。第1段のネットワークセグメントは非武装地帯とし、第2段のネットワークセグメントを内部ネットワークとする。この案の場合には、公開サーバは非武装地帯に配置します。第2段ルータを公開サーバ兼務とはしません。第2段ルータ兼務の公開サーバを乗っ取られたら、直ちに内部ネットワークが危機に瀕します。それでは非武装地帯を作る意味がありません。ネットワークセキュリティ解説書(例えば、オライリー本)には、この形態がもっとも望ましい案となっています。SEC-2.複数の案に対する評価(ここも、2001年当時の記述のままです)上記1.で分類したネットワーク構成各案の中から、ネットワークセキュリティを評価して、一つの案に絞り込みます。「仮に公開サーバが侵入されても内部ネットワークを守れるか?」といった問いに対して、まったく答えらません。公開サーバに侵入された場合、これを踏み台にして外部ネットワークへの攻撃も内部ネットワークへの攻撃もやりたい放題になります。文献等でも「ダメな案」と評価されています。(案1b)についてこれも(案1a)と大差はありません。仮に公開サーバをのっとられると、内部ネットワークへの攻撃も外部ネットワークへの攻撃もやりたい放題になります。(案2)について非武装地帯と内部ネットワークを完全に切り離していて、良好な形態です。この形態の場合ルータの設定が大変です。外部ネットワークについて、パケットフィルタ等を設定するため、どうしても複雑な設定が必要となります。(案3)について最も教科書的かつ一般的な構成です。第1段と第2段のルータが、ファイアウォール機能を分離しています。第1段ルータはある程度のアクセスをDMZに対して許します。第2段ルータは徹底的に内部への進入を防御します。従って(案2)に比較してファイアウォールの設定がシンプルです。シンプルであると言うことは、全体の見通しが良く、設定ミスも生じにくいため、より安全度の高い構成といえます。公開サーバはルータとは完全に分離されていますので、仮に標的マシンが乗っ取られた場合でも内部ネットワークへの攻撃を第2段ルータで完全に防げます。第一段ルータが高機能なものであれば、乗っ取られた公開サーバから外部ネットワークへの攻撃を、第1段ルータである程度防ぐこともできます。総合して評価すると.........(案1a)、(案1b)は低い評価しかできません。ここでは不採用とします。残る案は(案2)と(案3)です。いずれも実績のある構成ですが、よりシンプルで全体が把握しやすく、設定の容易な(案3)を選定することにします。SEC-3.IPアドレスとドメインの割り振りSEC-2.の案3に従って、以下のサンプルのネットワークを考えます。サンプルとしてのIPアドレスもふってあります。次にドメインを決めて、割り振ります。割り振るというのは、つまり一つのドメインで全部やるか、プライベートネットワークには別のドメイン(勝手な、任意のもので可)をふるか?です。プライベートネットワークと正規にもらったドメインを以下のように割り付ける案もあります。自分でPCを管理していて、正規のドメインで動いている部分と、プライベート部分が理解しやすいです。前に勤務したことのある会社ではプライベートには独自の(まさにプライベートな)ドメインをふっていました。一方で全部まとめて、取得した正規のドメインをふるのも、ありです。正規のドメインの中に、グローバルIPアドレスとプライベートIPアドレスが混在する案です。そっちの方が、まあ、、、面倒が無いといえば無いです。(^^)うちは、当初上の方でやっていましたが、そのうち面倒になってきて、今は下の方でやっています。(^^)どっちでも構いません。SEC-4-1.ルータの選定この辺は、最初にウェブサイトを開設した2001年頃と2016年では大きく様相が変わりました。ハード全般、変わりましたね。当たり前OSは、みんな64ビット実に良い時代になったものですが、実はルータも激変したと思います。(きっと激変したと、信じたいです)今では信じられないことですが、2000年頃には「P社のルータはファイアウォールがすかすかのザルだ」とか「M社のルータはパケットがちゃんと流れない」とか、そんなこと、普通にありました。今だと商品とは認識できないようなものが、当時は本当に販売されていました。誌上を賑わせて?いたりしました。私も、2000年頃に一度だけ、誌上を賑わせているようなのを買っちゃって参ったことがあります。嘘みたいな話だけど、パケットがちゃんと流れませんでした。そんなのは売られていないだろう・・・・と信じています??でも当時の事があるので、いまだにルータは信頼第一にメーカを選んでいます。ここはやっぱり、YAMAHAとかCISCOとか、優秀であると評判のメーカが良いですね。「ネットワークとはルータが繋がったもの」と言っても良いくらい、ルータはネットワークの根幹です。そこは、それなりの物を選定しましょう。ちなみに、うちの実際のネットワーク図です。とも上記のような、(世間一般に言われている)信頼できるメーカ製です。NVR500と使って来ました。CISCOだと1605R、861と使って来ました。いずれも、速度も早いし安定・セキュリティー堅牢なルータだと思います。CISCOは、チョイ高くつきます。個人的に、おすすめはYAMAHAです。今(2016年10月)ならNVR510でしょうね。Research社でも、同価格帯で似たような製品が出ています。評判は、良さそうですが、使ったことが無いので、分かりません。IPアドレスとネットマスクをインプットします。DHCPクライアントなど、ネットワーク接続会社の指定接続方法によってIPアドレスが割り振られます。クライアントにしておいた方が使いやすいかもしれません。200までにする」などとすれば良いでしょう。(Gateway)デフォルトゲートウェイは、R1は接続会社から与えられます。R1がゲートウェイです。(NAT)セキュリティも兼ねて、NATを有効活用しましょう。R2もNAT有効にします。TCP80を公開サーバに対してポートフォワードします。(security)今時の大抵のルータには「セキュリティ機能」なんて項目があるでしょう。これはもちろん有効にしておきます。R1については、外部からプライベートアドレスを偽造して入ってこないように、発アドレスがプライベートアドレス等、の偽造アクセスをフィルターで弾いておきます。DMZ側からログイン出来ないように、sshd、telnetd、httpdを落としておき、LAN側からシリアス回線でログインするのが無難です。IPアドレスを抜き出さなくてはならないケースだと、httpdを落とすことが出来ません。ルータを使っていると、これが(シリアル回線のみ有効にする)可能なんです。(^^)それぞれのルータのイメージは下の図のような感じです。こんな感じにしましょう。可能なら(なるべく、出来るだけ、可能な限り、是非とも、、)、外側からそれぞれのルータに対してnmap等を使ってポートスキャンしてみましょう。開いているポートが分かります。今時のルータなら、ポートフォワードしたところ以外には、開きはないだろうと思います。ここで、ルータをシリアル回線経由で使う方法を示しておきます。普通、UNIXにはcuってコマンドがあります。昔はみんなRS-232Cでつないでいたらしいです。私が生まれる前・・・ってのは嘘です。LAN全盛になって、シリアル回線は普通あまり使いませんが、今でも便利です。LANからルータに入って操作していて、たまたまIPアドレスを打ち変えると、すぐにルータから弾き出されちゃったりします。(^^;;;でも、シリアル回線から入ると、IPアドレスを打ち変えても、フィルターの設定ミスをやっても、ルータから弾かれることは無いです。RS-232Cケーブルを間違えなければ、大抵すぐにルータとつながります。PCはDTEで、普通は、ルータもDTEなのでクロスケーブルです。モデムとPCはDCEとDTEなのでストレート・・・・だったっけ???怪しいです。80年代後半くらいのパソコン通信全盛の頃だと、みんなDCEとかDTEとか、分かってた。今どきはLANなんて自動認識でクロスケーブルすら無くなってしまった。クロスケーブルなんて必要になるのはシリアル回線くらいですね。普通にRS-232Cがあるパソコンなら、Linuxの場合デバイスファイルは/dev/ttyS0から、です。USB-RS232C変換ケーブル(下の写真みたいなの)を使うなら、Linuxの場合、デバイスファイルは/dev/ttyUSB0です。メルコのelecomのUSB-RS232C変換ケーブルはストレート仕様なので、もう一本クロスケーブルをかませる必要があります。グループに属していれば読み書きできる設定です。グループに入れておきます。グループに入っている者に実行許可があります。