メインコンテンツへ移動

ポール・グリーンと私は、彼が現在開発中の「check_module_security」という新しいコマンドについて話し合っていました。その際、ログインプロンプトで利用可能な不要なコマンドという話題が出ました。Transaction Designのジョン・シュミットは、『Locking the Barn Door』という記事の中で次のように推奨しています。

内部コマンド:

display_current_module (prelogin)
list_modules (prelogin) display_date_time (prelogin)
list_systems (prelogin)
display_line (prelogin)
login (prelogin)
If there are other commands shown, remove them.

こんなコマンドについて考えてみた list_modules そして list_systems; たとえ手間をかけて自分のモジュールやシステムのセキュリティ対策を講じていたとしても、これらのコマンドによって、ハッカーはセキュリティが十分でなく、悪用される可能性のある他のモジュールやシステムの手がかりを得てしまうかもしれません。 login -moduleそこで、ログイン前の段階でそれらの使用を防ぐ方法はないかと考えました。私が見つけた方法の一つは次のとおりです:

アクセスリスト名として使用する、一意の名前を付けたファイルを作成します。この例では、私は prelogin_no_access 特定のユーザーによるアクセスを禁止したいコマンドに添付します。ファイルの内容自体は意味を持ちません。重要なのは、そのファイルに紐付けられたアクセス制御リスト(ACL)です。このファイルは特別な場所に配置されます: (master_disk)>system>acl ディレクトリ。制限対象とするユーザーは PreLogin.Systemこれは、ログインプロンプトを実行するユーザーです。(ログイン後に)他のユーザーへのアクセス権を付与することを忘れないでください。あなたは特権ユーザーであり、かつ SysAdmin これらの作業を行うため、ほとんどの拠点でチームを編成する。

change_current_dir (master_disk)>system>acl
create_file prelogin_no_access
give_access null prelogin_no_access -user PreLogin.System
give_access write prelogin_no_access -user *.*

制限したいコマンドが、そのアクセスリストを使用するように `internal_commands.tin` で設定されていることを確認してください…

%phx_vos#m14_mas>system.14.7>configuration>internal_commands.tin 2002年7月10日 12:14
/ =name display_current_module
=access_list_name prelogin_no_access
=audit 0
/ =name list_modules
=access_list_name prelogin_no_access
=audit 0

変更を加える必要があるなら、その変更を適用する必要があります。

create_table internal_commands.ti
broadcast_file internal_commands.table (master_disk)>system
configure_commands

ログイン時に、禁止されているコマンドを使ってみることができます

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:19
help
Internal Commands:
change_password (prelogin)              help (prelogin)
display_current_module (prelogin)       list_modules (prelogin)
display_date_time (prelogin)            list_systems (prelogin)
display_line (prelogin)                 login (prelogin)
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:23
list_modules
command_processor: Not enough access to perform operation. list_modules.

すべての内部コマンドを制限したわけではありません。そのため、影響を受けていないコマンドは引き続き使用可能です。

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:29
list_systems
phx_osn  . . . . . . online (local)
phx_test . . . . . . online (local)
phx_vos  . . . . . . online (current system)

ですから、重要だと思う相手にはアクセス制限をかけるようにしてください。

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:39
display_current_module
command_processor: Not enough access to perform operation.
display_current_module.
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:53

さらに、セキュリティログが有効になっている場合、誰かがそのコマンドのいずれかを使用しようとしたことを知らせるセキュリティログのエントリが作成されます。

1:  07-10-02 12:16:20 mst PreLogin.System %phx_vos#tli_log.m15_65
Target: list_modules
Text: Not enough access to perform operation. Validating object access.

これで全て網羅できたでしょうか? とんでもない。このクイックチュートリアルの欠点をいくつか挙げておきます:
– list_modules および display_current_module コマンドが無効化されているにもかかわらず、ログインバナーには依然としてモジュール名が表示されています。
– ログインバナーには、リリース名が表示されるため、これがVOSシステムであることが依然として示唆されています。
– list_systemsコマンドは依然として動作します(この例では意図的なものですが、これも禁止されるべきです)。

他にどんなことができるか気づいた人にはボーナスポイント。ヒント:コマンド機能はまだ使えます。

-ダン・ダンズ、VOS Services テクニカルコンサルタント

ポール・グリーンと私は、彼が現在開発中の「check_module_security」という新しいコマンドについて話し合っていました。その際、ログインプロンプトで利用可能な不要なコマンドという話題が出ました。Transaction Designのジョン・シュミットは、『Locking the Barn Door』という記事の中で次のように推奨しています。

内部コマンド:

display_current_module (prelogin)
list_modules (prelogin) display_date_time (prelogin)
list_systems (prelogin)
display_line (prelogin)
login (prelogin)
If there are other commands shown, remove them.

こんなコマンドについて考えてみた list_modules そして list_systems; たとえ手間をかけて自分のモジュールやシステムのセキュリティ対策を講じていたとしても、これらのコマンドによって、ハッカーはセキュリティが十分でなく、悪用される可能性のある他のモジュールやシステムの手がかりを得てしまうかもしれません。 login -moduleそこで、ログイン前の段階でそれらの使用を防ぐ方法はないかと考えました。私が見つけた方法の一つは次のとおりです:

アクセスリスト名として使用する、一意の名前を付けたファイルを作成します。この例では、私は prelogin_no_access 特定のユーザーによるアクセスを禁止したいコマンドに添付します。ファイルの内容自体は意味を持ちません。重要なのは、そのファイルに紐付けられたアクセス制御リスト(ACL)です。このファイルは特別な場所に配置されます: (master_disk)>system>acl ディレクトリ。制限対象とするユーザーは PreLogin.Systemこれは、ログインプロンプトを実行するユーザーです。(ログイン後に)他のユーザーへのアクセス権を付与することを忘れないでください。あなたは特権ユーザーであり、かつ SysAdmin これらの作業を行うため、ほとんどの拠点でチームを編成する。

change_current_dir (master_disk)>system>acl
create_file prelogin_no_access
give_access null prelogin_no_access -user PreLogin.System
give_access write prelogin_no_access -user *.*

制限したいコマンドが、そのアクセスリストを使用するように `internal_commands.tin` で設定されていることを確認してください…

%phx_vos#m14_mas>system.14.7>configuration>internal_commands.tin 2002年7月10日 12:14
/ =name display_current_module
=access_list_name prelogin_no_access
=audit 0
/ =name list_modules
=access_list_name prelogin_no_access
=audit 0

変更を加える必要があるなら、その変更を適用する必要があります。

create_table internal_commands.ti
broadcast_file internal_commands.table (master_disk)>system
configure_commands

ログイン時に、禁止されているコマンドを使ってみることができます

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:19
help
Internal Commands:
change_password (prelogin)              help (prelogin)
display_current_module (prelogin)       list_modules (prelogin)
display_date_time (prelogin)            list_systems (prelogin)
display_line (prelogin)                 login (prelogin)
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:23
list_modules
command_processor: Not enough access to perform operation. list_modules.

すべての内部コマンドを制限したわけではありません。そのため、影響を受けていないコマンドは引き続き使用可能です。

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:29
list_systems
phx_osn  . . . . . . online (local)
phx_test . . . . . . online (local)
phx_vos  . . . . . . online (current system)

ですから、重要だと思う相手にはアクセス制限をかけるようにしてください。

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:39
display_current_module
command_processor: Not enough access to perform operation.
display_current_module.
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:53

さらに、セキュリティログが有効になっている場合、誰かがそのコマンドのいずれかを使用しようとしたことを知らせるセキュリティログのエントリが作成されます。

1:  07-10-02 12:16:20 mst PreLogin.System %phx_vos#tli_log.m15_65
Target: list_modules
Text: Not enough access to perform operation. Validating object access.

これで全て網羅できたでしょうか? とんでもない。このクイックチュートリアルの欠点をいくつか挙げておきます:
– list_modules および display_current_module コマンドが無効化されているにもかかわらず、ログインバナーには依然としてモジュール名が表示されています。
– ログインバナーには、リリース名が表示されるため、これがVOSシステムであることが依然として示唆されています。
– list_systemsコマンドは依然として動作します(この例では意図的なものですが、これも禁止されるべきです)。

他にどんなことができるか気づいた人にはボーナスポイント。ヒント:コマンド機能はまだ使えます。

© 2024 Stratus Technologies.