Paul Green 和我讨论了他正在研究的一个新命令,叫做 check_module_security。我们讨论了在登录提示符下可用的不必要的命令的问题。Transaction Design的Jon Schmidt在一篇关于锁定谷仓门的文章中建议。
内部命令。
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
来附加到任何我想禁止某些用户访问的命令上。文件的内容没有任何用处,重要的是附加在文件上的访问控制列表。这个文件会被放在一个特殊的地方。 (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 07-10-02 12:14
/ =name display_current_module
=access_list_name prelogin_no_access.
=审计0
/ =name list_modules
=access_list_name prelogin_no_access.
=审计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 命令仍然可以使用 (这个例子是故意的,但它也应该被禁止)。
发现还可以做什么的人可以加分。提示:命令功能仍然可以使用。
-Dan Danz,VOS服务技术顾问。
Paul Green 和我讨论了他正在研究的一个新命令,叫做 check_module_security。我们讨论了在登录提示符下可用的不必要的命令的问题。Transaction Design的Jon Schmidt在一篇关于锁定谷仓门的文章中建议。
内部命令。
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
来附加到任何我想禁止某些用户访问的命令上。文件的内容没有任何用处,重要的是附加在文件上的访问控制列表。这个文件会被放在一个特殊的地方。 (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 07-10-02 12:14
/ =name display_current_module
=access_list_name prelogin_no_access.
=审计0
/ =name list_modules
=access_list_name prelogin_no_access.
=审计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 命令仍然可以使用 (这个例子是故意的,但它也应该被禁止)。
发现还可以做什么的人可以加分。提示:命令功能仍然可以使用。