Pular para o conteúdo principal

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_systemsMesmo 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.Systemque é 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_systemsMesmo 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.Systemque é 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.

© 2024 Stratus Technologies.