Versão 4.0.0
Objetivo
Demonstrar como restringir o acesso ao Banco de Dados por Entidades não Autenticadas ou não Autorizadas.
Definições
A restrição de acesso pode ser feita tanto bloqueando o acesso diretamente à porta de comunicação do banco de dados, quanto restringindo acesso aos usuários do banco de dados.
O Banco de Dados é acessado exclusivamente pelo servidor de aplicação (PServer).
Com isso podemos configurar restrições de acesso ao banco de dados para garantir que somente requisições advindas do IP do PServer consigam acessar o banco de dados.
É extremamente recomendável realizar as restrições para conseguir mais segurança dos dados armazenados no banco de dados.
Restrição de Acesso por Usuários do Banco de Dados
Como somente o servidor de aplicação PServer acessa diretamente o banco de dados, não é necessário criar usuários do sistema diretamente no banco de dados.
Os usuários do sistema são somente para o sistema, separados dos usuários do Banco de Dados.
Os usuários do banco de dados são criados somente para manutenção do mesmo (usuário administrador do banco de dados ou usuário operador de backup por exemplo).
Para o Promedico somente é necessário a criação do usuário Doctor que é o usuário que o PServer irá usar para se conectar ao Banco de Dados e recomendamos que seja usada uma senha de alta complexidade.
Restrição de Acesso por IP
O SQL Server não dispõe de configuração interna para configurar as restrições de acesso por IP, com isso demonstraremos como realizar as restrições utilizando o Firewall do Windows.
Caso você utilize um sistema de Firewall diferente, verifique como realizar as configurações no outro sistema.
Para tanto devemos restringir o acesso à porta de comunicação do SQL Server que como padrão é a porta 1433 (em caso de mudança da porta padrão, faça os procedimentos usando a porta escolhida) para somente o IP do servidor onde está o PServer.
Passo a Passo
Novamente faremos a demonstração utilizando o Windows Server 2019.
Clique no menu iniciar e pesquise por Firewall e escolha a opção Windows Defender Firewall
Ao abrir, escolha a opção Configurações avançadas
Clique com o botão direito do mouse em Regras de Entrada e vá em Nova Regra
Escolha a opção Porta e clique em Avançar
Em Portas locais específicas coloque a porta do SQL Server que como padrão é a porta 1433 e clique em Avançar
Escolha Permitir a conexão e clique em Avançar
Na página seguinte deixe marcado todas as opções e clique em Avançar
Escolha um nome para essa regra e clique em Concluir
Nesse momento você acabou de Liberar o acesso para todos os IPs da rede.
É de extrema importância fazer as restrições da parte seguinte.
Ache a regra que você acabou de criar e clique com o botão da direita e vá em Propriedades
Vá na aba Escopo, em Endereço IP Local marque a opção Estes endereços IP.
Clique em Adicionar e coloque o IP 127.0.0.1
Clique em OK e faça a mesma coisa em Endereço IP Remoto
O resultado esperado é assim:
Caso o PServer esteja instalado em um outro servidor na rede, diferente do SQL Server, adicione da mesma forma o IP do servidor do PServer.
Para o sistema não há necessidade de liberar acesso ao banco de dados para as estações e recomendamos que não o faça.
Porém caso haja a necessidade de liberar acesso de gerenciamento do banco de dados através do gerenciador do mesmo (SSMS) para outro computador na rede, como por exemplo algum da TI, pode-se ainda adicionar o IP na regra do Firewall para o mesmo ter acesso à administração.
Porém essa configuração vai liberar o acesso do banco de dados a outro IP fora do mesmo servidor, ficando a critério do cliente o balanceamento dos riscos relacionados.