Ult. Alteração: 08/09/2021

Alterado por: Brenda

Trocando o usuário padrão do SQL para o sistema AllegroNet e desabilitando “SA“ e Windows Authentication

Devido a problemas com a empresa “Napp Solution”, que acessou a base de dados de um de nossos clientes, segue o passo a passo para removermos o usuário "SA" e criarmos um novo que será especifico da loja em questão.


Passo 01 – Criptografando Novo Login.

Passar o nome da instancia do SQL da loja, mais código de empresa e código da loja, para que o desenvolvimento (preferencialmente Graziela ou Roberta), gere criptografado os seguintes campos:


Senha do novo login e String de Conexão completa que será adicionada no arquivo de configuracao.xml


Passo 02 — Criando um novo usuário “saAllegroNet” para o AllegroNet com permissão total.

1 — Conectar no SQL como SA.


2 — Ir em "Segurança", clicar com o botão direito em "Logons" e clicar em "Novo Logon":



3 — Criar o usuário com o Logon saAllegroNet:


Em "Geral": A sugestão é que a senha seja: a combinação de código concatenado com “_”  mais o código da loja, mais o texto do logon (tudo criptografado)


Exemplo: Se a empresa é 190 e a loja 10, a senha ficaria 190_10saAllegroNet, porem criptografada, pelo IdeoPasswordGenerate.exe 

(Local: P:\Executaveis\Geral.NET\IdeoPasswordGenerate).



Em "Funções de Servidor": Marcar a opção "SysAdmin":



Em "Mapeamento de Usuário": Marcar "db_Owner" nos bancos "DB_IDE_AllegroLoja", "master", "model", "msdb" e "tempdb":



Em "Status": Deixar ativado o Login para este usuário “saAllegroNet”:



Passo 03 — Fazer o Teste de Conexão no SQL com o novo usuário e ver se acessa o banco DB_aAllegroLoja.

Logon: saAllegroNet e a senha é a 190_10saAllegroNet , porem criptografada.


Fazer um teste de:


SELECT * FROM loja



Passo 04 – Mudar a senha do usuário SA, para testar se o sistema entra com o novo usuário.

Ir em "Segurança", abrir "Logons", clicar com o botão direito no usuário "sa" e clicar em "Propriedades":



Mudar a senha para ‘XX’ e confirmar:



Passo 05 — Confirmar que a senha foi modificada tentando acessar o Atendimento. Tem que dar o erro abaixo:



Passo 06 — Vamos montar a Nova String de Conexão do usuário "saAllegroNet", alterando a Instância do SQL, Login e Senha.

Data Source=IDEODE3003\SQL_2008;Initial Catalog=DB_IDE_AllegroLoja;User ID=saAllegroNet;Password=190_10saAllegroNet;TimeOut=120


Detalhando as informações acima:


* Data Source=IDEODE3003\SQL_2008 = "nomedoequipamentoinstanciasql"

* Initial Catalog=DB_IDE_AllegroLoja = "bancodedadosideologica"

* ID=saAllegroNet = "usuariodeacessoaobanco"

* Password=HGdVYFEzmKyoeePoG8 = "senhadobancodedados"


Observação

Lembrando que a senha já devemos incluir na String como criptografada, pois quando ela foi criada no SQL, já fizemos a criptografia, então ficaria algo do tipo:


Data Source=IDEODE3003\SQL_2008;Initial Catalog=DB_IDE_AllegroLoja;User ID=saAllegroNet;Password= HGdVYFEzmKyoeePoG8;TimeOut=120


Copiamos essa String e vamos criptografá-la pelo criptografar IdeoPasswordGenerate.exe (Local: P:\Executaveis\Geral.NET\IdeoPasswordGenerate)


Aviso

*****REMOVER O ESPAÇO ANTES DA SENHA DE PASSWORD.*****


Passo 07 - Editar o arquivo Configuracao.xml. Vamos criar a tag p_ConexaoLocal como penúltima linha do arquivo.

<p_ConexaoLocal></p_ConexaoLocal>


Informar nesta Tag a Nova String de conexão que foi criptografada no final do Passo 06.




Passo 08 — Testar o sistema abrindo o Atendimento, ADM Local e o Sincronizador.


Passo 09 — Desativando o usuário "sa" (NÃO VAMOS DEIXÁ-LO ATIVO, nem ele e nem o Windows Authentication)

Ir em "Propriedades" do usuário "sa":



Em "Status": Mudar as permissões para não permitir acesso:



Passo 10 — Desabilitando o Windows Authentication do SQL.

Conectar no master e rodar:


DECLARE @exec VARCHAR(3000) 


SELECT @exec = 'DROP LOGIN [' + name + ']'  FROM sys.server_principals 

WHERE TYPE IN('U', 'G')


WHILE not @exec IS NULL 

BEGIN 

EXEC (@exec)

SET @exec = null

SELECT @exec = 'DROP LOGIN [' + name + ']'  FROM sys.server_principals

WHERE TYPE IN('U', 'G')

IF @@error <> 0

RETURN

END


Passo 11 — Acesso via AnyWhere, lojas com usuário e senha diferente do padrão.

Para conseguir conectar via AnyWhere nas lojas que estão com usuário e senha fora do padrão foi criada a coluna "sts_StringConexaoRemota", no Db_Ideologica na tabela "ANet_SetaServidorGrupoLoja", que deve ser alimentada com a String de Conexão do SQL da loja criptografada.


Exemplo: 

Pegar a nova String de Conexão completa do Servidor, porém com o DDNS do acesso remoto.


Data Source=EnderecoDeDDNS;Initial Catalog=DB_IDE_AllegroLoja;User ID=UsuarioForaPadrao;Password=SenhaForaPadrao(jacriptografada);Connection Timeout=30


Criptografar (pedir para o desenvolvedor fazer este passo) e atualizar a coluna "sts_StringConexaoRemota" com essa informação:


UPDATE ANet_SetaServidorGrupoLoja 

SET sts_StringConexaoRemota = 'iOXCvnyF8+8mKcm1A8OOp1WiA4NvhwpFTxOhii7C5YvrtIMuWF+A0tn9eqj0a93LfJQbgbwWQi1C2g6wTCIXi6zLVw3biHW+VvrfP2+gsLnPjsG6NHXJIg9eX6PpmSmuGzSRSldty9ukAEQPhoE4AzafiBVgUeUP0YrQyKpg+uE='

WHERE sts_CodigoEmpresa = 0

sts_Grupo = 100

sts_CodigoLoja = 7


Ao executar o sistema em um computador configurado como AnyWhere, os módulos AdmLocal 6.1.60.246 e Atendimento 6.1.06.455 (a partir destas versões) estão preparados para ler a coluna "sts_StringConexaoRemota" e se encontrar dados, irá descriptografar e utilizar esta String de Conexão para acessar a loja remotamente.


Observação

NotafislcaEletronica (este modulo não roda via Anywhere, somente sendo chamado diretamente pelo Atendimento, então não foi compilado)

Created with the Personal Edition of HelpNDoc: Maximize Your PDF Protection with These Simple Steps