Ufw 有一个命令,列出配置文件,您可以进一步探索其配置文件定义
$ ufw app list
和
$ ufw app PROFILE {app profile title}
我想知道如何为未定义的程序(例如虚拟盒)创建配置文件,并让该配置文件运行我为 Ubuntu 发行版提供的 iptables 的相同定义。
我不仅尝试使用 Ubuntu 防火墙来维护我的虚拟机。我还非常好奇如何为没有自带配置文件的应用程序创建配置文件。
答案1
要回答真正的问题,关于如何创建自己的应用程序文件,您只需要知道它使用 Windows INI 文件格式。
[appname]
title=1-liner here
description=a longer line here
ports=1,2,3,4,5,6,7,8,9,10,30/tcp|50/udp|53
ports 行可以指定多个端口,使用 /udp 或 /tcp 来限制协议,否则默认为两者。您必须使用 | 来分割协议部分。
因此,对于现实生活中的一组示例,我做了:
[puppet]
title=puppet configuration manager
description=Puppet Open Source from http://www.puppetlabs.com/
ports=80,443,8140/tcp
[AMANDA]
title=AMANDA Backup
description=AMANDA the Advanced Maryland Automatic Network Disk Archiver
ports=10080
您可以在一个文件中列出应用程序的多个版本,例如 apache 中的这个版本:
===start of apache2.2-common file===
[Apache]
title=Web Server
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80/tcp
[Apache Secure]
title=Web Server (HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=443/tcp
[Apache Full]
title=Web Server (HTTP,HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80,443/tcp
===end of file===
定义应用程序文件后,将其放入/etc/ufw/applications.d
,然后告诉 ufw 使用以下命令重新加载应用程序定义
ufw app update appname
ufw app info appname
与以下方式一起使用:
ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda
假设 192.168.1.10 是您的 amanda 服务器的 IP。
答案2
它实际上都在“应用程序集成”部分下的手册页中。
基本语法是:
ufw allow <app_name>
或者您可以使用扩展语法来更加具体:
ufw allow from <some_address> to any app <app_name>
手册页具体说不是指定端口号:
您不应使用任一语法来指定协议,而应使用扩展语法来使用 app 代替 port 子句。
这可能意味着它将<app_name>
使用它想要的任何端口。
其他有用的命令:
ufw app info <app_name>
<app_name>
其中列出了的个人资料信息。
ufw app update <app_name>
这会更新<app_name>
的配置文件。您可以使用all
它来更新所有应用程序配置文件。
您可以使用:
ufw app update --add-new <app_name>
命令添加新的配置文件<app_name>
并更新它,遵循您设置的规则ufw app default <policy>
。
/etc/ufw/applications.d
应用程序配置文件有时存储在 中/etc/services
。
有关详细信息,请参阅man ufw
。