「Samba をファイアウォール越しに利用する」の版間の差分

提供:Samba-JP
ナビゲーションに移動検索に移動
(新規追加)
 
(MS-RPC の情報追加)
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
{{冒頭部|J0114|2003/02/11|はせがわようすけ|たかはしもとのぶ}}
{{冒頭部|J0114|2006/12/30|はせがわようすけ|たかはしもとのぶ}}
==対象==
==対象==
この文書は、以下のプロダクトに付いて説明したものです。
この文書は、以下のプロダクトに付いて説明したものです。
* Samba 2.0.x オリジナル版
* Samba 2.0 系列
* Samba 2.2.x オリジナル版
* Samba 2.2 系列
* Samba 2.0.x 日本語版
* Samba 3.0 系列
* Samba 2.2.x 日本語版


== 説明 ==
==Q. Samba をファイアウォール越しに利用しようとしていますが、ファイアウォー ルの設定はどのようにすればよいでしょうか??==
本文書では、Samba をファイアウォール越しに利用する場合開放が必要なポートについて説明を記載します。
Samba は Windows NT と同等の機能を UNIX 上で実現したプロダクトですので、本件に限らず、Samba について情報がない場合は、Microsoft社の各種技術情報などを参照するのよいでょう


=== 基本的な機能 ===
今回の場合、例えば「[[http://support.microsoft.com/default.aspx?scid=kb;ja;150543 JP150543:Windows NT、Terminal Server、および Microsoft Exchange サービスの TCP/IP ポートの使用について]]」に関連する記述があります。ただし、Samba では WINS 複製はサポートしませんので、42/tcp は利用しません。また DNS/DHCP/PPTP 等の機能は、元もと Samba の実装しているファイル共有とは関係がありません(注1)。
基本的には Samba との間の以下の通信を許可する必要があります。


{| border="1"
注1: WINS Manager 等が利用している 135/tcp も Samba は利用しません。なおこの技術情報注には 137/tcp という記述がありますが、これは 137/udp の記述ミスだと考えています。
|-
!style="background-color: #cccccc;"|通信目的
!Samba 側の待受けポート
!接続元のポート
|-
|style="background-color: #cccccc;"|名前登録など
|137/udp
|137/udp
|-
|style="background-color: #cccccc;"|ブラウジングなど
|138/udp
|138/udp
|-
|style="background-color: #cccccc;"|ファイル / 印刷サービスなど
|139/tcp
|Hi/tcp
|-
|style="background-color: #cccccc;"|ファイル / 印刷サービスなど<br>(Direct Hosting of SMB)
|445/tcp
|Hi/tcp
|}


137/udp と 138/udp は UDP のため、基本的に双方向に通過可能にする必要がありますが、それではセキュリティが低下してしまいます。実は、この 2つが存在しない場合でも、139/tcp(もしくは 445/tcp)が通過できればファイル / 印刷サービスは提供できます。
これらを総合すると、Samba をファイアウォール越しに利用するに必要なポートは以下3つになります。


ただし、139/tcp のみを通過可能にした場合は、ブラウジング機能が動作しないため、Samba マシンのアイコンは「ネットワークコンピュータ」上に表示されません。これは仕様になります。また Samba マシンの名前解決についても WINS や LMHOSTS に静的に登録するか、
* 137/udp 名前登録など
* 138/udp ブラウジングなど
* 139/tcp ファイル / 印刷サービスなど


\\192.168.1.1\share
137/udp と 138/udp は UDP のため、基本的に双方向に通過可能にする必要がありますが、それではセキュリティが低下してしまいます。実は、この 2つが存在しない場合でも、139/tcp が通過できればファイル/ 印刷サービスは実行できます。


のような記述方法で Samba サーバを IP アドレスで指定する必要があります。
また TCP のため、下の図のように片方向からのアクセスを実現することも可能です。従って、特に問題がなければ、139/tcp だけをアクセスを許可したい方向のみ通過可能に設定するのがよいでしょう(注2)


この他 SWAT を利用する場合は、Web ブラウザを実行するマシンのハイポートから Samba サーバの 901/tcp (デフォルト値の場合)への通信も許可する必要があります。
内部ネットワーク 外部ネットワーク
Windows クライアント
------- [FW] --->
Sambaマシン - 共有フォルダ1
- 共有フォルダ2
- 共有フォルダ3


=== その他の機能 ===


利用する機能によっては、この他のポートの解放が必要な場合もあります。たとえば Samba サーバを Active Directory ドメインのメンバサーバとする場合は、Samba サーバと DC との間で Kerberos や LDAP などの動作に必要なポートを解放する必要があります。
注2: 当然 TCP の戻りパケットは通過できるように設定しておく必要があります。


機能によっては MS-RPC に必要なポート(135/tcpおよびハイポートすべて)の開放が必要な場合もあります。
ただし、139/tcp のみを通過可能にした場合は、ブラウジング機能が動作しないため、Samba マシンのアイコンは「ネットワークコンピュータ」上に表示されません。これは仕様になります。また Samba マシンの名前解決についても WINS や LMHOSTS に静的に登録するか、直接 Samba サーバを IP アドレスで指定する必要がありますので(注3)、注意して下さい。


Samba は Windows NT 系 OS と同等の機能を UNIX 上で実現したプロダクトですので、本件に限らず、Samba について情報がない場合は、マイクロソフト社の技術情報を参照して開放必要なポートを調査てください
注3: \\192.168.1.1\share のような記述方法になります。


例えば「[http://support.microsoft.com/kb/832017/ja Windows サーバー システムのサービス概要およびネットワーク ポート要件]」に機能ごとに開放が必要なポートの記述があります。
なお、これは外部ネットワークのマシンがWindowsマシンの場合も同様で、特に Samba の機能が劣っているわけではありません。


== 参照情報 ==
この技術情報は「Linux Japan 2001年7月号: Samba-JP通信」の草稿を元に作成されています。
この技術情報は「Linux Japan 2001年7月号: Samba-JP通信」の草稿を元に作成されています。

2006年12月31日 (日) 12:50時点における最新版

KB番号 J0114
最終更新日 2006/12/30
作成者 はせがわようすけ
最終更新者 たかはしもとのぶ

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.0 系列
  • Samba 2.2 系列
  • Samba 3.0 系列

説明

本文書では、Samba をファイアウォール越しに利用する場合に開放が必要なポートについての説明を記載します。

基本的な機能

基本的には Samba との間の以下の通信を許可する必要があります。

通信目的 Samba 側の待受けポート 接続元のポート
名前登録など 137/udp 137/udp
ブラウジングなど 138/udp 138/udp
ファイル / 印刷サービスなど 139/tcp Hi/tcp
ファイル / 印刷サービスなど
(Direct Hosting of SMB)
445/tcp Hi/tcp

137/udp と 138/udp は UDP のため、基本的に双方向に通過可能にする必要がありますが、それではセキュリティが低下してしまいます。実は、この 2つが存在しない場合でも、139/tcp(もしくは 445/tcp)が通過できればファイル / 印刷サービスは提供できます。

ただし、139/tcp のみを通過可能にした場合は、ブラウジング機能が動作しないため、Samba マシンのアイコンは「ネットワークコンピュータ」上に表示されません。これは仕様になります。また Samba マシンの名前解決についても WINS や LMHOSTS に静的に登録するか、

\\192.168.1.1\share

のような記述方法で Samba サーバを IP アドレスで指定する必要があります。

この他 SWAT を利用する場合は、Web ブラウザを実行するマシンのハイポートから Samba サーバの 901/tcp (デフォルト値の場合)への通信も許可する必要があります。

その他の機能

利用する機能によっては、この他のポートの解放が必要な場合もあります。たとえば Samba サーバを Active Directory ドメインのメンバサーバとする場合は、Samba サーバと DC との間で Kerberos や LDAP などの動作に必要なポートを解放する必要があります。

機能によっては MS-RPC に必要なポート(135/tcpおよびハイポートすべて)の開放が必要な場合もあります。

Samba は Windows NT 系 OS と同等の機能を UNIX 上で実現したプロダクトですので、本件に限らず、Samba について情報がない場合は、マイクロソフト社の技術情報を参照して開放が必要なポートを調査してください。

例えば「Windows サーバー システムのサービス概要およびネットワーク ポート要件」に機能ごとに開放が必要なポートの記述があります。

参照情報

この技術情報は「Linux Japan 2001年7月号: Samba-JP通信」の草稿を元に作成されています。