ufw için bir uygulama profilini nasıl yaratırsın?


31

Ufw, profil tanımlarını daha fazla inceleyebileceğiniz profilleri listeleyen bir komuta sahiptir

$ ufw app list

Ve

$ ufw app PROFILE {app profile title}

Tanımlanamayan bir program için nasıl sanal bir kutu gibi bir profil oluşturabileceğinizi ve bu profilin Ubuntu dağıtımım için iptables verdiğim tanımları çalıştırmasını merak ediyordum.


Sadece sanal makineme hizmet vermek için Ubuntus firewall kullanmaya çalışmıyorum. Ben de bir gelmeyen bir uygulama için bir profil oluşturmak için nasıl içtenlikle merak ediyorum.

Yanıtlar:


36

Kendi uygulama dosyanızı nasıl oluşturacağınızla ilgili gerçek soruyu yanıtlamak için, yalnızca windows INI dosya biçimini (yuck) kullandığını bilmeniz gerekir.

[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

Bağlantı noktaları satırı, protokolü sınırlandırmak için / udp veya / tcp ile birden fazla bağlantı noktası belirtebilir, aksi takdirde varsayılan olarak her ikisi için de geçerlidir. Protokol bölümlerini | ile bölmelisiniz.

Yani, gerçek hayattan örnekler için yaptığım örnekler:

[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

Uygulamanın birden fazla sürümünü tek bir dosyada, örneğin apache'den listeleyebilirsiniz:

===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===

Uygulama dosyanızı tanımladıktan sonra, içine yerleştirin /etc/ufw/applications.d, ardından uygulama tanımlarını yeniden yüklemesini ufw'ye söyleyin.

ufw app update appname
ufw app info appname

Şunun gibi bir şeyle kullanın:

ufw allow from 192.168.1.10 to any app amanda
ufw allow amanda

192.168.1.10’un Amanda Server’ın IP’si olduğunu varsayalım.


udp ve tcp'yi birleştirmek için kullandığınız sözdizimi yanlıştır. Olmalı xx/tcp|yy/udp. Başka bir deyişle, protokoller arasındaki ayrım, örnekte olduğu gibi virgül değil, bir boru olmalıdır
Hilikus,

Benim örneğim onları birleştirmeye çalışmıyordu, bu udp portundan başka bir porttan diğerine basit bir liste.
user207998 14:15

Sadece netstatuygulama adını bulmak için kullanmayı denedim ... doğru mu? En azından benim için çalıştı. Büyük / küçük harfe duyarlı mı? Başvuru dosyasındaki "appname" ile başlık - işlem adı, vs. arasındaki ilişkinin ne olduğundan emin değilim
intcreator 8:18

Netstat, yalnızca belirli bir bağlantı noktasına bağlı işlem adını listeler. Bu mutlaka uygulamanın adıyla eşleşmiyor. Örneğin, postfix uygulaması, 25 numaralı bağlantı noktasını açan 'master' işlemi de dahil olmak üzere çeşitli işlemler başlatır. Config dosyasında, o paket tarafından açılan portları temsil eden bir veya daha fazla uygulama tanımı vardır. Katları olabilir, örnek olarak 'postfix' paketine bakın. Orada uygulama adları postfix'in nasıl yapılandırıldığına bağlı olarak değişir.
user207998

çoklu tcp portları için, eskisi gibi mi yoksa ikincisi mi? xx/tcp,xy/tcp,xz/tcpveyaxx/tcp|xy/tcp|xz/tcp
errolflynn

10

Aslında, "Uygulama Entegrasyonu" bölümünün altındaki kılavuzda hepsi var.

Temel sözdizimi:

ufw allow <app_name>

Veya daha belirgin olmak için genişletilmiş sözdizimini kullanabilirsiniz:

ufw allow from <some_address> to any app <app_name>

Manpage özellikle diyor değil bir port numarasını belirtmek için:

Protokolü her iki sözdiziminde ve genişletilmiş sözdiziminde port yan tümcesinin yerine uygulamayı kullanmamalısınız.

Bu muhtemelen <app_name>istediği portu kullanmasına izin vereceği anlamına gelir .

Diğer faydalı komutlar:

ufw app info <app_name>

Hangi <app_name>profildeki bilgileri listeler .

ufw app update <app_name>  

Hangi güncelleme <app_name>profili. allTüm uygulama profillerini güncellemek için kullanabilirsiniz .

Şunları kullanabilirsiniz:

ufw app update --add-new <app_name>  

<app_name>Belirlediğiniz kuralları takip ederek yeni bir profil ekleme ve güncelleme komutu ufw app default <policy>.

Uygulama profilleri /etc/ufw/applications.dbazen saklanır /etc/services.

Daha fazla bilgi için bkz man ufw.


Evet, gerekirse protokolün uygulama tanımı dosyasının kendisinde belirtildiği için 'ufw allow' sözdiziminde bir bağlantı noktası belirtmezsiniz.
user207998
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.