機能詳細(安全なデータ転送の実現)
Archaea toolsは、安全な利用を実現するために、機密性の確保(正しい通信相手の特定)とデータ到達の完全性を確保するための機能を提供します。
- 認証には、PKI(Public Key Infrastructure 公開鍵暗号基盤)の技術を利用し、安全に正しい通信相手と情報のやりとりを行います。
- 通信の暗号化には、国際標準のAES(Advanced Encryption Standard 高度暗号化標準)を採用し、機密情報の漏えいを防止します。
- 特権分離やアクセスコントロールリストの機能を備え、きめ細やかなアクセス制御を行います。
- データ完全性検査機能を備え、ネットワーク上のエラー等によるデータの誤り検出を行います。
- 通信再開機能により、予期せぬ理由でデータ転送が中断されても、前回の続きから処理を再開することができます。
認証
Archaea toolsは、次の標準的な認証機能をサポートしています。
- PAM (Pluggable Authentication Modules)認証
- 公開鍵認証
- Windows認証
また、Archaea toolsで設定できるユーザ認証の種類は以下の通りです。
種類 | 関連設定項目 | 内容 |
---|---|---|
PAM認証(Linux) | PAMAuthentication | PAM(Pluggable Authenticaton Module)認証設定 |
公開鍵認証 | PubkeyAuthentication | 公開鍵認証設定 |
LPA認証 | LocalPasswordAuthentication | LPA(Local Password Authentication)認証設定 |
WLU(Windows認証) | WinLogonUserAuthentication | Windows認証設定 |
Archaea toolsのPAM認証は、LDAP(Lightweight Directory Access Protocol)認証にも対応することができます(配備環境がlogindなどでLDAP認証を使用する様に構成されている場合)。その場合、/etc/pam.d/hcpd
に保存されたArchaea toolsのUnixデーモン向けのPAM認証設定を参照してLDAP認証を行います。PAM認証機構が提供する任意の設定を利用できます。
Windowsサーバでは、Active Directory (AD) のドメイン認証機能などを含み(単にユーザ名の前にドメイン名を付けるだけです)Windowsログオン機能を利用することができます。
関連オプション
コマンド | 短縮名 | オプション名 | 概略 |
---|---|---|---|
hcp/hsync/hrm/hcp-ls/hmkdir/hpwd/hmv/hln/hchmod/hchown | no-agent | 鍵エージェント無効化 | |
ident-select | 秘密鍵選択 | ||
wss-no-check-certificate | サーバ証明書の検証無効化(WebSocket(SSL/TLS)通信時) | ||
user | ユーザ名を先に指定して転送 | ||
password | パスワードを先に指定して転送 |
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | LocalPasswordAuthentication | LPA(Local Password Authentication)認証設定 |
PAMAuthentication | PAM(Pluggable Authenticaton Module)認証設定 | |
PubkeyAuthentication | 公開鍵認証設定 | |
WinLogonUserAuthentication | Windows認証設定 | |
PerformSystemAuthenticationRegardlessUsers | システム認証(PAM認証、Windows認証)実行制御 | |
AuthorizedKeySearchDir | 公開鍵探索ディレクトリの指定 | |
AuthorizedKeyFile | 公開鍵ファイルパスの指定 | |
AuthorizedKeysCommand | 公開鍵参照コマンドの指定 | |
AuthorizedKeysCommandUser | 公開鍵参照コマンド実行ユーザの指定 | |
CACertificateFile | CA(Certificate Authorities)証明書の保管先ファイルパス指定 | |
CACertificatePath | CA(Certificate Authorities)証明書の保管先ディレクトリ指定(予約) | |
CARevocationFile | CRL(証明書失効リスト)の保管先ファイルパス指定 | |
CARevocationPath | CRL(証明書失効リスト)の保管先ディレクトリ指定(予約) | |
OCSPRevocationEnabled | OCSP(オンライン証明書失効検査)実施の設定(クライアント認証時) | |
LocalUserFile | ユーザ定義ファイルパス指定 | |
LocalPasswordFile | LPA(Local Password Authentication)認証のパスワード定義ファイルパス指定 | |
AllowUsers | ログイン許可するユーザ名のパターン設定 | |
AllowGroups | ログイン許可するグループ名のパターン設定 | |
DenyUsers | ログイン拒否するユーザ名のパターン設定 | |
DenyGroups | ログイン拒否するグループ名のパターン設定 | |
クライアントコマンド共通項目 | LocalPasswordAuthentication | LPA(Local Password Authentication)認証設定 |
PAMAuthentication | PAM(Pluggable Authenticaton Module)認証設定 | |
PubkeyAuthentication | 公開鍵認証設定 | |
WinLogonUserAuthentication | Windows認証設定 | |
IdentitySearchDir | 秘密鍵探索ディレクトリの指定(公開鍵認証) | |
IdentityFile | 秘密鍵ファイルパスの指定(公開鍵認証) | |
PubkeyAuthenticationPrior | 公開鍵認証優先 |
PKI(Public Key Infrastructure 公開鍵暗号基盤)の利用
Archaea toolsは、安全に正しい通信相手と情報のやりとりを行うため、PKI(Public Key Infrastructure 公開鍵暗号基盤)の技術を利用しています。
ユーザ認証や通信セキュリティのためにPKIで使用する秘密鍵・公開鍵・デジタル証明書について、以下のアルゴリズムと書式をサポートします。
PKIで使用する鍵に対して、サポートするアルゴリズムは以下の通りです。
- RSA
- ECDSA nistp256, nistp384, nistp521
- Ed25519
PKIで使用する鍵と証明書に対して、サポートする書式は以下の通りです(暗号化された鍵を含む)。
- PKCS1
- PKCS8
- X.509 Certificate
- OpenSSH ver.1
- PuTTY ver.2 及び ver.3
PuTTY 以外の鍵と証明書の場合、ファイルシステムに保存するにはPEMでエンコードされたファイルが必要です。
暗号化
ファイル転送などネットワーク上で通信を行う際、通信データを暗号化することが大切です。
暗号化とは、データを解読できないように加工することです。通信データを盗聴されてデータが流出するリスクを減らします。
Archaea toolsはSSH/TLS相当の通信セキュリティを提供します。デフォルト設定のままで基本的に問題なく使用できますが、サーバ及びクライアントの設定で暗号アルゴリズムを調整することもできます。
通信メッセージ暗号化
転送するメッセージを暗号化する機能です。
Archaea toolsでは、メッセージの暗号化に使用する暗号アルゴリズムの他、通信するメッセージ・ファイル・そのデータブロックの検証に使用するダイジェストアルゴリズムを設定することができます。 実際にどのアルゴリズムが使用されるかは、サーバとクライアントの設定を併せて評価して決定します。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | AcceptableCryptMethod | 通信メッセージ暗号化に使用できる暗号方式の設定 |
AcceptableDigestMethod | 通信データ及びファイルの検証に使用するダイジェスト(ハッシュ)方式の設定 | |
RequireDataIntegrityChecking | MAC(Message Authentication Code)による通信メッセージ検査要求 | |
クライアントコマンド共通設定項目 | AcceptableCryptMethod | 通信メッセージ暗号化に使用する暗号方式の設定 |
AcceptableDigestMethod | 通信データ及びファイルの検証に使用するダイジェスト(ハッシュ)方式の設定 | |
DisableDataIntegrityChecking | MAC(Message Authentication Code)による通信メッセージ検査無効要求 | |
AcceptDataIntegrityCheckingOnRejection | MAC(Message Authentication Code)による通信メッセージ検査無効拒否の受け入れ設定 |
通信セキュリティネゴシエーション
通信セキュリティの設定に関して、サーバ・クライアント間で自動的に調整を行う機能です。
Archaea toolsは、サーバ証明書セキュリティ機能により、サーバ-クライアント間でPKI技術を基礎とするセキュリティ通信を提供します。
サーバ証明書セキュリティ機能で使用する秘密鍵のパスは以下の通りです。
/etc/hcp/key/server.key (Linux.x86)
C:/ProgramData/Clealink/HCP Tools/key/server.key (Windows)
秘密鍵のパスに接尾辞”.pub”を付加したパスに公開鍵が存在する場合は、この鍵ペアを使用してセキュリティ通信を提供します。公開鍵が存在しない場合は、設定項目(ServerCertificateFile)で指定されたサーバ証明書を使用します。
Archaea toolsでは、サーバ証明書に関する各種検証(共通名(Common Name)、有効期間、CA証明書、証明書失効検査(CRL検査))を行います。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | UseServerCertificateSecurity | サーバ証明書セキュリティ機能の設定 |
RequireServerCertificateSecurity | クライアントに対するサーバ証明書セキュリティ機能の要求設定 | |
ServerKeyFile | サーバ証明書セキュリティ機能で使用するサーバ秘密鍵のファイルパス指定 | |
ServerCertificateFile | サーバ証明書のファイルパス指定 | |
ServerCertificateChainFile | サーバ証明書の中間証明書指定(複数可) | |
クライアントコマンド共通設定項目 | RequireServerCertificateSecurity | サーバに対するサーバ証明書セキュリティ機能の要求設定 |
RejectFallbackServerCertificateSecurity | サーバ証明書セキュリティダウングレード禁止 | |
IgnoreCertificateCNInvalid | サーバ証明書共通名(Common Name)の検査無効化 | |
IgnoreCertificateDateInvalid | サーバ証明書有効期限の検査無効化 | |
IgnoreUnknownCA | CA証明書の検査無効化 | |
IgnoreRevocation | CRL(証明書失効リスト)による証明書失効検査無効化 | |
WSSIgnoreCertificateCNInvalid | サーバ証明書共通名(Common Name)の検査無効化(WebSocket通信(SSL/TLS)時) | |
WSSIgnoreCertificateDateInvalid | サーバ証明書有効期限の検査無効化(WebSocket通信(SSL/TLS)時) | |
WSSIgnoreUnknownCA | CA証明書の検査無効化(WebSocket通信(SSL/TLS)時) | |
WSSIgnoreRevocation | CRL(証明書失効リスト)による証明書失効検査無効化(WebSocket通信(SSL/TLS)時)(予約) | |
CACertificateFile | CA(Certificate Authorities)証明書の保管先ファイルパス指定 | |
CACertificatePath | CA(Certificate Authorities)証明書の保管先ディレクトリ指定(予約) | |
CARevocationFile | CRL(証明書失効リスト)の保管先ファイルパス指定 | |
CARevocationPath | CRL(証明書失効リスト)の保管先ディレクトリ指定(予約) | |
WSSCACertificateFile | CA(Certificate Authorities)証明書の保管先ファイルパス指定(WebSocket通信(SSL/TLS)時) | |
OCSPRevocationEnabled | OCSP(オンライン証明書失効検査)実施の設定 | |
StrictHostKeyChecking | サーバ認証時のホスト鍵受け入れポリシー設定 |
アクセス制御
Archaea toolsは、認証したユーザに対して正しいアクセス権限や各種アクセス権を付与するため、以下の機能を提供します。
- 特権分離
- ACL(Access Control List)機能
- アドミッション制御(入場制限)
- ドキュメントポイント
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | UserDirectoryFallbackAvailable | ユーザ領域ディレクトリからの後退動作制御(後方互換オプション) |
RejectOnUserHomeDirectoryNotFound | ユーザホームディレクトリを発見できない場合のアクセス拒否設定 |
特権分離
root権限(特権)とrootでないユーザ権限に分離し、ユーザ権限を反映した安全な利用を実現します。
Archaea toolsでは、クライアントセッションに対する特権分離を設定します。同じセッションでの処理をサーバ待機プロセスとは別のプロセスで実行します。分離されたプロセス上では、認証結果に基づいたユーザの権限情報(UID/GID及び補助グループ)を権限として適用します。これらをユーザ毎に調整(システムの割当値から変更する、など)したい場合は、/etc/hcp/usersに設定を記述します。適用可能な補助グループは、1000グループまでです。これを超える場合は無視されます(UIDとプライマリグループのみが適用されます)。
特権分離を無効にした場合は、クライアントセッション上の処理はLinuxデーモンおよびWindowsサービスの実行権限に従って動作します。 また、Windowsサーバにおいて、Windowsログオン認証以外で認証された場合(LPA認証、もしくは公開鍵認証)は、特権分離の設定項目に関わらずWindowsサービスの実行権限で動作します(特権分離は適用されません)。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | UsePrivilegeSeparation | 特権分離の設定 |
PrivilegeSeparationMinimumUID | セッション実行可能なUIDの最小値設定 | |
PrivilegeSeparationMinimumGID | セッション実行可能なGIDの最小値設定 | |
PrivilegeSeparationUser | デフォルトユーザ資格情報設定(ユーザ権限が特定されない場合に適用) | |
PrivilegeSeparationUmask | Umask値設定(ユーザ認証が行われて分離されたプロセスに適用) | |
PrivilegeSeparationUmaskAnonymous | Umask値設定(ユーザ認証が行われずに分離されたプロセスに適用(匿名ユーザ)) | |
ApplyUserPermission | 認証されたユーザの権限を転送先ファイルパーミッションへ適用(特権分離しない場合) | |
NoSupplementalGroupInPrivilegeSeparation | 補助グループ無効化 |
ACL(Access Control List)機能
アクセス可能、不可ネットワークをコントロールするために、アクセスコントロールリストに基づきアクセスを制御する機能です。
Archaea toolsでは、ネットワークに対してアクセス「許可」を定義する際、HpFPプロトコルによる通信の輻輳制御モードを指定することができます。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | AccessList | ACL(Access Control List)の定義 |
Allow | ACL 許可アクセスの定義 | |
Deny | ACL 拒否アクセスの定義 |
アドミッション制御(入場制限)
接続数を制限することにより、サーバ-クライアント間の通信帯域を確保する機能です。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | MaxTotalConnection | 接続数制限(全体) |
MaxTcpConnection | 接続数制限(TCP通信時) | |
MaxUdpConnection | 接続数制限(UDP (HpFP)通信時) | |
MaxWsConnection | 接続数制限(WebSocket通信時) | |
MaxConnectionPerUser | 接続数制限(1ユーザあたり) | |
MaxConnectionPerSec | 接続数制限(1秒あたり) |
ドキュメントポイント
ドキュメントポイントとは、クライアントからアクセス可能な範囲を任意で設定できるArchaea tools独自の機能です。サーバ側で設定します。読み出し・書き込み・上書き・削除などの許可・禁止を設定することができます。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | DocPoint | ドキュメントポイントの定義 |
DocPath | ドキュメントポイントが指すディレクトリパスの指定 | |
HomeIsolation | ドキュメントポイントでのユーザホーム隔離設定 | |
PermitAccessRead | ドキュメントポイントでの読み込みアクセス設定 | |
PermitAccessWrite | ドキュメントポイントでの書き込みアクセス設定 | |
PermitAccessOverwrite | ドキュメントポイントでの上書きアクセス設定 | |
PermitAccessDelete | ドキュメントポイントでの削除アクセス設定 | |
PermitAccessRandomRead | ドキュメントポイントでのランダム読み込みアクセス設定(予約) | |
PermitAccessRandomWrite | ドキュメントポイントでのランダム書き込みアクセス設定(予約) |
データ完全性検査機能
転送途中でネットワーク上に不慮の事態が起きた場合に備えた機能です。MAC(Message Authentication Code)による通信メッセージの検査(データ完全性検査) を行い、ネットワーク上のエラー等によるデータ誤りを検出します。
通常はデフォルト設定(通信メッセージの検査を行う)で使用してください。
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
サーバ設定項目 | RequireDataIntegrityChecking | MAC(Message Authentication Code)による通信メッセージ検査要求 |
クライアントコマンド共通項目 | DisableDataIntegrityChecking | MAC(Message Authentication Code)による通信メッセージ検査無効要求 |
AcceptDataIntegrityCheckingOnRejection | MAC(Message Authentication Code)による通信メッセージ検査無効拒否の受け入れ設定 |
通信再開機能
転送途中でネットワーク上に不慮の事態が起きた場合に備えた機能です。ファイル転送がなんらかの理由で中断された場合、前回の続きから処理を再開することができます。
Archaea toolsのhcpコマンドは、手動でコマンドの再開を行うオプション(r, resume)、ネットワークの障害で中断した場合にコピー処理を自動で再開するように指示するオプション(auto-resume)を提供します。
r, resumeオプションでは、hcpコマンドの実行記録(.hcp.outに出力されるファイル転送の実行記録)を使用して、コマンドの再開(レジューム)を行います。
auto-resumeオプションでは、ネットワークの障害で中断した場合にコピー処理を自動で再開するように指示します。Ctrl+Cなどでユーザから中断を指示した場合は、その時点で再開はせず停止します。 パスワードで暗号化されていない秘密鍵を使用した公開鍵認証で利用を推奨します。パスワードが必要な場合、再認証による対話動作を回避するために認証情報をメモリ上にキャッシュします。
また、クライアント設定項目により、再開を自動的に試行する回数や待機時間間隔を指定することができます。
関連オプション
コマンド | 短縮名 | オプション名 | 概略 |
---|---|---|---|
hcp | r | resume | 前回の続きから処理再開 |
auto-resume | コピー処理自動再開(ネットワークの障害で中断した場合) | ||
no-integrity-on-resume | レジューム時完全性検査解除 |
関連設定項目
分類 | 項目名 | 内容 |
---|---|---|
hcpコマンド設定項目 | AutoResumeTrials | 自動再開試行回数 |
AutoResumeTrialInterval | 自動再開試行間隔(秒) |