SMBとは?Nmapで見つけた445番ポートとウェルノウンポート
はじめに
最近、セキュリティの勉強でNmapを使って、サーバーで開いているポートを調べています。
例えば、
22/tcp open ssh
80/tcp open http
445/tcp open microsoft-dsのような結果が出てきます。
22番ポートならSSH、80番ならHTTPというのは分かってきたのですが、そこで気になったのが445番ポートです。
調べてみると、445番ポートでは「SMB」というプロトコルがよく使われていることが分かりました。
SMBって何?
SMBは、簡単にいうとネットワーク上でファイルやプリンターなどを共有するための通信プロトコルです。
例えば会社のWindows環境で、
「共有フォルダにファイルを置いて、他の人もそこからファイルを見る」
ということがあります。
このようなネットワーク上のファイル共有を実現するために、SMBが使われています。
イメージとしては、
自分のPC
↓
ネットワーク
↓
Windowsサーバー
↓
共有フォルダという感じです。
普段Windowsを使っていると、ネットワーク上の共有フォルダを普通のフォルダのように開けることがあります。
その裏側では、こうしたSMBによる通信が行われています。
445番ポートは何なの?
では、なぜNmapで「445番ポート」を見るとSMBだと分かるのでしょうか。
現在のWindows環境では、SMBは主にTCP 445番ポートを利用します。
そのため、Nmapで、
445/tcp openとなっていると、
「このコンピューターではSMBが利用できる可能性がある」
と考えることができます。
ちなみに、SMB関連では139番ポートも出てくることがあります。
ただ、現在のWindows環境では445番ポートのSMBを覚えておけば、まずは十分そうです。
「ウェルノウンポート」というものがある
ここで、もう一つ気になった言葉が**「ウェルノウンポート(Well-known port)」**です。
ポート番号には、サービスごとによく使われる番号が割り当てられています。
その中でも、**0〜1023番のポートは「ウェルノウンポート」**と呼ばれています。
例えば、
22 → SSH
53 → DNS
80 → HTTP
443 → HTTPS
445 → SMBなどです。
そのため、Nmapで445番ポートが開いているのを見ると、
「445番はSMBでよく使われるポートだったな」
と、ポート番号から動いているサービスを推測できます。
ただし、「445番=必ずSMB」という意味ではありません。
実際に何のサービスが動いているのか確認したい場合は、Nmapのサービス検出機能などを使って調べることができます。
SSHとは何が違う?
ここも最初は少し混乱しました。
例えば、
22番 → SSH
445番 → SMBです。
どちらもネットワークを通じてコンピューターと通信しますが、目的が違います。
SSHは、主に離れたコンピューターにログインして操作するために使います。
一方、SMBは、ネットワーク上でファイルやプリンターなどのリソースを共有するために使われます。
つまり、
SSH
→ 「そのコンピューターを遠隔操作したい」
SMB
→ 「そのコンピューターの共有フォルダなどを利用したい」という違いです。
セキュリティの勉強でもよく出てくる
SMBについて調べていると、セキュリティの勉強でもよく登場することに気づきました。
Nmapで445番ポートが開いていることが分かった場合、
「SMBが動いているのかな?」
「どんな共有フォルダが公開されているのかな?」
「どのような設定になっているのかな?」
と、さらに調べていくことができます。
ただ「445番ポートが開いている」というだけでは、すぐに危険という意味ではありません。
SMBはWindowsのファイル共有などに普通に使われている仕組みだからです。
今回調べてみて、今まで「445番ポート=SMB」と暗記するだけだったものが、
「Windowsでファイル共有をするための通信なんだ」
と少し具体的にイメージできるようになりました。
また、ポート番号には「ウェルノウンポート」という考え方があり、代表的なサービスにはよく使われるポート番号があることも分かりました。
セキュリティの勉強では、ポート番号を覚えるだけではなく、
「このポートでは、実際に何が起きているんだろう?」
と考えながら調べていくと、少しずつ理解しやすくなる気がします。
