2017年6月25日日曜日

IPv6パススルーを許可した結果..

バッファロー製ルーターのヘルプには、「IPv6パススルー」の設定項目に、以下のような注意書きがあります。

「インターネット側からLAN側の機器への意図していない通信が行われる可能性があります。」

世の中の全てのデバイスがIPv6のグローバルIPアドレスを持ち、直接インターネットに接続される時代が来る..?のかどうかはさておき、IPv6 (IPoE)を利用中のPCは、IPv6のグローバルIPアドレスを持ち、全てのポートを開放(公開)したまま直接インターネットに晒された状態になります。

これはv6プラスを利用する際も例外ではありません。
だからこそ、セキュリティを考慮してルーターに「NDプロキシ」を設定したり、市販のセキュリティソフトを導入してPCのガードを固めているわけですね。

しかし、IPv6を利用するだけで、本当に自宅のPCが外から丸見えになってしまうのでしょうか?
実際に試してみましょう。

ここではあえてルーターへ「IPv6パススルー」を設定しておき、第三者がインターネット側から自宅PCへアクセスできるのかどうか確認してみました。


事前にルーター側の設定を「IPv6パススルーを使用する」にしておきます。
また、IPv6通信を阻害しないよう、Windows標準のファイアウォールやセキュリティソフトなども一時的に止めておきます。

さて、どうやってインターネット側からのアクセスを試すのか?ですが、分かりやすいところで「Windowsのファイル共有」を使って確認してみます。
自宅の外、別の回線でインターネット接続したPCから、自宅にあるPCの共有フォルダの中へアクセスできるかどうかを試します。

やりかたは簡単。
具体的には、何かウィンドウを開いて上部にある「アドレスバー」へ接続先である自宅PCのIPアドレスを、UNC表記(先頭に¥¥をつけて書く奴)で入力するだけです。
「IPv6で共有フォルダへアクセスする方法」
https://dotsukareta.blogspot.jp/2017/06/ipv6fileshare.html

テストに使う外部インターネット回線ですが、そちらもIPv6で通信できる必要があります。
今回はモバイル用回線を使ってテストしてみました。
ちょうど契約中だった格安スマホ用の「イオンSIM (タイプ1)」が、IPv6接続サービスをサポートしているIIJモバイル系列のSIMだったので、これを利用します。

ここにWindowsノートPCをテザリング接続して、インターネットの外から自宅PCへ、IPv6でアクセスを試みてみました。



はい、見事にインターネット側から自宅PCの共有フォルダへアクセスできてしまいました。


自宅にいる時と同様、自由に読み書きできます。
これは「便利!」というよりも、ちょっと怖いですね。
IPv6アドレスさえ分かれば、世界中誰でも私のPCへ入れる状態なのですから..


ノーガード戦法はやめましょう

バッファロー製ルーターの場合は、「NDプロキシ」の利用をお勧めします。
「NDプロキシ」を使用することでIPv6パケットフィルターとファイアウォールが有効化され、外部からのアクセスをルーターでブロックできるようになります。

IO-DATA製ルーターの場合は「IPv6 SPI」機能を有効にしておきましょう。
バッファローの「NDプロキシ」ほど高機能ではありませんが、「IPv6 SPI」をチェックしておくだけで外部からの接続要求をブロックしてくれます。

もしフレッツのサービスを利用中などの理由により、どうしても「IPv6パススルー」設定でないと都合が悪いという場合は、PC側でのセキュリティ対策を忘れずに。
とりあえずWindows標準のファイアウォールを有効にしておくだけでも、野晒し状態は避けられます。
可能であれば、市販のセキュリティソフトを併用するのも良いでしょう。


一時IPv6アドレス(匿名アドレス)について

スピード計測サイトや、IPv6接続判定サイト等では、アクセスしに来たあなたのPCのIPv6アドレスが、画面上に表示される場合があります。(赤色で隠した部分)


ここに表示されるIPv6アドレス(あなたが外部サイトへアクセスするために利用したIPv6アドレス)は「一時IPv6アドレス(匿名アドレス)」といって、短期間だけ有効なプライバシーが考慮された物です。

しかし、それであっても外部に晒されたグローバルIPアドレスであることに変わりありません。
実際に試してみたところ、「一時IPv6アドレス」であっても、有効期間内であれば外部からのアクセスは可能でした。

もしも上のようなスクリーンショットをうっかりそのまま公の場にアップしてしまうと、しばらくの間あなたのPCは丸見えです。
標的にされてしまう可能性もありますので注意しましょう。

IPv6で共有フォルダへアクセスする方法

PCのIPv6アドレスを確認する

まず、自分のPCに付与されたIPv6アドレスを確認しておきましょう。
Windows PCの場合、コマンドプロンプト(又はWindows PowerShell)を開き、「ipconfig」コマンドを入力することで確認できます。

  • ipconfig    ‥ 現在のネットワーク構成情報を表示する
  • ipconfig /all ‥ 〃 (詳細表示)

コマンドを入力すると、現在のネットワーク構成情報がリストされます。

似たような名前の項目がずらっと並んでいますが、「 IPv6 アドレス 」とだけ書かれている行を探してください。
いくつかの数字とアルファベットが、( )コロンで仕切られてグチャっと記述されている部分が、このPCのIPv6アドレス。
世界で唯一、あなたのPCだけに付与されたグローバルIPアドレスです。

このアドレスがどこから来て、どのように決められたのか?はここでは割愛しますが、大雑把に言うと、アドレスの前半部分は上位のネットワークから広報されるプレフィックスと呼ばれる部分、後半はデバイス固有のID(自動生成)となっており、世界中にある他のデバイスとは決して重複しない仕組みになっています。

けっこうな桁数ですので覚えられませんよね?メモを取るのも大変そうです。
ここは必要な部分をコピペして控えておきましょう。

<ワンポイント>
 コマンドプロンプト内の文字をコピーする方法

  1. マウスで画面内を右クリックし「範囲選択」を指定
  2. 画面上の必要な部分をマウスでドラッグして範囲選択する
  3. そのまま右クリックすると、選択が消えてコピー完了 

共有フォルダへのアクセス方法

通常、Windowsで共有フォルダへアクセスするには、ネットワークの一覧から相手のコンピュータを見つけて入るのが一般的です。
また、PCのアドレスバーへ¥記号を2つ書き、続けて接続先のコンピュータ名を書いて、直接、接続する事もできます。

例) ¥¥PcName

相手のコンピュータ名の部分は、IPアドレスに置き換えて書くこともできます。
これなら名前解決の必要もないので、VPNなどでセグメントを越えてアクセスする時でも使用可能です。

例) ¥¥192.168.11.53 


IPv4アドレスを指定した共有フォルダへのアクセス


ここまでは一般的な話。
それではIPv6アドレスを指定して共有フォルダへアクセスするにはどうするのでしょう?
これにはちょっとコツが要ります。

たとえば、接続先PCのIPv6アドレスが、以下のようになっていた場合

1111:2222:3333:4444:aaaa:bbbb:cccc:dddd

アドレスの中の( : )コロンを、( - )ハイフンに変更し、
末尾に「 .ipv6-literal.net 」を付けてやればOKです。

1111:2222:3333:4444:aaaa:bbbb:cccc:dddd
  ↓  ↓  ↓  ↓
¥¥1111-2222-3333-4444-aaaa-bbbb-cccc-dddd.ipv6-literal.net

先頭に¥記号を2つ書くやり方は同じです。
それでは実際にアクセスしてみましょう。

IPv6アドレスを指定した共有フォルダへのアクセス

IPv6アドレスを指定して、問題なく共有フォルダへアクセスできました。