Answers:
要回答有关如何创建自己的应用程序文件的真实问题,您只需要知道它使用的是Windows INI文件格式(yuck)。
[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。
netstat
查找应用程序名称...对吗?至少对我有用。是否区分大小写?我真的不知道的关系是什么“APPNAME”之间的应用程序文件与标题与进程名,等等
xx/tcp,xy/tcp,xz/tcp
或xx/tcp|xy/tcp|xz/tcp
实际上,手册页中的“应用程序集成”部分中都包含了所有内容。
基本语法为:
ufw allow <app_name>
或者,您可以使用扩展语法来更具体:
ufw allow from <some_address> to any app <app_name>
联机帮助页特别指出不指定端口号:
您不应该使用这两种语法来指定协议,而应该使用扩展语法来使用协议代替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
。
xx/tcp|yy/udp
。换句话说,协议之间的分隔应该是管道,而不是像您的示例中那样的逗号