Posso abrir uma porta em uma única interface (tun0) somente enquanto estiver usando um perfil do ufw

1

Então, eu sei que eu posso fazer ufw allow from tun0 to tun0 port 36892 , mas é possível fazer algo semelhante ao usar um perfil ufw para vários portos como ports=tun0;36892|tun0;23976|tun0;19827 ?

Neste caso, assuma que tun0 é 10.8.0.1

    
por Belldandu 03.06.2017 / 00:50

1 resposta

3

A resposta geral

Eu tenho medo de adicionar interface de rede em um perfil de aplicativo não é possível, porque na seção 'Integração de Aplicativos' em Página de manual do UFW para a sintaxe ser escrita:

  

A sintaxe para os perfis de aplicativo é um formato simples de .INI:

[<name>]
title=<title>
description=<description>
ports=<ports>

E não há predefinições de diretivas de interface.

Criar regras manualmente

De acordo com a pergunta Existem duas abordagens para permitir o TCP e o UDP simultaneamente:

  1. Adicione regras para cada porta separadamente:

    sudo ufw allow in on tun0 to any port 36892
    sudo ufw allow in on tun0 to any port 23976
    sudo ufw allow in on tun0 to any port 19827
    
  2. Adicione regras para cada protocolo separadamente:

    sudo ufw allow in on tun0 to any port 36892,23976,19827 proto tcp
    sudo ufw allow in on tun0 to any port 36892,23976,19827 proto udp
    

Para permitir o acesso apenas de um endereço específico, adicione from 10.8.0.xxx à declaração - por exemplo:

sudo ufw allow in on tun0 from 10.8.0.110 to any port 36892,23976,19827 proto tcp

Crie um perfil de aplicativo e crie regras com base nele

Vamos criar um novo arquivo de perfil, chamado custom.ufw.profile , localizado em /etc/ufw/applications.d/ . O conteúdo deste arquivo pode ser assim:

[CustomApp 1 Full]
title=The first Custom Application
description=Custom Application Description
ports=36892|23976|19827

[CustomApp 1 TCP]
title=The first Custom Application - TPC only
description=Custom Application Description
ports=36892,23976,19827/tcp

[CustomApp 1 UDP]
title=The first Custom Application - UDP only
description=Custom Application Description
ports=36892,23976,19827/udp
  • Podemos verificar se a sintaxe está correta através do comando ufw app info "app name" :

    $ sudo ufw app info "CustomApp 1 Full"
    Profile: CustomApp 1 Full
    Title: The first Custom Application
    Description: Custom Application Description
    Ports:
      36892
      23976
      19827
    

Agora podemos criar uma nova regra com base neste perfil:

sudo ufw allow in on tun0 to any app "CustomApp 1 Full"
  • Verifique se a regra está correta:

    $ sudo ufw status numbered | grep CustomApp
    [10] CustomApp 1 Full on tun0       ALLOW IN    Anywhere
    [20] CustomApp 1 Full (v6) on tun0  ALLOW IN    Anywhere (v6)
    

Crie um comando personalizado para automatizar as regras de ativação / desativação do processo

Se pretendemos ativar ou desativar rapidamente algumas regras do UFW, podemos criar um comando personalizado para essa finalidade. Podemos usar uma função que pode ser algo assim:

function ufw-custom {
        if ! ufw_loc="$(type -p "ufw")" || [ -z "$ufw_loc" ]; then
                printf "\nUFW is not installed yet.\n\n"
        elif [ "" = "enable" ]; then
                sudo ufw allow in on tun0 to any port 36892
                sudo ufw allow in on tun0 to any port 23976
                sudo ufw allow in on tun0 to any port 19827
                echo ""
                sudo ufw reload
                echo ""
                sudo ufw status numbered
        elif [ "" = "disable" ]; then
                sudo ufw delete allow in on tun0 to any port 36892
                sudo ufw delete allow in on tun0 to any port 23976
                sudo ufw delete allow in on tun0 to any port 19827
                echo ""
                sudo ufw reload
                echo ""
                sudo ufw status numbered
        else
                echo ""
                sudo ufw status numbered
                printf "Use 'ufw-custom enable' or 'ufw-custom disable'.\n\n"
        fi
}
export -f ufw-custom

Coloque essas linhas no final de ~/.bashrc file e, em seguida, source ~/.bashrc . Agora temos um comando personalizado chamado ufw-custom , que pode manipular enable ou disable como argumentos. Por exemplo, para ativar as regras, use:

ufw-custom enable
    
por pa4080 03.06.2017 / 01:25