学習用の自宅サーバーを公開するに当たってサーバーへの侵入などを許した際に他のPCやスマホを攻撃されないように2台のルータを使ってDMZを用いたネットワークを構成してみました。
Contents
目的
学習用に自宅サーバーを公開するので当然ネットワークやセキュリティに関する知識は乏しい。そのため、外部からの攻撃を受けサーバーが侵入された場合のことも考えておきたい。
そこでLANのセグメントを2台のルーターを使って分割してサーバーを公開するセグメント(DMZ)と自分や家族が接続するセグメントの2つに分離して、公開サーバーが乗っ取られても被害を最小に抑えられるようにすることを目的としました。
ネットワーク構成
ネットワークの構成に関してです。
構成図
draw.ioを使ってざっくりとネットワークの構成図を作成してみました。
この図が全てな気がしますが備忘録のため補足も足しておきます。
192.168.1.0/24
192.168.1.0/24 のセグメントはインターネットと家庭内LANの中間に設置した DMZ です。
このセグメントは信頼できないものとして考えるので無線アクセスなども無効にしてサーバー以外のデバイスは繋いでいません。
ルーター(192.168.1.1)のポートフォワーディング機能を利用して HTTP や SSH などの必要なパケットはサーバーに転送します。
192.168.2.0/24
192.168.2.0/24 のセグメントは家庭内LANで自分や家族のデバイスが接続します。
このセグメントに接続した端末からプラベートIPアドレスを利用して公開用サーバーにもアクセスできます。
一方で公開用サーバーからこのセグメントの端末にアクセスしようとするとルーター(192.168.2.1)によって拒否されて通信できなくなります。
これで公開用サーバーが乗っ取られた場合にも多少の効果は見込めるはず。
その他
その他に関してです。
転送速度
ルーターを復数用いるとその分ルーティングなどに時間がかかってパフォーマンスが悪化するという書き込みを見たのですが、実際に計測してみるとほとんど差はありませんでした。
もともとあまり速度の出る回線ではないので転送速度に影響がなかったことは良かった。
DMZホスト
ルーターの機能に DMZホスト というのがあります。
ルーターの設定画面でこの項目を見つけたときこれで簡易な DMZ が作れるのかと思ったんですが公式ウェブを読んでみると DMZ とは全く別物らしい。
DMZホストにLAN内のIPアドレスを指定するとインターネットからのパケットをそのIPアドレス宛てに中継する機能らしく、ポートフォワーディングなどと違ってポート番号によるフィルタなども一切なしに全て転送するようです。
ポートフォワーディングと違って手軽く転送できるのがメリットのようですが手軽すぎてセキュリティ的に危険そうです。
ポートを解放する方法(インターネットゲームをする/サーバを公開する)
ヘアピンNAT
LAN内からグローバルIPアドレスを指定して公開用サーバにアクセスできるかと思いきや接続できず。
ルーターに ヘアピンNAT(NATループバック) という機能が必要とのこと。
LAN内からはプライベートIPアドレスでアクセスできるので今のところ問題なし。
参考リンク
非武装地帯 (コンピュータセキュリティ) – Wikipedia
DMZ(DeMilitarized Zone):セキュリティ用語事典 – @IT