UNIX/Linux版 vsftpdで初回の受信接続が制御されない

Document created by Tomo_Fujita Employee on Mar 25, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC000174

 

製品名:Privileged Identity Manager

 

バージョン:All

 

OS:Unix/Linux

 

◆ 内容

CA ControlMinder (以下CA CM)のネットワーク制御において、ftpを制御対象としているにも関わらず、

vsftpdを使用している場合に、CMのカーネルモジュールのロード後、初回の受信接続が制御されない。

 

◆ 詳細内容

CA CMは受信接続の制御のためにacceptシステムコールをインターセプトしますが、

対象のソケットがブロッキングモードの場合には、CA CM起動前から起動していたプログラムのacceptをインターセプトすることが出来ません。

一度接続が発生するとそのブロックされたacceptは終了して、次回以降はインターセプト可能となります。

ノンブロッキングモードの場合であればこの事象は発生しません。
この事象はstreamsを使用していないプラットフォーム(Linux, AIX)で発生します。


現時点では、当事象はCA CMの制限事項です。

回避策としては以下のいずれかの方法があります。以下の内容はvsftpdを対象としていますが、

その他のブロッキングモードで受信するネットワークサービスに対しても同様です。

 

1. vsftpdを再起動する
カーネルアンロードを含めてCA CMを再起動する場合には、CA CM起動後でカーネルモジュールロード後に

vsftpdを再起動してください。

また、OSリブート時にもCA CMカーネルモジュールをvsftpdよりも先にロードするようにしてください。


2. vsftpdをスーパーデーモン(inetd/xinetd)経由で起動する。
設定方法はOSおよびアプリケーションベンダ様等にお問い合わせください。


3. CA CM起動後にtripAcceptを実行する。
tripAcceptはCA CMのユーティリティで、acceptシステムコールで実行がブロックされている

全てのソケットに対して擬似接続を行います。それにより、そのソケットをCA CMでインターセプト可能とします。
tripAceeptによる接続が拒否されないように、tripAcceptをspecialpgmに登録して、ネットワークバイパスを設定してください。

 

設定手順:
a. tripAcceptをspecialpgmに登録してネットワークのバイパスを設定する。
AC> er specialpgm <SEOSDIR>/bin/tripAccept pgmtype(pbn) own(nobody)
b. CA CM起動直後にtripAcceptを実行する。
# <SEOSDIR>/bin/tripAccept 1 -ports 21
※ 上記はポート21(FTP)に対して1回擬似接続を行うことになります。
※ <SEOSDIR>はCA CM導入ディレクトリです。


3の回避策であるtripAcceptの実行は、seos.iniのSEOS_syscall.call_tripAccept_from_seloadトークンにて制御可能です。

また、tripAcceptのspecialpgmはデフォルトで設定されています。

Attachments

    Outcomes