Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

PedroWieira

[Problema] Falta de segurança

Mensagens Recomendadas

PedroWieira

Viva,

Cirei uma instancia (nome: pedrowieira) no computador do cliente e meti uma password na instancia (por exemplo: 12321). Cirei uma base de dados nesta instancia (nome: utilizadores). Na minha aplicação (em vb.net) faço a autenticação à base de dados e conseguiso utilizala normalmente. Até aqui não há nada fora do normal. O problema é que o cliente abre a aplicação SQL Server Management Studio e selecciona a opção de autenticação "Windows Authentication" e faz OK e já enta a aceder à base de dados, ou seja não tenho protecção à minha base de dados. Alguem me pode ajudar a meter uma boa protecção à instancia/base de dados?

Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jsWizard

Podes desactivar a autenticação via "windows authentication".. não me lembro onde.. mas procura nos setings do enterprise manager.. (acho que na instalação do SQL Server.. algures pelo meio tb pergunta que tipo de autenticações queres activar).

E pronto, desactivando essa autenticação, depois só com logins SA (ou outro user) é que te consegues ligar à base de dados.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PedroWieira

Podes desactivar a autenticação via "windows authentication".. não me lembro onde.. mas procura nos setings do enterprise manager.. (acho que na instalação do SQL Server.. algures pelo meio tb pergunta que tipo de autenticações queres activar).

E pronto, desactivando essa autenticação, depois só com logins SA (ou outro user) é que te consegues ligar à base de dados.

Durante a instalação eu seleccionei o tipo de autenticação e mesmo assim passou.

Eu na aplicação faço a instalação via comandos, ou seja fica isto: SQLEXPRWT_x86_ENU.exe /qs /ACTION=install /FEATURES=SQL,RS,TOOLS /INSTANCENAME=""pedrowieira"" /SAPWD=""12321"" /SECURITYMODE=SQL /SQLSYSADMINACCOUNTS=""BUILTIN\ADMINISTRATORS"" /RSSVCACCOUNT=""NT AUTHORITY\NETWORK SERVICE"" /SQLSVCACCOUNT=""NT AUTHORITY\NETWORK SERVICE"" /AGTSVCACCOUNT=""NT AUTHORITY\NETWORK SERVICE"" /RSSVCSTARTUPTYPE=""Manual"" /RSINSTALLMODE=""DefaultNativeMode"" /IACCEPTSQLSERVERLICENSETERMS

Sei que temos dois utilizadores na base de dados que se os remover-mos consigo fazer o que pretendo, mas via comandos sql não dá para remover esses utilizadores.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jsWizard

pahh.. não te sei ajudar mais.. já não trabalho com SQL Server desde 2002 :D

mas sei que dá para fazer e é muito simples.. mas tens de procurar esses settings algures no entreprise manager.

Tb deve haver por aqui no forum alguém que tenha conhecimentos de SQL Server bem mais frescos que os meus :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
apocsantos

Boa noite,

Podes desactivar o "Windows Authentication" do Ms Sql Studio.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

assinatura.jpg

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rechousa

Olá,

Não é possível desactivar a autenticação Windows.

Porém, poderás conseguir contornar a situação usando um dos seguintes "truques"

a) Remover o utilizador / grupo de utilizadores (no Managament Studio em Security / Logins, botao direito do rato no login a remover, delete);

b) Negar a permissão de login ou fazer o disable ao login (no Management Studio, security /Logins, botao direito do rato no login a desactivar, properties, status, deny ou disable login.

Terás de repetir estas operações por cada login a desativar.

No SQL Server 2012 existe um conceito novo, as contained databases, em que, pelo que li, a autenticação / segurança fica guardada dentro da tua BD e não no servidor. Pode ser útil para ti, não testei esta feature ainda.

Espero ter ajudado.


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jsWizard
Não é possível desactivar a autenticação Windows.

como?? .. pelo menos na SQL Server 2000 era possível.. nas versões mais recentes já não é possível? estranhooo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rechousa

Olá,

Sei que temos dois utilizadores na base de dados que se os remover-mos consigo fazer o que pretendo, mas via comandos sql não dá para remover esses utilizadores.

Dá para desactivar via SQL:

-- Negar ligação ao SQL Server
DENY CONNECT SQL TO [DOMINIO\utilizador];

-- Desactivar o Login
ALTER LOGIN [DOMINIO\utilizador] DISABLE;

Na vista de sistema sys.syslogins consegues visualizar os logins associados ao servidor.

Se tiveres permissão de administração, deverás conseguir desactivá-los programaticamente, via SQL, mas agora cuidado com o que fazes, pois podes perder o acesso ao servidor ou este pode até mesmo nem arrancar.

-- Todos os utilizadores / grupos (inclui utilizadores com autenticação windows e sql)
SELECT * FROM sys.syslogins

-- Todos os utilizadores / grupos (apenas com autenticação windows)
SELECT * FROM sys.syslogins
   where isntuser + isntgroup >= 1


-- Script para desactivar todas as contas windows
-- Está a "imprimir" o sql gerado para perceberes o impacto que isso vai causar (como te avisei acima, tem cuidado - testa numa máquina virtual ou algo do género, pois não consigo garantir que percas o acesso ao servidor ou até mesmo que este não arranque, já que precisa de uma conta windows configurada no serviço).
-- Se quiseres executar, é só trocares os comentários do print, pelo exec
DECLARE @SQL VARCHAR(MAX) = '';
SELECT @SQL = @SQL + 'DENY CONNECT SQL TO [' + name + '];ALTER LOGIN [' + name + '] DISABLE;'
   FROM sys.syslogins WHERE isntuser + isntgroup >= 1;
PRINT @SQL;
-- EXEC (@SQL);

Espero ter ajudado.


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.