• ベストアンサー

ポートに関して

ポートに関して 少し混乱してしまったので質問します。 自分はポートというとhttpの80番だとか22番のsshだとかプロトコルごとに割当てられているようなものかと考えていました。 しかし、最近ルータのipマスカレードの勉強をしていたら、LAN内のホストを識別するためにも使用するという記述を見ました。 正直、ポートというものがなんなのかわからなくなってしまいました。 そこで 1)ポートに対してみなさんはどのような認識を持っていますか? 2)ipマスカレードで空いたポートは脆弱性になるのですか? 回答お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

1) TCP/IPのネットワークについてどの程度の知識をお持ちかわからないので、説明が難しいですね。 IPアドレスは、ネットワーク層の通信をする際の所番地です。ポート番号はトランスポート層の所番地です。TCPの通信は、IPアドレスxxxxのポートyyyと、IPアドレスaaaaのポートbbbの通信という具合に行われます。 自分から相手に通信を開始する際には、相手のIPアドレスとポート番号が必要です。これはあらかじめ相手から教えてもらう必要があります。 例えば「www.example.comをDNSで引いて得られるIPアドレスの80番ポートでWWWサービスをしているよ」という情報を何らかの手段で知らないと通信できないわけです。いちいちホスト名とポート番号を知らせるのは煩雑なので、よく使われるサービスではあらかじめポート番号を共通で決めておくことがよく行われます。 べつにhttpが80番である必要は無く、23番(普通はtelnet用)であっても構いません。サーバーソフトの設定次第です。その場合は、URLは http://www.example.com:23 でアクセス。 自分から相手に通信を開始する際の自分のポート番号は、あらかじめ設定された範囲内の空いている番号から適当に割り振られ、通信開始時に相手に通知するので、受けた側は開始側のIPアドレスと通知されたポート番号に対して返事を送ることが出来ます。 2) ルータから外部のサーバに通信する際に、ルータ側のポートは空いた番号にランダムに割り振られます。外部サーバからの返事はこのポートに返りますので、一定時間はポートを空けて、通信を送ったサーバから返事があったら、内部の元々通信を開始したPCに送り届けます。 と言うことで、 ・どのサーバにルータの何番のポートから通信を送ったかがばれる ・そのサーバのIPアドレスが別のサーバで偽装される の2つの条件が満たされたら、攻撃者が目的サーバの振りをして嘘の返事を返されることがあり得ます。これをするためには、あなたのルータとプロバイダの入り口のルータの間で、通信を挟み込む必要があるので、普通はそこまで気にしません。そこまでする攻撃者相手ならもっと心配することはある。

その他の回答 (2)

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.3

>1)ポートに対してみなさんはどのような認識を持っていますか? データ通信の多重化※を実現するための技術ですね。  ※多重化とは、一つの容れ物(通信ケーブル/伝送路)に多数の中身(データ)を詰込むこと。   "中身(データ)"の数え方は、多重化の目的によって、   「ユーザ数」だったり、「機器の数」だったり、「ソフトウェアの数」だったり、   「データ量」だったり、「処理数」だったり、いろいろです。 統計多重化 http://ja.wikipedia.org/wiki/%E7%B5%B1%E8%A8%88%E5%A4%9A%E9%87%8D%E5%8C%96 プログラミング経験者の間では、「ポート」=「socket※」という認識があります。  ※「socket」とは、日本語でコンセントのこと。 そして、TCP/UDPは、それぞれ6万個のコンセントがついたOAタップであり、 各コンセントには、ソフトウェア(IEやメールソフト、各種サーバソフトなど)を接続できる。 という認識です。 このOAタップを「壁のコンセント」=「ハブやルータ」に接続してやれば、 6万個のソフトウェアが同時に通信できる、といったイメージですね。 「socket」については、下記URLに図を利用した説明があります。 ソケット入門 http://software.aufheben.info/kouza/senior/kouza_socket.html ちなみに、ipマスカレードも、多重化という視点で見直すと、 「ipマスカレードは、  一つのグローバルIPアドレスに対して、  複数のホスト、複数のアプリケーションを多重化する技術である」 といえますね。

回答No.2

1)ポートは通信パケットの中に書かれているただの符号。 2)IPマスカレードだろうとNATだろうと、ポート自体が脆弱性になることはなく、その通信を受けるソフトウェア、もしくはハードウェア等に脆弱性がある場合にセキュリティーリスクがある。 なんか、この関係の質問が増えているような感じがしますが、ネットワークスペシャリストあたりの対策なんでしょうかね。 ポートはあくまでもTCPやUCPなどのプロトコル内で使用する符号で、ホストの識別はできません。 ホストの識別をするのはIPアドレスで、IPプロトコルです。 ただ、IPマスカレード、NAPTは、このIP層、TCP/UDP層をまたいでアドレス変換をしますので、ごちゃごちゃしてしまうんだと思います。 ちなみに、ポート番号は1だろうと60000だろうと中身は同じです。プロトコルごとに割り当てられているわけではありません。たまたま、httpのサーバーソフトのリッスンポートを80番に設定している管理者が多くて、一般的にも認知されているので、「ポート80」=httpと思われる人もいるかもしれませんが、別に「ポート22」でhttpをサービスすることもできますし、「ポート8080」とかもhttpプロトコルでよく使われます。(たいていはイントラ内だけですが) 2)については、IPマスカレードは単なるIPアドレス、ポートの変換機能ですので、ポートを変換しただけでは脆弱性の原因にはなりませんが、変換先のポートで待ち受けているサーバソフトやOSに脆弱性があれば、そこがセキュリティーホールになります。 もちろん、そのIPマスカレードをかけるソフトウェアや、ハードウェアそのものに脆弱性がある場合は、話は別ですが。

関連するQ&A

  • ポート番号について教えてください

    ポート番号において (前者)IPマスカレード機能において、1つのグローバルIPアドレスで複数のコンピューターが同時に通信を行うため、ポート番号をプライベートアドレス(PC)ごとに適当に割り当てて、通信のつどポート番号を変換し、限りあるグローバルIPアドレスの枯渇を防ぐ場合と (後者)ポートを指定し、識別番号をつけることによってどのアプリケーションでデータを受け取るかを決める場合と 同じ「ポート番号」という言葉が使われていますが、この違いはなんなのでしょうか。 自分で考えてみたのですが、 前者は、IPマスカレード機能はルーターの1つのグローバルIPアドレスを複数のポート番号に割り当てることによりLAN上の複数のプライベートIPアドレスを利用できるようにしたもので 後者は、LAM側にあるPCのプライベートIPアドレスに複数のポート番号を割り当てて同時に複数のアプリを動かすことを実現している違いでしょうか。 つまり、何に対してポート番号を割り当てるかの違いがあるかということです。 また、この2つはルーターの設定で行うと考えてよいのでしょうか。 ややこしい質問かもしれませんが、どう把握したらよいか教えてください。

  • ssh用ポート番号の変更

    失礼します。 現在ローカルなネットワーク内でssh22番ポートを使用してサーバーを遠隔操作しているのですが、 このサーバーをグローバルなネットワーク内に置く前にsshのポートを別のポートに変更しようと考えていまして、 そこでちょっとつまっています・・・。 サーバー機はCentOSになります。 まず、sshの設定でsshd_ifconfigに「Port (新しいポート番号)」と書き加え、 /etc/servicesで #ssh 22/tcp SSH Remote Login Protocol #ssh 22/udp SSH Remote Login Protocol ssh (新ポート)/tcp SSH Remote Login Protocol ssh (新ポート)/udp SSH Remote Login Protocol としました。 また、サーバー側のファイアウォール設定で、 システム→管理→ファイアウォールでその他のポートに新しいポートを追加しました。 しかし、クライアント側で >ssh -X -p (ポート) ip としても ssh: connect to host ***.***.***.*** port ***: Connection refused となってしまいます。 どなたかご教授ください。

  • RT200KIのポート開放

    お世話になります。 RT200KIのポート開放について質問させてください。 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ □やりたいこと 自宅のSSHサーバに外部PCからアクセスしたい。 □現状 ◎プロバイダ:nifty ◎接続 ONU-----RT200KI-----------SSHサーバ         +-------------クライアントPC ◎IPアドレス RT200KI:192.168.1.1 SSHサーバ:192.168.1.2 クライアントPC:DHCP(192.168.1.100) ◎実施したこと (1)RT200KIにログインしてNATの設定を実施   TCP WAN側ポート22 LAN側ポート22 LAN側IP:192.168.1.2 (2)ルータのWAN側アドレスを調べて、クライアントPCからSSHソフトでポート22番にアクセス→繋がらず (3)クライアントPCからSSHソフトでSSHサーバにアクセス→繋がった (4)RT200KIに、SSHサーバのIPとNICのMACアドレスを登録 (5) (2)を実施→繋がらず ◎参考にしたURL:http://www.akakagemaru.info/port/WebCasterV100.html □予想原因 (1)ルータの設定で不足しているものがある (2)niftyで22番ポートの通信を制限している +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ぐぐってみたところ、(2)については、25番ポートだと制限をしているようなことを書いたページがありました。 ですが、22番ポートを制限しているというページは見つかりませんでした。 以上の状況です。 何かヒントになりそうなことでもいいのでご意見いただければ幸いです。 よろしく御願いいたします。

  • 80番ポートの開放が出来ない

    検証用Webサーバを構築しようとしています。 外部からサーバにアクセスできるようポートを開放したいのですが、今一よくわかりません。 やりたいこと Webサーバ(SV1)に外部からアクセスできるようにしたい 使用しているルータ Aterm BL170HV 設定したこと ルータにポートマッピング設定をした →LAN側ホスト:192.168.0.3 プロトコル:TCP ポート番号:any  LAN側ホスト:192.168.0.3 プロトコル:UDP ポート番号:any (最終的には必要ポートのみに絞る予定) DHCPはオフにし、各々のPC・SVで固定プライベートIPアドレスを設定した LAN環境                    PC1(192.168.0.2) onu-ルータ(192.168.0.1)∠SV1(192.168.0.3) 現在、PC1でhttp://192.168.0.3 と入力すると、SV1内にあるホームページのindex.htmが見られます。 一方、PC1でhttp://(プロバイダから割り当てられてるグローバルIPアドレス)と入力すると、ルータの設定画面に入ってします。 これを、ルータの設定画面ではなく、SV1のindex.htmが開くようにしたいです。 どうしたらいいのか、ご教授ください。       

  • IPSecのVPNにおけるポートフィルタリング

    お世話になります。 以下、質問させてください。 現在、2拠点間で、ヤマハルーター、RTX1100により、IPSecのVPN接続を行っております。 回線はBフレッツ、プロバイダはOCNです。 固定IPアドレスを取得して、インターネット接続では、IPマスカレードを使用しております。 セキュリティを強化するために、不要なポートを可能な限り、さらに閉じたいと思っておりますが、 閉じすぎてしまいますと、正常な通信が、出来なくなってしまいますので、 どのポートを閉じることが出来るかを、検討しております。 WELLKNOWNポート(0~1023)については、使用するポート(DNSサーバーの53、WEBの80、443、IPSecの500、等)以外のポートは、すべて閉じます。また、使用するポートも、IPアドレスによる制御をかけます。 登録済ポート(1024~49151)、自由使用ポート(49152~65535)については、特に狙われやすいポートを閉じ、他は、開けてあります。ただし、外部からのアクセスはIPアドレスにより拒否、内部から外部のDNSサーバー、WEBサイトへのアクセスの返答は、通過させるようにしております。 ここで、ご質問させてください。 まず、内部LANから、外部インターネットに接続する場合についてです。 内部LANの端末から、DNSサーバーの53番ポートへの送信、 DNSサーバーの53番ポートから、内部LANの端末への受信、を許可していますが、 その際に、こちら側のポートは、1024番以降のポート番号が、「任意」に割り当てられる、と、文書で読みました。 このため、1024番以降で、閉じているポートが、たまたま割り当てられてしまった場合は、正常な通信が出来なくなってしまいます。 この「任意」には、何らかのルールがありますでしょうか。 例えば、1024番から順番に割り当てられるのだとしたら、内部LANの端末数が100くらいで、また、すべての端末が同時にインターネットを使用する可能性は低いので、1024~1124ぐらいまでは、開けておき、1125~65535は、閉じておきたい、と思います。 外部WEBサイトに接続する場合、やはり、送信側の「任意の」ポートから、外部WEBサイトの80、443ポートに、パケットが送られ、そこから、ESTABLISHEDパケットが、送信側の80、443ポートを通じて(この認識も正しいかどうか、確証がありません)戻ってきて、3WAYハンドシェイクにより、接続が成立する、と理解しております。 この際の「任意」にも、何らかのルールがありますでしょうか。 ルーターRTX1100のマニュアルを観ますと、IPマスカレードを使っている場合、デフォルトでは、60000~64095が割り当てられる、と書いてあるのですが、通信ログを観ますと、1024番以降の比較的若い番号も、使われているようでして。 もし、このマニュアルの記述が正しいならば、1024~59999、64096~65535は、閉じてしまいたいとも、思うのですが。 次に、IPSecについてです。 調べますと、IPSecの共通鍵(IKE)交換は、両拠点の500番ポート同士で行われる、ということなのですが、それでは、両拠点間の通信は、すべて、この500番ポート同士のみで、行われるということになりますでしょうか。それとも、1024番以降のポートも、やはり、使われる可能性がありますでしょうか。 例えば、片方の拠点のLANにある、データベースサーバー(プライベートIPアドレス、MicrosoftSQLサーバー)を、もう片方の拠点のLANでも、参照、使用しております。 ポートフィルタリングで、SQLServerが使用する、1433、1434番ポートも、閉じているのですが、2拠点間の通信は、正常に行うことが出来ております。 以上、2つ、お伺いさせて頂きます。 どうぞよろしくお願い致します。

  • ポート開放について

    OCNのポート開放についての質問です。 とあるゲームをしたくポート開放をしてみましたが開きませんどなたか教えてください。 まずルーターのAirStation→アドバンスト→ネットワーク設定→アドレス変換にて WAN側IPアドレス=エアステーションのWAN側IPアドレス プロトコル =TCPポート47624 LAN側IPアドレス=192.168.11.6 LAN側ポート =TCPポート47624 のように設定しました。 次にファイアウォール設定画面にて 例外→ポートの追加に 名前 =ゲーム名 ポート番号 =47624 TCPにチェックしOKを押しました。 最後にモデムFA11-W5の設定画面 基本設定画面ではルーターモードで接続しています。 DNSサーバは自動取得の状態です。 LANの設定画面では IPアドレス:192.168.0.1 設定→モデム詳細設定→スタティックIPマスカレード設定画面にて プロトコル :TCP インターネット側 開始ポート :47624 最終ポート :47624 ローカル側 ローカルIPアドレス :192.168.0.1 環境状況: OS :WindowsXP OCNのADSLセット12Mシンプル モデム :FA11-W5 ルーター :バッファローWBR2-G54 PC :無線内蔵型ノートPC 不明な部分があれば追記致しますので ご指導何卒よろしくお願いいたします

  • IPアドレス ルータ プライベート グローバル ポート解放の仕方とは

    ルータの話ですがポートがあかないなぁと思っていたら、1activexなどを遮断していたから 空かなかったようなのですが、そういうものなのですか? プライベートIP グローバルIP 2プライベートIPが固定IPでLAN側IPなんですか? そうですといわれたんですが、、、グローバルがプロバイダ側で動的IPらしい  ルータを繋ぐとIP固定されてしまうんですよね 繋がないと変わったりもします 3 ポートをあけるにはインターネットプロトコルをいじらなければいけないですか?私のルータはメルコです。 今回はいじらないであける方法を教えてもらったんですけど、いじる方法といじらない方法など開け方も様々ということですか? 4一番気になったのが、ルータで4台繋ぐとします 掲示板に書き込んだ→どのPCから書き込んだかまで、わかると考えていいですか? グローバルはすべて同じだろうけど、LAN側IP?(おそらくルータが割り振ったIP)が違うから、わかるとか  管理人はプロバイダだけでなくLAN側IPまでわかるんですか? お願いします 恐縮ですが長めで詳しく回答していただけると助かります

  • ポート複数開放

    テレビ電話ソフトを使うため、 2000番・2001番・4000番と、UDPプロトコルのポート番号の 49152番~49407番まで 開放しなくてはならないのですが、UDPのポートがうまく空いていないせいか使えません(相手の画像が見えません) ルータは自宅にあるので、TCPポート開放と同じように、ルータにブラウザからアクセスして、バーチャルサーバーページへ行きました。 IPアドレスをTCPポートを空けるときと同じものを入れて、PrivatePort:49152 PublicPort:49407という風に入れました。 これは正しいのでしょうか?

  • RT200NEポート開放

    ■ルーター(NTT RT-200NE) --- ■無線LANルーター(ブリッジ) --- ■PC という構成でポート開放を試みていますが上手く行きません。 RT-200NE トップページ > 詳細設定 > 静的IPマスカレード設定 にて 変換対象プロトコル TCP 変換対象ポート xxxxx 宛先アドレス 192.168.11.2 (PC固定IP) 宛先ポート xxxxx と設定しました。 ポートを使用するソフトウェアを起動して、外部からポート接続をしてくれるサービスを利用し開放確認を行いましたが失敗と表示されます(proxy経由なし) また80、21、25、110…といった良く使うポートも、ソフトを起動した状態で試してみましたが全て失敗となります。(宛先グローバルIPに間違いはない) 無線LANルーターの設定も確認しました。 確実にブリッジでルーターとしては機能しておりません。 PC側のセキュリティソフトやファイヤーウォール系も全て調べましたが制限を行ってはいないようです。 プロバイダからはグローバルIPを割り振っていただいています。 ほかに考えられる原因はありますでしょうか?

  • 80番ポートについて

    ポート開放確認くん というサイトで80番ポートが開いているかを確認したら開いていないと表示されていました。 しかし、開いていなかったらネットが使えなくなると思うのですがそのようなことは起こるのでしょうか? 私の環境のでルータをいくつ使用しているかとか記述しようと思いましたが、 光用のルータもつながっているので見方が良くわかりませんでした。 LAN内のパソコン上からルータにいくつ接続しているか 簡単に調べることができるツールがあったら教えてください。