Infelizmente, muitos dos que administram ambientes Microsoft não possuem conhecimentos mínimos sobre o registro do Windows. No meio acadêmico, embora muitas vezes existam aulas cujo tema central são os sistemas operacionais Microsoft, esse assunto sequer é mencionado.
Isso criou uma aura de mistério em torno desse assunto e utilizarei as próximas linhas para desmistificá-lo, ainda que minimamente, através de uma abordagem clara e inequívoca.
Vamos lá ...
Em versões anteriores ao Windows 3.11, toda e qualquer configuração de programas eram efetuadas através de arquivos de extensão .ini, espalhados por diversos locais do sistema. Isso tornava a administração do ambiente extremamente complexa. Quem é dessa época (como esse que vos escreve), deve se lembrar do quão sofrível era executar algumas configurações.
Sempre focada na experiência do usuário, a Microsoft criou o registro, que nada mais é que um banco de dados hierárquico, responsável por armazenar todas as configurações de sistema, hardware e software. Através dele, também é possível determinar com precisão as ações realizadas no computador, como por exemplo documentos abertos recentemente, caminhos de rede explorados, comandos executados através do menu iniciar e diversos outros itens úteis e necessários para uma investigação forense, por exemplo.
O registro é composto por um conjunto de arquivos, onde a maioria está localizado na pasta "C:\Windows\System32\Config". O "Editor de Registro do Windows", executado através do comando "regedit" nada mais é do que uma interface para a manipulação desses arquivos.
Para determinar com precisão o local dos arquivos em seu sistema, consulte a chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.
As alterações de registro são efetuadas em chaves, também conhecidas como Hives.
Por padrão, o Windows utiliza de 5 a 7 chaves principais que se dividem em várias outras, cuja navegação assemelha-se aos diretórios que estamos acostumados a ver e manipular no Windows Explorer. No Windows 10 temos cinco chaves principais, conforme abaixo:
Isso criou uma aura de mistério em torno desse assunto e utilizarei as próximas linhas para desmistificá-lo, ainda que minimamente, através de uma abordagem clara e inequívoca.
Vamos lá ...
Em versões anteriores ao Windows 3.11, toda e qualquer configuração de programas eram efetuadas através de arquivos de extensão .ini, espalhados por diversos locais do sistema. Isso tornava a administração do ambiente extremamente complexa. Quem é dessa época (como esse que vos escreve), deve se lembrar do quão sofrível era executar algumas configurações.
Sempre focada na experiência do usuário, a Microsoft criou o registro, que nada mais é que um banco de dados hierárquico, responsável por armazenar todas as configurações de sistema, hardware e software. Através dele, também é possível determinar com precisão as ações realizadas no computador, como por exemplo documentos abertos recentemente, caminhos de rede explorados, comandos executados através do menu iniciar e diversos outros itens úteis e necessários para uma investigação forense, por exemplo.
Como o registro é formado?
Para determinar com precisão o local dos arquivos em seu sistema, consulte a chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.
A que se refere cada chave?
Por padrão, o Windows utiliza de 5 a 7 chaves principais que se dividem em várias outras, cuja navegação assemelha-se aos diretórios que estamos acostumados a ver e manipular no Windows Explorer. No Windows 10 temos cinco chaves principais, conforme abaixo:
Cada chave refere-se à configuração de uma parte do sistema e cada sub-chave possui um valor que pode ser alterado conforme necessidades especificas.
As chaves presentes no Windows 10 (evidenciadas acima) são:
HKEY_CLASSES_ROOT (HKCR): Disponível em versões atuais do Windows, é responsável por manter a compatibilidade com programas antigos e armazenar informações relacionadas a associação de arquivos e seus softwares criadores, editores ou visualizadores.
HKEY_CURRENT_USER (HKCU): Sub-chave de HKEY_USERS, contem as configurações relacionadas ao perfil do usuário com sessão ativa no sistema operacional.
HKEY_LOCAL_MACHINE (HKLM): Armazena informações de configurações específicas para o computador (Independente do Usuário) que são utilizadas para o correto funcionamento do sistema operacional. Utiliza o arquivo SYSTEM para armazenar tais configurações.
HKEY_USERS (HKU): Armazena informações relacionadas as configurações pessoais (personalizações efetuadas pelos usuários tais como protetor de tela, papel de parede, temas e outros) de todos os perfis existentes no computador e as armazena no arquivo USER. Possui um ponteiro para o usuário corrente listado em HKEY_USERS. Importante salientar que o usuário é identificado na chave através do SID.
HKEY_CURRENT_CONFIG (HKCC): Contém informações relacionadas aos perfis de hardware (caso esse recurso esteja sendo utilizado) utilizados pelo computador durante a inicialização do sistema.
Efetuando backup do registro
A breve explicação até o momento nos dá dimensão da importância do registro para o correto funcionamento do sistema operacional.
Assim, é altamente recomendável efetuar backup antes de executar qualquer alteração e armazená-lo em local seguro.
Podemos efetuar backup do registro inteiro ou somente da chave que será alterada.
Para isso, procederemos da seguinte forma (procedimento oficial Microsoft):
1- No menu Iniciar, digite regedit.exe na caixa de pesquisa e pressione Enter. Caso uma senha de administrador ou uma confirmação seja solicitada, digite a senha ou forneça uma confirmação.
2- No Editor do Registro, localize e clique a chave do Registro ou a subchave da qual você deseja fazer backup.
3- Clique em Arquivo > Exportar.
4- Na caixa de diálogo Exportar Arquivo do Registro, selecione o local no qual você deseja salvar a cópia de backup e, em seguida, digite um nome para o arquivo de backup no campo Nome do arquivo.
5- Clique em Salvar.
Como manipular o registro?
É possível manipular o registro do Windows de diversas maneiras, como por exemplo através do editor de registro, via linha de comando, via GPO ou ainda através do WMI.
A definição do método de alteração varia de acordo com cada cenário. Alterar o registro através da console pode ser útil para situações onde a alteração deverá ser aplicada em um único computador.
Os demais métodos (linha de comando, GPO e WMI) pode ser bastante útil para alterar o registro de diversos computadores simultaneamente.
Alterar registro via console
1- Clique em Iniciar, a seguir em Executar, digite regedit na caixa Abrir e clique em OK.
2- Navegue pelas chaves até localizar a chave que deseja alterar. Pode-se ainda utilizar a combinação de teclas CTRL+F para efetuar pesquisa de conteúdo no registro.
3- Após localizar a chave desejada, no painel à direita, adicione ou modifique os itens do registro que deseja.
OBS: Na maioria das vezes, alterações de registro requerem que o computador seja reiniciado para que elas sejam devidamente aplicadas.
Alterar chaves de registro via linha de comando
O comando REG ADD permite adicionar novas sub-chaves ou entradas no registro, inclusive de computadores remotos.
É útil por exemplo para automatizar a inclusão de uma chave nova em diversos computadores simultaneamente.
O comando REG ADD /? nos fornece a sintaxe completa do que e como utiliza-lo.
O comando REG DELETE permite remover sub-chaves ou entradas no registro, inclusive de computadores remotos.
É útil por exemplo para automatizar a remoção de uma chave nova em diversos computadores simultaneamente.
O comando REG DELETE /? nos fornece a sintaxe completa do que e como utiliza-lo.
Temos ainda os comandos Reg compare, Reg copy, Reg export, Reg import, Reg load, Reg query, Reg restore, Reg save, Reg unload, regini e regsvr32.
São muitas as possibilidades de manipulação de registro através dos comandos acima mencionados.
Alterar chaves de registro via GPO
Um outra possibilidade que permite inclusive a alteração de chaves de registro de diversos computadores simultaneamente, é através de Group Policy Object (GPO).
Para incluir, excluir ou editar chaves de registro de diversos computadores simultaneamente via GPO, é necessário a existência de um domínio do Active Directory. Atendido esse pré-requisito, temos as seguintes possibilidades: Criar um arquivo .bat ou .vbs que executa as alterações necessárias e configurar a execução através de script de logon, exportar a chave já alterada a partir de um computador "matriz" e importar nos demais também via script e editar a GPO que se aplica ao grupo de computadores que desejar alterar. Nesse caso, execute o GPMC, navegue por "Computer Configuration", "Preferences", "Windows Settings" e por fim em "Registry".
Alterar chaves de registro via WMI
Também é possível alterar o registro do Windows através de WMI.
Em https://msdn.microsoft.com/en-us/library/aa394600(v=vs.85).aspx há um passo a passo sobre como proceder para utilizar esse recurso.
Definir permissões em chaves de registro
Um recurso bem interessante, mas pouco utilizado é a possibilidade de definir permissões especificas em determinadas chaves de registro.
Isso é especialmente útil em casos onde determinadas aplicações requerem acesso diferenciado à determinados diretórios e / ou chaves de registro.
Utilizando recursos como o procmon e os antigos regmon e filemon (atualmente substituídos pelo procmon) é possível determinar com precisão o local onde determinadas aplicações acessam e posteriormente definir somente, e tão somente as permissões necessárias nesses locais. Isso é particularmente útil em ambientes onde haja a mínima preocupação com segurança.
Uma vez descoberto tais locais, basta ir até a chave de registro correspondente, clicar com o botão direito do mouse sobre ela, selecionar a opção permissões e conceder os acessos necessários.
É isso aí ... o registro do Windows é uma ciência e embora seja impossível explicar todas suas funcionalidades em tão poucas linhas, espero ter jogado um pouco de luz sobre esse tema.
Para aqueles que desejam aprofundar-se no assunto, recomendo fortemente a leitura do Microsoft Windows Registry Guide do Jerry Honeycutt.
Já aos (assim como eu), mais focados em Segurança da Informação, recomendo a leitura do Windows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry de Harlan Carvey. Trata-se de uma leitura pesada, mas que não deve ser ignorada.
Abraço e bom feriado a todos.