Podemos tentar começar com a definição de firewall que é necessária para cumprir a compreensão do “port-vocabulary”. Firewall é um software ou firmware que reforça um conjunto de regras sobre quais pacotes de dados serão permitidos a entrar ou sair de uma rede. É responsável por gerir as regras de permissão e negação de portas.
De acordo com o tópico deste guia gostaríamos de abrir portas em distribuições Linux como Ubuntu ou CentOS. Ambas distros permitem configurá-lo com diferentes conjuntos de ferramentas (pacotes firewalls), mas com os mesmos resultados.
Ferramentas que vamos usar:
– UFW
– Firewalld
Vejamos primeiro o cenário Ubuntu:
Esta distribuição contém o serviço UFW(Uncomplicated Firewall) pré-instalado por padrão. Ela simplifica toda a configuração e é de fácil utilização para cada pessoa.
Verifica o status do serviço com o comando systemctl padrão:
$ sudo systemctl status ufw
Ativar UFW com o comando enable:
$ sudo ufw enable
Syntax para abrir uma porta TCP específica:
$ sudo ufw allow (port)/tcp
por exemplo:
$ sudo ufw allow 53/tcp
Syntax suporta também nomes que se referem a portas específicas:
$ sudo ufw allow https
Para permitir a entrada de pacotes tcp e udp na porta 21, digite:
$ sudo ufw allow 21
Exemplo para endereço IP específico:
$ sudo ufw allow from 190.34.21.113 to any port
Vamos verificar a configuração:
$ sudo ufw status verbose
Command exibe uma tabela provisória com três colunas:
Explicações:
– Para – descreve o protocolo particular:
– Acção – diz-nos se é permitido ou negado:
– De – Diz sobre a fonte e.g em qualquer lugar ou um endereço ip como apresentado acima
Já é hora do CentOS:
Firewalld é uma ferramenta mais avançada que utiliza zonas na sua configuração. Eles são responsáveis por cuidar de alguma área, ou uma interface de rede “anexada”.
Firewalld é o controlador frontend para iptables usado para implementar regras de tráfego de rede persistente.
Vamos dar uma olhada em um monte de comandos que elaboram com firewalld.
1. Comece nosso serviço com o comando stardand systemctl:
$ sudo systemctl start firewalld
Enable it:
$ sudo systemctl enable firewalld
Este comando nos informa sobre o estado do serviço. Ele pode exibir apenas duas frases: “running” ou “no running”
$ sudo firewall-cmd --state
A zona padrão é pública. Neste pequeno tutorial não vamos alterá-lo, mas se você quiser então usar estes comandos:
$ sudo firewall-cmd --set-default-zone=work
Tentemos adicionar tráfego tcp na porta 1112:
$ sudo firewall-cmd --zone=public --add-port=1112/tcp --permanent
Para que essas alterações sejam aplicadas instantaneamente, temos de recarregar o estado firewalld.
>
$ sudo firewall-cmd --reload
Podemos obter uma revisão legível da nossa nova regra com o comando listar:
Para permitir uma ligação ssh em Ipv4 específico temos de usar uma sintaxe com “rich rule”