Jump to content
PedroWieira

[Problema] Falta de segurança

Recommended Posts

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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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"

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.