ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ネットワークの構成と管理 Oracle Solaris 11.1 Information Library (日本語) |
トランスポート層プロトコル TCP、SCTP、および UDP は、Oracle Solaris の標準パッケージの一部です。 通常、これらのプロトコルは、ユーザーの介入なしで正常に動作します。ただし、サイトの条件によっては、トランスポート層プロトコルの上で動作するサービスをログまたは変更しなければならない場合があります。次に、サービス管理機能 (SMF) を使ってこれらのサービスのプロファイルを変更する必要があります。SMF については、『Oracle Solaris 11.1 でのサービスと障害の管理』の第 1 章「サービスの管理 (概要)」で説明しています。
inetd デーモンは、システムがブートされると、標準的なインターネットサービスを起動します。これらのサービスは、TCP や SCTP、UDP をそのトランスポート層プロトコルとして使用するアプリケーションなどです。SMF コマンドを使えば、既存のインターネットサービスの組み合わせを変更したり、新しいサービスを追加したりできます。inetd についての詳細は、「inetd インターネットサービスデーモン」を参照してください。
トランスポート層プロトコルが関係する操作には、次の操作があります。
すべての着信 TCP 接続を記録する
トランスポート層プロトコル (たとえば、SCTP) の上で動作するサービスを追加する
アクセス制御のために TCP ラッパー機能を構成する
inetd デーモンの詳細は、inetd(1M) のマニュアルページを参照してください。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# inetadm -M tcp_trace=TRUE
SCTP トランスポートプロトコルは、TCP に類似した方法でアプリケーション層プロトコルにサービスを提供します。ただし、SCTP では 2 つのシステム間での通信が可能です。これらのシステムは、片方または両方がマルチホームであってもかまいません。SCTP 接続は「アソシエーション」と呼ばれます。アソシエーションでは、アプリケーションがデータを分割し、1 つまたは複数のメッセージストリームとして伝送します (マルチストリーム化)。SCTP 接続は、複数の IP アドレスを持つエンドポイントに到達できます。これは、テレフォニーアプリケーションにとって特に重要です。IP Filter や IPsec を使用する場合、SCTP のマルチホーム機能はセキュリティーの点で考慮を要します。考慮点については、sctp(7P) のマニュアルページを参照してください。
デフォルトで SCTP は Oracle Solaris に組み込まれています。したがって、構成を別に行う必要はありません。ただし、SCTP を使用するためには、一定のアプリケーション層サービスを明示的に構成しなければならない場合があります。このようなアプリケーションの例としては、echo や discard があります。次の手順は、ワンツーワンスタイルの SCTP ソケットを使用する echo サービスの追加方法を示しています。
注 - さらに、次の手順を使えば、TCP や UDP のトランスポート層プロトコル用のサービスを追加できます。
次のタスクでは、inetd デーモンによって管理される SCTP inet サービスを SMF リポジトリに追加します。さらに、タスクの後半では、サービス管理機能 (SMF) コマンドを使ってこのサービスを追加します。
SMF コマンドについては、『Oracle Solaris 11.1 でのサービスと障害の管理』の「SMF コマンド行管理ユーティリティー」を参照してください。
構文については、SMF コマンドのマニュアルページを参照してください (手順を参照)。
SMF の詳細は、smf(5) のマニュアルページを参照してください。
始める前に
次の手順を実行する前に、サービスのマニフェストファイルを作成してください。この手順では、例として、echo サービス用のマニフェスト echo.sctp.xml を使用します。
service-name |port/protocol | aliases
サービスマニフェストが格納されているディレクトリに移り、次のように入力します。
# cd dir-name # svccfg import service-manifest-name
svccfg の詳しい構文については、svccfg(1M) のマニュアルページを参照してください。
現在 service.dir ディレクトリにあるマニフェスト echo.sctp.xml を使用して、SCTP の新しい echo サービスを追加するとします。その場合、次のように入力します。
# cd service.dir # svccfg import echo.sctp.xml
# svcs FMRI
FMRI 引数には、サービスマニフェストの Fault Managed Resource Identifier (FMRI) を使用します。たとえば、SCTP の echo サービスの場合は、次のコマンドを使用します。
# svcs svc:/network/echo:sctp_stream
次のような出力が表示されます。
STATE STIME FMRI disabled 16:17:00 svc:/network/echo:sctp_stream
svcs コマンドの詳細は、svcs(1) のマニュアルページを参照してください。
出力は、新しいサービスマニフェストが使用不可になっていることを示しています。
# inetadm -l FMRI
inetadm コマンドの詳細は、inetadm(1M) のマニュアルページを参照してください。
たとえば、SCTP echo サービスの場合は、次のように入力します。
# inetadm -l svc:/network/echo:sctp_stream SCOPE NAME=VALUE name="echo" endpoint_type="stream" proto="sctp" isrpc=FALSE wait=FALSE exec="/usr/lib/inet/in.echod -s" . . default tcp_trace=FALSE default tcp_wrappers=FALSE
# inetadm -e FMRI
たとえば、新しい echo サービスの場合、次のように入力します。
# inetadm | grep sctp_stream . . enabled online svc:/network/echo:sctp_stream
例 3-7 SCTP トランスポートプロトコルを使用するサービスの追加
次の例では、使用するコマンドと、echo サービスで SCTP トランスポート層プロトコルを使用するために必要なファイルエントリを示します。
$ cat /etc/services . . echo 7/tcp echo 7/udp echo 7/sctp # cd service.dir # svccfg import echo.sctp.xml # svcs network/echo* STATE STIME FMRI disabled 15:46:44 svc:/network/echo:dgram disabled 15:46:44 svc:/network/echo:stream disabled 16:17:00 svc:/network/echo:sctp_stream # inetadm -l svc:/network/echo:sctp_stream SCOPE NAME=VALUE name="echo" endpoint_type="stream" proto="sctp" isrpc=FALSE wait=FALSE exec="/usr/lib/inet/in.echod -s" user="root" default bind_addr="" default bind_fail_max=-1 default bind_fail_interval=-1 default max_con_rate=-1 default max_copies=-1 default con_rate_offline=-1 default failrate_cnt=40 default failrate_interval=60 default inherit_env=TRUE default tcp_trace=FALSE default tcp_wrappers=FALSE # inetadm -e svc:/network/echo:sctp_stream # inetadm | grep echo disabled disabled svc:/network/echo:stream disabled disabled svc:/network/echo:dgram enabled online svc:/network/echo:sctp_stream
「TCP ラッパー」は tcpd プログラムによって実装されます。TCP ラッパーは、送られてくるサービス要求とサービスデーモンの間で動作することによって、ftpd などのサービスデーモンにセキュリティー対策を追加します。TCP ラッパーは、正常および異常な接続の試みを記録します。さらに、TCP ラッパーはアクセス制御の機能を備えています。したがって、要求の発行元がどこかによって接続を許可することも拒否することもできます。TCP ラッパーを使えば、SSH、Telnet、FTP などのデーモンを保護できます。『Oracle Solaris 11.1 での sendmail サービスの管理』の「sendmail の version 8.12 からの TCP ラッパーのサポート」で説明しているように、sendmail アプリケーションでも TCP ラッパーを使用できます。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# inetadm -M tcp_wrappers=TRUE
このマニュアルページは /usr/sfw/man ディレクトリから見つけることができます。