Compartilho aqui algumas anotações sobre o UFW. Como o próprio nome já diz, o Uncomplicated Firewall é bastante simples de usar e configurar. Há uma versão com interface gráfica (Gufw), porém o nosso foco é a versão de linha de comando.
Configuração Básica
Partindo do pressuposto de que você já tenha instalado o ufw, podemos verificar o seu status:
sudo ufw status
Status: inactive
Para ativar o ufw basta setar como enable:
sudo ufw enable
Firewall is active and enabled on system startup
Agora que temos o firewall ativo podemos criar e gerenciar regras. Lembrando que as configurações do ufw estão em /etc/ufw.
Criar regras é bem simples. Vamos supor que queremos bloquear a porta 22 (ssh) do computador. Basta:
sudo ufw deny 22/tcp
Rule added
Rule added (v6)
Notemos que ele também cria uma regra para o ipv6. Você, além de utilizar o número da porta, pode utilizar o nome do serviço:
sudo ufw deny ssh
Rule added
Rule added (v6)
Lembrando também que, caso você queira permitir ao invés de bloquear, basta usar allow.
Agora que criamos uma regra, vamos ver como podemos deletá-la. Primeiro vamos listar as nossas regras:
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 DENY IN Anywhere
[ 2] 22 DENY IN Anywhere (v6)
Para deletar basta indicar o número da regra:
sudo ufw delete 1
Deleting:
deny 22
Proceed with operation (y|n)? y
Rule deleted
Além de negar ou permitir, podemos definir se a regra será usada no fluxo de entrada ou saída.
sudo ufw deny out 22/tcp
Rule added
Rule added (v6)
Apenas verificando se deu certo:
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp DENY OUT Anywhere (out)
[ 2] 22/tcp DENY OUT Anywhere (v6) (out)
Caso queiramos agir sobre a entrada, basta usar in.