AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-53747

Mike's questions

Martin Hope
Mike
Asked: 2021-01-26 21:02:31 +0800 CST

SQL Server - Como evitar conexões públicas?

  • 4

Hoje descobrimos que dois de nossos SQL Servers (ambos 2017 CU21) estão aceitando conexões de qualquer conta de domínio aleatório, mesmo aqueles que definitivamente não têm login direto ou acesso via associação ao grupo AD.

Em cada servidor há um banco de dados de usuários que permite que essas contas de domínio aleatórias se conectem.

Com base na configuração que vemos, esperamos que qualquer conta de domínio aleatório (ou seja, qualquer conta que não tenha um login na instância) tenha uma falha de login e, além disso, também seja bloqueada para se conectar ao banco de dados do usuário.

Para esses bancos de dados, a conta de convidado está desabilitada, mas para uma boa medida, executamos:

REVOKE CONNECT FROM guest

Isso não fez diferença.

Então duas perguntas:

  1. Como podemos desligar/impedir que essas conexões públicas sejam bem-sucedidas?
  2. Que instrução TSQL poderia nos mostrar a configuração problemática?

Coisas que vimos até agora:

  • A função de servidor 'público' parece ter a configuração padrão, igual a todos os nossos outros servidores onde isso não é um problema
  • O usuário convidado definitivamente aparece como desabilitado em todos os bancos de dados e servidores
  • A função de banco de dados 'pública' tem apenas as permissões padrão que esperamos ver
  • É apenas 1 banco de dados de usuário (mais master & msdb & tempdb) em cada servidor que é acessível a essas contas aleatórias -- todos os outros bancos de dados se comportam normalmente, ou seja, a conta não pode se conectar a eles.
  • A configuração do tipo de contenção do banco de dados é 'Nenhum' para todos os casos.
  • Não há login presente em nenhum dos servidores que abranja todos os usuários do domínio

Algum contexto: os dois servidores estão relacionados -- eles são os servidores DEV e PROD para o mesmo aplicativo. É muito provável que essa configuração tenha sido feita deliberadamente por algum motivo histórico - mas ninguém que trabalha aqui agora sabe o porquê, então gostaríamos de desabilitar esse acesso público.

sql-server
  • 4 respostas
  • 876 Views
Martin Hope
Mike
Asked: 2017-10-02 22:19:58 +0800 CST

Como posso configurar a replicação com o nome DNS em vez do nome do servidor

  • 3

Estamos usando certificados SSL de uma CA pública em cada SQL Server em nossa topologia de replicação transacional (push) e desejamos ter o EncryptionLevel = 2 para nossos Agentes Distribuidores. Atualmente EncryptionLevel está definido como 1 e funciona bem. (A diferença entre 1 e 2 é que 1 diz ao agente apenas para usar criptografia e 2 diz para ele também validar a cadeia de certificação dos certificados SSL)

Os certificados SSL são de uma CA pública. O Nome da Entidade é o FQDN completo do Windows do servidor (SERVER1.mywindowsdomain.com) e a lista Nomes Alternativos da Entidade contém o FQDN DNS completo (MYAPP.MYDOMAIN.COM).

Posso confirmar que, usando o SSMS, posso me conectar corretamente a cada SQL Server sem marcar 'Trust Server certificate' na caixa de diálogo de conexão, o que significa que a cadeia de certificados está sendo validada corretamente com sucesso.

Quando altero o EncryptionLevel para = 2, nossos Agentes de Distribuição não podem mais se conectar ao Publicador/Distribuidor em execução no mesmo servidor. Isso faria sentido porque eles estão tentando se conectar ao SERVER1\DEV, enquanto o certificado SSL é para um nome DNS público - MYAPP.MYDOMAIN.COM e, portanto, a validação da cadeia falha.

Portanto, estou procurando uma maneira de configurar a replicação do zero, mas usando o nome DNS (MYAPP.MYDOMAIN.COM) em vez do nome da máquina (SERVER1).

Porém, quando executo o seguinte comando:

exec sp_adddistributor @distributor = N'MYAPP.MYDOMAIN.COM\DEV', @password = N'12345'

Então recebo a seguinte mensagem de erro de volta:

Msg 18483, Level 14, State 1, Line 48 Não foi possível conectar ao servidor 'SERVER1\DEV' porque 'distributor_admin' não está definido como um logon remoto no servidor. Verifique se você especificou o nome de login correto. . Msg 14114, nível 16, estado 1, procedimento sp_adddistributiondb, linha 169 [Linha inicial do lote 65] O servidor 'SERVER1\DEV' não está configurado como um distribuidor.

Observe que este comando funcionou bem no passado quando era isso:

exec sp_adddistributor @distributor = N'SERVER1\DEV', @password = N'12345'

Depois de muito pesquisar, eu tentei muitas variações sobre isso. Eu tentei:

  • Usando aliases de cliente (32+64 bits) no editor
  • Variando como minha sessão SSMS está conectada ao servidor, ou seja, o nome do servidor de diálogo de conexão. Eu tentei usar SERVER1\DEV, MYAPP.MYDOMAIN.COM\DEV e também SERVER1.mywindowsdomain.com\DEV.

Qualquer sugestão sobre o que tentar a seguir seria apreciada. Eu ficaria feliz em explorar a) obter os Agentes de Distribuição para validar o certificado do servidor local [mas tendo em mente que não posso modificar os certificados SSL], ou b) recriar a replicação inteiramente do zero para que ele usa o DNS FQDN, ou seja. MYAPP.MYDOMAIN.COM\DEV.


Nota : Apenas para evitar qualquer pessoa que pesquise no Google essa mensagem de erro e sugira que nosso servidor SQL pode ter sido renomeado, esse definitivamente não é o caso. O problema é o nome da máquina versus o nome DNS.

sql-server replication
  • 1 respostas
  • 821 Views
Martin Hope
Mike
Asked: 2017-08-15 21:10:06 +0800 CST

Definir avisos (alertas e limites) no MSSQL Replication Monitor usando TSQL

  • 2

Como posso definir as configurações nesta tela no Replication Monitor usando TSQL? Monitor de replicação - página de avisos Para referência, estamos no SQL 2014.

sql-server replication
  • 1 respostas
  • 814 Views
Martin Hope
Mike
Asked: 2016-03-29 20:56:50 +0800 CST

SQLCMD -L retorna um número de servidores que definitivamente não possuem o SQL instalado

  • 0

Eu tenho executado este comando em nosso domínio de teste:

sqlcmd -L

E descobri que entre todos os resultados válidos, ele também retorna vários servidores que definitivamente não possuem o SQL Server instalado. É possível que eles tenham o SQL instalado em um passado distante, mas definitivamente não atualmente.

Como isso é possível? Eu teria pensado que o SQL Browser teria que ser instalado e executado em um servidor para responder à transmissão sqlcmd -L.

Caso ajude, os servidores que são falsos positivos são: -um controlador de domínio -um servidor para Microsoft SCCM -um servidor para gerenciamento de PKI

Obrigado Mike

sql-server sqlcmd
  • 1 respostas
  • 184 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve