Liberando portas no firewall do Windows pela linha de comando.

postado em: Dicas | 0

Para liberar portas pela linha de comando vamos usar a ferramenta NETSH que já vem instalada junto com o Windows (pelo menos no VISTA, 7 e SERVER 2008), e para digitar e executar o comando vamos abrir o prompt de comando (ou terminal, como preferir) para tanto, clique no INICIAR, escolha a opção EXECUTAR e digite CMD…

Prompt aberto, vamos aos comandos…


COMANDO PARA LIBERAR PORTA NO FIREWALL.

netsh firewall set portopening TCP 3070 “Firebird Server – 3070”

ou

netsh advfirewall firewall add rule name=”Firebird Server – 3070″ dir=in action=allow protocol=TCP localport=3070

onde:
netsh: Executável da ferramenta.
firewall ou advfirewall firewall: É um parâmetro da ferramenta NETSH e indica que vamos ‘trabalhar’ no FIREWALL do Windows.
set: É um parâmetro da ferramenta NETSH Firewall e indica que vamos configurar o firewall.
portopening: É um parâmetro do comando NETSH firewall SET e indica que vamos configurar portas do firewall.
TCP: Define o protocolo usado para acessar o servidor, no geral vai ser TCP ou, menos frequente: UDP.
3050: A porta para a qual desejamos liberar o acesso.
“Firebird Server – 3050″: Esse é uma informação textual que vai aparecer na configuração do firewall, de forma que você identifique o que faz aquela configuração.

COMANDO PARA LIBERAR PROGRAMA NO FIREWALL.

netsh firewall set allowedprogram c:\progra~1\firebird\fbserver.exe “Firebird server (app)” ENABLE SUBNET ALL

ou

netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes

Onde:
netsh: Executável da ferramenta.
firewall: É um parâmetro da ferramenta NETSH e indica que vamos ‘trabalhar’ no FIREWALL do Windows.
set: É um parâmetro da ferramenta NETSH Firewall e indica que vamos configurar o firewall.
allowedprogram: É um parâmetro do comando NETSH firewall SET e indica que vamos configurar liberação de programas no firewall.
c:\progra~1\firebird\fbserver.exe: Caminho completo do executável do programa que será liberado.
“Firebird server (app)”: Esse é uma informação textual que vai aparecer na configuração do firewall, de forma que você identifique o que faz aquela configuração.
ENABLE: Parâmetro que indica permissão pelo firewall (caso queira NÃO permitir, usar DISABLE).
SUBNET: Indica a abrangência da liberação, neste caso estamos liberando para a mesma sub-rede (uma rede local por exemplo).
ALL: Indica em qual perfil de firewall será liberado o programa, neste caso estamos liberando para todos os perfis de firewall.

*** A parte que está em negrito é fixa do comando, a parte que está em itálico variam de acordo com a necessidade.


COMANDO PARA VISUALIZAR QUAIS PORTAS ESTÃO LIBERADAS NO FIREWALL

netsh firewall show portopening


COMANDO PARA VISUALIZAR QUAIS PROGRAMAS ESTÃO LIBERADAS NO FIREWALL

netsh firewall show allowedprogram

Para informações mais detalhadas, entre em contato pelo jcsuporte@gmail.com ou digite netsh firewall /? no prompt de comando

comandos devidamente mostrados e explicados, segue algumas explicações para quem não sabe bem o que é e como funciona as PORTAs que liberamos no firewall.

Quando um usuário abre a lista de cliente do software que está na sua maquina, esse software precisa fazer uma requisição no servidor de banco de dados para buscar e apresentar na tela os dados solicitados.
Para que isso ocorra um servidor de banco de dados está instalado numa máquina, e para acessá-lo é necessário indicar o endereço desta máquina (endereço IP ou nome da máquina) e o número da porta na qual o serviço solicitado responde, conclui-se então, que a porta é um complemento do endereço para chegar ao servidor.

Cada serviço tem uma porta padrão (veja a lista de alguns serviços no final do post) e isso fica transparente para o usuário porque a aplicação que acessa o servidor já sabe qual a porta padrão e coloca automaticamente, isso também quer dizer que se o administrador do sistema mudar a porta padrão para uma outra qualquer, será necessário indicar a porta ao tentar acessar o serviço. Bem, com isso espero ter conseguido explicar a função da ‘porta’

… continuando o raciocínio: se o servidor será acessado pela dobradinha ‘IP:Porta’ a máquina onde está instalado precisa liberar o tráfego de dados por essa porta, certo?

O papel do FIREWALL é exatamente dar segurança aos dados e bloquear o acesso a esta máquina e aos serviços instalados nela, portanto, se precisamos acessar o servidor e o FIREWALL está travando, é necessário informar para ele que deve liberar o acesso a porta indicada.

A solução mais comum que vejo por aí, principalmente em pequenas empresas usando o Windows, é desabilitar o firewall, mas essa não é nem de perto a melhor solução, já que acaba com toda segurança contra acessos não autorizados que o FIREWALL implementa.

Uma forma de liberar esse acesso é especificando qual porta poderá ser acessada, e para isso existem 2 formas:

Pela ferramenta gráfica que o Windows oferece no Painel de controle, e através da linha de comando, que é a motivação desse post. Muitos devem pensar: mas pela linha de comando é mais complicado…. é sim, tem razão, mas se for preciso fazer o processo em várias máquinas, e colocar o comando dentro de um script .bat a execução fica mais prático, seguro e rápido, para construir o script .bat, basta pegar os comando do inicio do post, colocar num arquivo texto vazio e salvar comoabre_portas_firewall.bat

Portas padrões por serviço:
FTP – 21
HTTP – Porta 80
DNS – 53
MS-SQL – 1433 e 1434 em alguns casos
Firebird – 3050
Remote Desktop – 3389

NOTA: Houve alteração do comando no sistema windows server 2008, windows 7 e  versões mais recentes.

Leia :http://support.microsoft.com/kb/947709/pt-br