Estamos tentando resolver problemas de conectividade para um dos aplicativos que tenta extrair dados de um servidor sql muito seguro atrás do firewall. Não sou especialista em segurança, mas preciso de ajuda sobre como proceder na abertura de portas para esse aplicativo extrair dados do servidor sql por trás do domínio seguro.
Abrimos a porta na qual o sql server está escutando, digamos 12345, mas ainda sem sorte.
Como sei quais portas adicionais podem precisar ser abertas como udp 1434 default 1433 ou mirror como 5022? Existe uma maneira de encontrarmos essa informação?
Se você estiver usando uma instância autônoma do SQL Server, a resposta é bem direta. Se você tiver um Grupo de Disponibilidade e estiver usando o Ouvinte do AG para se conectar, será necessário fazer regras de firewall adicionais para o Ouvinte do AG.
Servidores SQL autônomos
Se o SQL Server estiver sendo executado em uma porta diferente de 1433, você precisará informar ao seu aplicativo em qual porta se conectar.
Uma maneira de fazer isso é permitir que o SQL Server Browser Service transmita essas informações. Dado que você descreveu isso como um ambiente "muito seguro", essa opção pode não ser a melhor. No entanto, se você deseja adotar essa abordagem, precisará permitir o UDP 1434.
Uma segunda opção é simplesmente incluir o número da porta em sua string de conexão. No SSMS, basta digitar o nome do servidor no formato
ServerName,port
, comoMySecureServer,12345
ouMySecureServer.am2.co,12345
. Da mesma forma, em uma string de conexão de aplicativo, você usaria o mesmo formato para oServer
parâmetro, comoServer=MySecureServer,12345;Database=myDataBase;Trusted_Connection=Yes
.Grupos de Disponibilidade
Se você estiver se conectando a um ouvinte do grupo de disponibilidade em vez de (ou além) do nome do servidor, será necessário que o firewall permita o acesso ao IP e à porta do ouvinte em vez de (ou além) do nome do servidor, e você usaria o nome e a porta do Listener em sua string de conexão.
Como DBA, geralmente preciso me conectar à própria instância e ao AG Listener, portanto, configuraria as regras de firewall para o IP da instância e sua porta e o(s) IP(s) do AG e as portas associadas. No entanto, dependendo do seu ambiente e das restrições de segurança, você pode não precisar/querer fazer as duas coisas.
Você pode determinar a lista completa de IPs e portas usadas pelo(s) ouvinte(s) do AG usando a seguinte consulta:
Enquanto eu segundo com outra resposta, o aplicativo não tem nada a ver com port# 5022 , ele é usado para replicação de banco de dados da réplica primária do AG para a secundária. Para o aplicativo, apenas a porta do cliente é necessária, o padrão é 1433 ou qualquer porta personalizada .
Além disso, você pode verificar e/ou garantir a manutenção do SQL Server com segurança usando os benchmarks.