Paul Green e eu estávamos discutindo um novo comando no qual ele está trabalhando chamado check_module_security. O assunto dos comandos desnecessários disponíveis no prompt de login veio à tona. Jon Schmidt da Transaction Design recomenda em um artigo sobre Fechamento da Porta do Celeiro.
Comandos internos:
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.
Eu comecei a pensar em comandos como list_modules
e list_systems
Mesmo se você tivesse tido o trabalho de proteger seu próprio módulo ou sistema, estes comandos poderiam dar a um hacker uma dica sobre outros módulos/sistemas que poderiam não ser tão seguros e poderiam ser explorados com login -module
. Por isso nos perguntamos como evitar seu uso no momento da pré-logina. Aqui está uma maneira que encontrei:
Criar um arquivo com nome exclusivo para ser usado como nome da lista de acesso. Neste caso, eu escolhi prelogin_no_access
a ser anexado a qualquer comando que eu queira proibir alguns usuários de acessar. O conteúdo do arquivo não tem utilidade - são as listas de controle de acesso que estão anexadas a ele que importam. O arquivo vai em um lugar especial: (master_disk)>system>acl
diretório. O usuário que queremos restringir é PreLogin.System
que é o usuário que executa o prompt de login. Não se esqueça de permitir o acesso para outros usuários (após o login). Você deve ser um usuário privilegiado e membro do SysAdmin
agrupam-se na maioria dos locais para realizar estas operações.
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 *.*
Certifique-se de que os comandos que você deseja restringir estão configurados no internal_commands.tin para usar essa lista de acesso...
%phx_vos#m14_mas>system.14.7>configuração>internal_commands.tin 07-10-02 12:14
/ =nome_módulo_actual de exibição
=access_list_name_prelogin_no_access
=audit 0
/ =módulos_lista de nomes
=access_list_name_prelogin_no_access
=audit 0
Se você teve que fazer uma mudança, então você precisa aplicar as mudanças.
create_table internal_commands.ti
broadcast_file internal_commands.table (master_disk)>system
configure_commands
Agora, você pode tentar usar um comando proibido no login
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.
Eu não restringi TODOS os comandos internos; assim, os que não são afetados ainda podem ser usados.
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)
Portanto, lembre-se de restringir aqueles que você acha que são importantes.
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
Há um bônus: se você tiver o registro de segurança habilitado, uma entrada no registro de segurança é feita para lhe dizer que alguém tentou usar um dos comandos.
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.
Conseguimos tudo? Nem por sombras. Aqui está uma pequena lista das deficiências deste tutorial rápido:
- O banner de login ainda dá o nome do módulo, mesmo que os comandos list_modules e display_current_module estejam desativados.
- O banner de login ainda dá a pista de que este é um sistema VOS quando ele exibe o nome do lançamento.
- O comando list_systems ainda está operacional (deliberado para este exemplo, mas deve ser proibido também).
O bônus aponta para aqueles que identificam o que mais poderia ser feito. Dica: as funções de comando ainda funcionam.
-Dan Danz, Consultor Técnico de Serviços VOS
Paul Green e eu estávamos discutindo um novo comando no qual ele está trabalhando chamado check_module_security. O assunto dos comandos desnecessários disponíveis no prompt de login veio à tona. Jon Schmidt da Transaction Design recomenda em um artigo sobre Fechamento da Porta do Celeiro.
Comandos internos:
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.
Eu comecei a pensar em comandos como list_modules
e list_systems
Mesmo se você tivesse tido o trabalho de proteger seu próprio módulo ou sistema, estes comandos poderiam dar a um hacker uma dica sobre outros módulos/sistemas que poderiam não ser tão seguros e poderiam ser explorados com login -module
. Por isso nos perguntamos como evitar seu uso no momento da pré-logina. Aqui está uma maneira que encontrei:
Criar um arquivo com nome exclusivo para ser usado como nome da lista de acesso. Neste caso, eu escolhi prelogin_no_access
a ser anexado a qualquer comando que eu queira proibir alguns usuários de acessar. O conteúdo do arquivo não tem utilidade - são as listas de controle de acesso que estão anexadas a ele que importam. O arquivo vai em um lugar especial: (master_disk)>system>acl
diretório. O usuário que queremos restringir é PreLogin.System
que é o usuário que executa o prompt de login. Não se esqueça de permitir o acesso para outros usuários (após o login). Você deve ser um usuário privilegiado e membro do SysAdmin
agrupam-se na maioria dos locais para realizar estas operações.
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 *.*
Certifique-se de que os comandos que você deseja restringir estão configurados no internal_commands.tin para usar essa lista de acesso...
%phx_vos#m14_mas>system.14.7>configuração>internal_commands.tin 07-10-02 12:14
/ =nome_módulo_actual de exibição
=access_list_name_prelogin_no_access
=audit 0
/ =módulos_lista de nomes
=access_list_name_prelogin_no_access
=audit 0
Se você teve que fazer uma mudança, então você precisa aplicar as mudanças.
create_table internal_commands.ti
broadcast_file internal_commands.table (master_disk)>system
configure_commands
Agora, você pode tentar usar um comando proibido no login
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.
Eu não restringi TODOS os comandos internos; assim, os que não são afetados ainda podem ser usados.
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)
Portanto, lembre-se de restringir aqueles que você acha que são importantes.
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
Há um bônus: se você tiver o registro de segurança habilitado, uma entrada no registro de segurança é feita para lhe dizer que alguém tentou usar um dos comandos.
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.
Conseguimos tudo? Nem por sombras. Aqui está uma pequena lista das deficiências deste tutorial rápido:
- O banner de login ainda dá o nome do módulo, mesmo que os comandos list_modules e display_current_module estejam desativados.
- O banner de login ainda dá a pista de que este é um sistema VOS quando ele exibe o nome do lançamento.
- O comando list_systems ainda está operacional (deliberado para este exemplo, mas deve ser proibido também).
O bônus aponta para aqueles que identificam o que mais poderia ser feito. Dica: as funções de comando ainda funcionam.