Você não deve abrir um serviço diretamente para a Internet pública, como este, se puder ajudá-lo.
Sugiro usar alguma forma de VPN que forneça segurança adequada (tráfego totalmente criptografado e assim por diante), só permitirá que aqueles com uma chave para a VPN verem que o SQL Server existe, e podem até acelerar o processo. adicionando compactação à mixagem. Não precisa custar nada: O OpenVPN é gratuito (e OSS), estável e confiável - usamos tudo o tempo para coisas semelhantes.Se você não quiser uma VPN completa, instale um servidor SSH em sua máquina e deixe seu cliente conectar-se através dele usando seu recurso de encapsulamento para encaminhar conexões para a porta 1433. Há várias portas do conjunto completo do OpenSSH para Windows, então, novamente, essa solução é F + OSS.
Se o seu cliente realmente não conseguir lidar com a complicação extra de um cliente VPN ou SSH, não há muito o que fazer. Se eles tiverem um endereço IP fixo, você poderá remover as tentativas de login de outras fontes, limitando a regra de firewall "aceitar conexões da porta 1433" a esse endereço. Se eles tiverem um endereço dinâmico, mas de um intervalo fixo (ou seja, eles sempre se conectam do mesmo ISP), você poderá pelo menos limitar o escopo da regra a esse intervalo de endereços.
Se seu cliente estiver relutante em usar um túnel VPN ou SSH, você poderá "vender" a solução exaltando as virtudes do tráfego decentemente criptografado (que a conexão direta enviará dados em texto simples), tráfego compactado (isso poderia ser significativo se eles executarem relatórios que geram muitas linhas) e, no caso de algo como o OpenVPN, uma conexão mais confiável (o OpenVPN é mais resiliente a uma falha de desconexão ou de rede do que uma conexão direta será). Ter um servidor SQL em qualquer endereço endereçável diretamente pela rede pública é geralmente considerado uma má idéia.