O Linux usa comandos de script para auditar a operação e a segurança de manutenção

                                    O Linux usa comandos de script para auditar a operação e a segurança de manutenção

Todos devem estar bem familiarizados com o comando history do Linux.O registro do comando gerado por este comando pode nos ajudar a auditar as operações durante a operação e manutenção.No entanto, o período de registro gerado não é gerado desde o login no sistema até o logout. Embora você possa adicionar algum conteúdo ao registro chamando variáveis ​​de ambiente do sistema, como tempo de execução do comando, qual IP está conectado, etc., não é em tempo real. Simplificando, existem muitas deficiências, 1, não em tempo real, 2, incapaz de controlar o processo geral. 3. A informação registrada não é completa, mesmo após transformação por meio de variáveis.

Então, o comando de script embutido do sistema Linux, uma arma de auditoria de segurança de operação e manutenção, pode basicamente atender às nossas necessidades.

Quando o comando de script é iniciado, ele gravará automaticamente todos os comandos do terminal Linux (o conteúdo da edição de texto não será gravado, referindo-se à edição de texto do vim ou vi, o que também pode ser uma consideração de segurança, e as alterações de conteúdo de texto específico são gravados Se for, também é um teste de segurança). Em geral, o comando script é como uma câmera embutida no sistema Linux. Todas as ações podem ser lidas através do comando scripreplay para ler o arquivo de registro gerado pelo comando script para restaurar a operação gravada.

Como o título diz, para projetar tal sistema de auditoria, a primeira consideração é determinar o escopo da auditoria de segurança de operação e manutenção (auditoria de segurança de O&M se refere à revisão de várias operações durante a operação e manutenção). A operação do servidor não pode ser Uma pessoa opera e mantém, e às vezes várias pessoas precisam colaborar ao mesmo tempo, então vários terminais podem precisar ser abertos e muitas operações podem ser operações remotas, como xshell, conexão putty e o usuário envolvido pode não ser Single, ou usuários root, ou usuários oracle comuns, multi-espaço, multi-dimensional, multi-nível complexo de operação e ambiente de manutenção.

a, primeiro familiarizado com o comando de script

O comando script está embutido nas distribuições básicas do Linux, portanto, basicamente não precisa ser instalado e pode ser usado imediatamente. Dê uma olhada na ajuda deste comando primeiro.

[root@centos9 ~]# script --help

Usage:
 script [options] [file]

Options:
 -a, --append            append the output
 -c, --command <command> run command rather than interactive shell
 -e, --return            return exit code of the child process
 -f, --flush             run flush after each write
     --force             use output file even when it is a link
 -q, --quiet             be quiet
 -t, --timing[=<file>]   output timing data to stderr (or to FILE)
 -V, --version           output version information and exit
 -h, --help              display this help and exit

A ajuda também é relativamente curta, onde -a -t -f -q são parâmetros comumente usados, -a significa anexar sem sobrescrever a gravação, -t significa adicionar dados de tempo, que podem ser gravados como um arquivo separado, -f significa real- hora de escrever para cada arquivo de comando, gravá-lo e atualizar o conteúdo ao mesmo tempo. -q é executado silenciosamente, inicia e interrompe este comando sem emitir nenhum prompt.

b , script

Que tal executar diretamente sem adicionar nenhum parâmetro?

[root@centos9 ~]# script
Script started, file is typescript

Execute o comando de script diretamente, ele avisa que o comando de script foi executado e o arquivo é datilografado. Você pode realmente ver o arquivo datilografado e o vim no diretório atual. Neste momento, o conteúdo do arquivo está vazio , ctrl + d saia do comando de script e verifique novamente. Você pode ver que há conteúdo no arquivo datilografado, gravando todas as operações de comando agora mesmo. Isso nos diz que o comando de script pode ser considerado um software de gravação de tela. Ele requer um início e um fim para salvar o conteúdo da tela em um arquivo. O nome do arquivo padrão é typescript.

 

c ,

[root@centos9 ~]# script -a
Script started, file is typescript
[root@centos9 ~]# df -ah
Filesystem      Size  Used Avail Use% Mounted on
sysfs              0     0     0    - /sys
中间省略了

tmpfs           396M     0  396M   0% /run/user/0
[root@centos9 ~]# exit
Script done, file is typescript
[root@centos9 ~]# script -a 
Script started, file is typescript
[root@centos9 ~]# ls
anaconda-ks.cfg  bash-5.0  bash-5.0.tar.gz  createrepo.sh  typescript
[root@centos9 ~]# exit
Script done, file is typescript

Neste ponto, um parâmetro é adicionado, anexado, dois comandos, um df e um comando ls, são executados separadamente, primeiro inicie o script, grave o comando df, pare o comando de script e grave o comando ls ao iniciar o comando de script Vê se esses dois comandos são gravados em texto digitado?

Como você pode ver, os dois comandos são gravados, ou seja, o efeito adicional está disponível.

d ,

O parâmetro -t do script é para especificar o arquivo de temporização.O arquivo de temporização registra o tempo de execução do comando, de forma que ao usar o scripreplay, a gravação anterior possa ser restaurada com precisão com base neste arquivo de temporização. -f atualiza o conteúdo do arquivo em tempo real. O exemplo a seguir ainda usa o nome digitado. Claro, qualquer nome é adequado, desde que você saiba o significado. -t pode ser adicionado sem espaços, especifique o nome do arquivo de tempo, aqui eu uso o nome myfirst.time

[root@centos9 ~]# script -tmyfirst.time -f typescript
Script started, file is typescript
[root@centos9 ~]# ls -alh typescript 
-rw-r--r-- 1 root root 7.6K Feb 12 20:55 typescript
[root@centos9 ~]# ls -alh typescript 
-rw-r--r-- 1 root root 7.7K Feb 12 20:55 typescript
[root@centos9 ~]# ls -alh typescript 
-rw-r--r-- 1 root root 7.9K Feb 12 20:55 typescript
[root@centos9 ~]# ls -alh typescript 
-rw-r--r-- 1 root root 8.0K Feb 12 20:55 typescript

Como você pode ver, quando o arquivo está continuamente executando o comando ls, o arquivo está constantemente aumentando. Se você visualizar o conteúdo, é claro, ele será exibido em tempo real. Não vou demonstrar isso aqui.

f ,

Uso de scriptreplay: O comando de script anterior gera dois arquivos, um arquivo de temporização e um arquivo de gravação de conteúdo. Deve-se notar que esses dois arquivos são um par de arquivos e devem estar disponíveis para reprodução.

[root@centos9 ~]# scriptreplay -t myfirst.time typescript 

Durante a gravação, você pode ver o progresso do comando de script até que Ctrl + d termine o comando de script. Durante a reprodução, se você abrir um terminal e executar o comando ps, poderá ver o processo de scriptreplay até que a reprodução termine, o processo terminará automaticamente.

O par de arquivos gerados deve ser gerado pelo mesmo comando de script antes que possam ser reproduzidos, isso precisa ser mantido em mente ~! ! ! ! !

g ,

Todas as demonstrações anteriores estão usando a conta root, então a operação e a segurança de manutenção de login em outras contas podem ser auditadas? Claro, você pode escrever o comando no arquivo de variável de ambiente global / etc / profile.

Abra / etc / profile e adicione script -t -f -q 2> ~ / script.time -a ~ / script.his no final

Esta frase significa que dois arquivos são gerados na pasta / mnt, script.time e script.his, que são anexados, escritos em tempo real e silenciosamente. Os arquivos são armazenados no diretório inicial do usuário e registrados após o login por usuários comuns Os arquivos estão no diretório inicial de usuários comuns e o root está naturalmente no diretório inicial do root.

Basta fazer login e começar a gravar todo o conteúdo do comando imediatamente. Se você deseja visualizar a reprodução, o comando é: scriptreplay -t script.time script.his




Resumindo:

O script pode ser considerado um software de gravação de tela em tempo real, mas não pode ser reproduzido seletivamente durante a reprodução. Ao gravar a tela, o arquivo de tempo e o arquivo de conteúdo devem ter um nome de arquivo que você possa lembrar e entender, e esses dois arquivos É um par e apenas o pareado pode ser reproduzido .

 

 

 

Acho que você gosta

Origin blog.csdn.net/alwaysbefine/article/details/113795069
Recomendado
Clasificación