Estender a funcionalidade de comandos como reinicializar para registrar uma razão

0

É possível estender a funcionalidade de comandos do sistema, como reboot , shutdown -r now ou init 6 , para que, quando forem emitidos, o usuário insira um motivo e outras informações como parte de uma trilha de auditoria? Como servidores do Windows.

Então, depois de entrar no propósito da reinicialização, ele tem que armazenar em algum lugar no log como, por exemplo, a finalidade deve conter o número da mudança, a data, o usuário que executou o comando.

    
por Ashoka 24.05.2015 / 14:19

1 resposta

2

Para aqueles de vocês que não estão familiarizados com os Windows Servers, aproveito para explicar a comparação. Quando um servidor Windows é solicitado a desligar ou reiniciar, a GUI solicita que o usuário forneça um motivo para a solicitação, que é registrada em um log de auditoria. (Isso é opcional para uma solicitação de reinicialização do PowerShell (linha de comando). Além disso, quando um Windows Server é iniciado sem ter um motivo para a reinicialização, ele solicita aos usuários com privilégios adequados um motivo para a reinicialização na próxima vez que fizerem logon no sistema .

Sua sugestão é possível - até certo ponto. Você teria que considerar o que deveria acontecer se um comando reboot fosse emitido a partir de uma tarefa agendada ou outro local onde nenhum usuário administrativo estivesse logado. Você também precisaria considerar até onde você gostaria de ir com o seu cenário - se você estivesse procurando fornecer uma trilha de auditoria simples ou alguém tão profundamente envolvido no sistema que fosse quase impossível ignorá-lo. Obviamente, haveria um aumento de custo com o último.

Uma maneira de lidar com isso é mover um comando como reboot para, digamos, reboot.bin . Em seguida, crie um script chamado reboot , que é solicitado por meio da GUI ou da linha de comando, pelo motivo necessário e outras informações. Isso seria escrito via syslog para um arquivo de log apropriado (talvez auth.log ). O processo pode ser repetido para seus outros comandos "protegidos". Observe que não haveria nada além de etiqueta para impedir que seus usuários privilegiados executassem o reboot.bin (etc.) real diretamente.

O molly-guard package implementa isso , executando uma série de scripts antes de executar o comando real.

Outra maneira de lidar com isso seria pegar o código-fonte dos comandos "protected" e estendê-los nativamente. Mais trabalho, e apenas um pouco mais difícil de contornar. (Lembre-se, não é difícil ignorar a caixa de diálogo de desligamento no Windows - basta usar a linha de comando).

    
por 24.05.2015 / 15:33