IPv6の設定を変える-Windows&Mac

IPv6は設定によってはセキュリティーの観点から 一時アドレス というのを使っています。確認は簡単にできます。今回はコマンドを使ってやってみたいと思います。

一時アドレスって何?

そもそも、一時アドレスというのはなんでしょうか?なぜこのようなアドレスがあるのでしょうか?

デバイスの再起動をすると変わるIPアドレス

普段インターネットに接続をしてGoogle、Yahooや当サイト(logw)を見ているとき、IPv4接続だと グローバルIP というのがサーバーに残ります。このIPアドレスがv6の場合は少し違うのが残ります。IPv4の場合は機器の特定までは難しい(サーバー上に残る記録はあくまで、●●という場所から接続されたという情報のみで端末までは特定できない)です

IPv6は端末のIPアドレスが記録される

IPv4ではグローバルIPというのが記録され、このIPアドレスはルーター経由ででるため、厳密にはルーターのIPアドレスになります。しかしIPv6では、ルーターのグローバルIPアドレスではなくデバイス(端末)が所有するIPアドレスになります。

なぜ端末のIPアドレスなのか?

IPv4は40億個しかなく、世界の人口で考えると一人に一つのIPアドレスを付与することができません。そこでIPv6というのができました。このIPv6は数が340澗(かん)個という数があります。これは70億人に1兆個ずつ割り当てても使用率は0.01%にも満たないという数です。

そのため、IPv6は端末にグローバルIPアドレスを付与している事になります。

プライバシー問題

IPv6は数が膨大なため、デバイス毎にグローバルIPアドレスを割り振っても余裕があるという反面、プライバシー問題がでてきます

ユーザーの追跡ができやすい

IPv6はデバイス毎にIPアドレスを付与しています。そのIPアドレスから個人の追跡が可能となりプライバシー問題になります。広告とかが良い例かもしれません

例えば複数のWebサービスに広告を提供している会社が、アクセスログとして広告を表示したノードのアドレス情報とその広告を提供しているサービスを保存しているとします。その場合、アドレス情報にはノードを特定できるインタフェース識別子が含まれていますので、その識別子とアンケートサイト等の別経路で入手した個人情報との突き合わせを行った場合に、ある個人がいつどのようなサービスを利用したか特定できるという問題が指摘されています。

IPv6セキュリティ ~問題点と対策~

このプライバシー問題を回避するために一時アドレスが存在する

Windows10(7以降)では、デバイス毎のIPアドレスとは別に 一時アドレス というのが生成されるようになってます。普段の通信はこの一時アドレスを使う事で個人の追跡ができなくなっております。

一時アドレスとはどんな物か?

一時的に使うアドレスになります。具体的には PCを再起動したらこの一時アドレス というのは変わります。

再起動するとなぜ変わるのか?

PCの再起動をすると何故一時アドレスが変わるのか?と疑問に思うかも知れません。一時アドレスは厳密には デバイスの再起動 で変わります。PCだとイーサーネットアダプタをオフにしてオンにすると変わります。この場合はPCの再起動は不要になります。

PCの再起動するということは、デバイスの電源が一時的にオフとなります。そのため一時アドレスが変わります。

一時アドレスによるデメリット

一時アドレスはユーザーのプライバシー問題を解決する手段の一つとなっております。WindowsやMacでも標準で利用されております。しかし、一時アドレスは有効期限が短いためデメリットも存在します

管理画面にIP制限がかけづらい

logwはWordPressで作成しているため、管理画面への不正アクセスも連日あります。国外からアクセスがあります。そこで管理画面にIP制限を設けております。匿名アドレスを普段使っていると管理画面にアクセスするためにサーバーに毎回IPアドレスを記述しないといけないというデメリットがあります

端末毎に登録が必要

IPv4はグローバルIPアドレスをサーバーに登録すれば自宅やオフィスからどの端末でもログインできるというメリットがあります。IPv6は端末毎にIPアドレスが変わるので端末の台数分登録しないといけないというのがあります。ネットワークの範囲指定とかできないかとか考えているとこです

端末の数が多くなれば大変なのです

一時アドレスをオフにする

本来は一時アドレスはプライバシー問題から使用しておいたほうがいいのですが、使用をしない場合はOFFにします。

Windows10の場合

まずはIPアドレスを確認します

ipconfig

IPv6 アドレス . . . . . . . . . . . .: 240b:251:ca60:xxxx:xxxx:xxxx:xxxx:xxxx
一時 IPv6 アドレス. . . . . . . . . .: 240b:251:ca60:9c00:5d3f:5205:2d28:cebe

一時アドレスがあります。このアドレスが優先されるため、普段表示されてしまいます

netsh interface ipv6 set privacy state=disable

上記のコマンドを windows Terminal から実行します
要求された操作には、権限の昇格が必要です。管理者として実行してください。

失敗しました。Windows Power shell を管理者として実行します

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\WINDOWS\system32> netsh interface ipv6 set privacy state=disable
OK

成功しました。このままPowershellでIPアドレスを確認してみます

ipconfig

IPv6 アドレス . . . . . . . . . . . .: 240b:251:ca60:xxxx:xxxx:xxxx:xxxx:xxxx
一時 IPv6 アドレス. . . . . . . . . .: 240b:251:ca60:9c00:5d3f:5205:2d28:cebe

表示されていますね。一時アドレスが。。。というわけでデバイスの再起動をします。
※Windowsの再起動でも問題ございません

PS C:\WINDOWS\system32> Restart-NetAdapter -Name "イーサネット"

※イーサネットの部分は接続のデバイス名となります。ローカル エリア接続などの場合もあります

デバイスの再起動をしました。再度確認してみます

ipconfig

IPv6 アドレス . . . . . . . . . . . .: 240b:251:ca60:xxxx:xxxx:xxxx:xxxx:xxxx

消えました。

Macの場合

Macも同じように一時IPv6の設定を削除してみたいと思います。OS X Lion以降では一時アドレスが有効化されているはずです

ifconfig

inet6 240b:251:ca60:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64 autoconf secured
inet6 240b:251:ca60:9c00:e9f2:a04c:4dfc:dbba prefixlen 64 autoconf temporary

設定コマンドをいれます

sudo sysctl -w net.inet6.ip6.use_tempaddr=0

rootユーザーになって行います。sudoで実行するのが今の流れみたいです。僕の場合はタイムマシンで常に移設していたのでrootになってから作業しました

ネットワークの再起動

Macの場合は無線の再起度などを手動でもいいので行います。
※無線のオフ→オンでもOK

IPアドレスを確認します

ifconfig

inet6 240b:251:ca60:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64 autoconf secured

無事設定できました

一時(匿名)アドレスではないので注意が必要

今回の設定は、一時アドレスの設定をオフにしました。IPアドレスからユーザーの特定がしやすくなっている状態となります。ご注意ください。

追記

Macでは再起動すると停止しているはずの匿名アドレスが戻ってしまいますので注意が必要です。

個人支援・寄付について

サイトラボではBuildreeの開発などのため、現在個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではkyashというサービスをつかっております。ビットコインでも受け付けております。