このブログへは、URL(http://bbr-1b92faa.iobb.net)でアクセスしていただいていると思います。
プロバイダーからPPPOEで払い出される、グローバルIPアドレスをDDNS(ダイナミックDNS)に登録して、先のURLと対応付けしています。
皆様のブラウザーからのGET要求は、こちらのグローバルIPアドレスの80ポートを狙って飛んできますので、プロバイダーからのPPPOEを終端させている自宅ブロードバンドルータで、80ポートに飛んできたパケットをポートフォワーディング機能を使って、自宅LAN上の秘密のパソコン(ノートPCに)に転送させています。
と言う事で、自宅ブロードバンドルータをいじっています。
自宅ブロードバンドルータのポートフォワーディング機能を使うことでサーバーを公開しています。
自宅PCやスマフォで動かしているSKYPEについては、ルータをイジルことなく、よそ様から、通話要求を受け付けることが可能です。これは、UDPポートホールパンチングと言うテクニックを使って、つながる仕組みです。
「それが、どうした?。」と思われるでしょう。
私としては、自宅LANである、NAT内部は外部からは一切入れない聖域だと、思ってましたので、UDPポートホールパンチングの解説を見て、のけぞる思いがいたしました。
私としては、自宅LANである、NAPT(IPマスカレード)内部は外部からは一切入れない聖域だと、思ってましたので、UDPポートホールパンチングの解説を見て、のけぞる思いがいたしました。
自宅のネットワーク設備の設定を一切いじること無く、単にソフトをインストールさえすれば、外部からいつでも入れる仕組みですから、晴天の霹靂でした。
少し、説明をさせて頂きますと、
一般家庭のネットワークは、プロバイダーから払い出されたグローバルIPがあり、それが、ブロードバンドルータのインターネット側のアドレスになります。
そして、内部のLANには、通常192.168.1.1から256台分程度のIPアドレスが内部LAN上に稼働するPCやスマフォ等に払い出されて、内部と外部との通信の橋渡しをNAT NAPT(IPマスカレード)言う機能が担当します。
通常NAT NAPT(IPマスカレード)は、外部からの通信を破棄します。
そのためこの動きが強力なファイアウォールとして働くので、内部LANを外部からのアクセスから守ってくれます。
外部から内部に転送されてくる通信は、
①内部から外部に出した要求の応答。
②予めルータに設定されたポートフォワーディングで指定された通信。
③あと少しルータごとの機能として、内部に転送するルールや機能を持っている場合その条件に一致する通信。UPNP等。
SKYPEは通話ソフトですし、SKYPE社のソフトだと、身元も判っているし、今はマイクロソフトの製品でもあり、身元も品質的にも問題は無いと思っていますが、外部から内部に入れる仕組みが存在したという事で大変にショックでした。
つまり、遠隔監視ツールがこの仕組みを使ったりすると、まさにトロイの木馬的な動作が可能になるので、一切自宅のネットワークをいじること無く、外部から入れるという技なので、NAT NAPT(IPマスカレード)内部である自宅LANは聖域だと思っていたけど、全然だめじゃん!。
と言うことなので、今後インストールする一切のソフトについては、インストール時に、問題のないソフトかどうかを考えないと、いけない時代になったと、その当時、思ったからです。
知人にソフトを紹介するとか、知人のPCの状態をチェックするのに、他人の作ったツールをインストールするとかは、ちょっと気が引けるのです。その理由は、拾ってきたツール群にUDPポートホールパンチングとか、そう云う仕込みをしてないか?について検証するのが鬱陶しいし、自信もないので、「胸を張って大丈夫だよ」と言えないからです。
自宅環境で試験的に運用する中で、UDPポートホールパンチングに類する通信を拾い上げるネットワーク分析ツールなどを開発して、自宅環境に埋め込んでおけばいいのかもしれないのですが、面倒に思えて。
と言うのは、「あ!、いまのUDP通信てさぁ、他所のサーバーが覚えたんじゃないの?」と言うのを検出するのを、どうやったらいいかわからないからです。
ネットワーク上に監視ツールを配置しただけだと、どのPCから出ているUDP通信かはわかるけど、どのプロセスからのものかを特定できなさそうに思えます。
そこで、ターゲットとなるPCで、通信ログを拾って、グローバルIP帯域へのDUP通信を行ったプロセスの記録を残せば良いのかもしれませんが、私には製造困難なのと、UDP通信自体が悪いものではないので、リストに出ているプロセスが要注意だとする根拠もありませんし、今ひとつ説得性にかけるデータしか収集できそうにありません。
と言う事で、とても大事なデータを保管する場合を、どうしたらいいか?なんですけど、ネットにつないでも安全だという確証を得る程の技量がない私は、スタンドアローンのPCに、そういうものを保存する。ぐらいしか思いつきません。