आप ufw के लिए एक ऐप प्रोफाइल कैसे बनाते हैं?


31

Ufw की एक कमांड है जो उन प्रोफाइलों को सूचीबद्ध करती है, जिनसे आप उनकी प्रोफाइल परिभाषाओं का पता लगा सकते हैं

$ ufw app list

तथा

$ ufw app PROFILE {app profile title}

मैं सोच रहा था कि आप आभासी बॉक्स की तरह एक अपरिभाषित कार्यक्रम के लिए एक प्रोफ़ाइल कैसे बना सकते हैं और उस प्रोफ़ाइल को वही परिभाषाएं चलाते हैं जो मैंने अपने उबंटू डिस्ट्रो के लिए iptables दिए हैं।


इतना ही नहीं मैं अपने वर्चुअल मशीन की सेवा के लिए Ubuntus फ़ायरवॉल का उपयोग करने की कोशिश कर रहा हूं। मैं भी ईमानदारी से उत्सुक हूं कि कैसे एक आवेदन के लिए एक प्रोफ़ाइल बनाई जाए जो एक के साथ नहीं आती है।

जवाबों:


36

असली सवाल का जवाब देने के लिए, अपनी खुद की एप्लिकेशन फ़ाइल कैसे बनाएं, आपको केवल यह जानना होगा कि यह विंडोज़ आईएनआई फ़ाइल प्रारूप (ysa) का उपयोग कर रहा है।

[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

पोर्ट लाइन प्रोटोकॉल को सीमित करने के लिए / 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

आप ऐप के कई संस्करणों को एक एकल फ़ाइल में सूचीबद्ध कर सकते हैं, जैसे कि यह अपाचे से एक है:

===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 मान लेना आपके अमांडा सर्वर का IP है।


udp और tcp के संयोजन के लिए आपका सिंटैक्स गलत है। यह होना चाहिए xx/tcp|yy/udp। दूसरे शब्दों में, प्रोटोकॉल के बीच पृथक्करण एक पाइप होना चाहिए, न कि आपके उदाहरण में जैसे अल्पविराम
2424 में हिलीकस

मेरा उदाहरण उन्हें संयोजित करने का प्रयास नहीं कर रहा था, यह इस पोर्ट-ऑन-udp, कुछ अन्य-पोर्ट-ऑन-टीसीपी की एक सरल सूची है।
user207998

मैंने सिर्फ netstatएप्लिकेशन नाम खोजने के लिए उपयोग करने की कोशिश की ... क्या यह सही है? इसने मेरे लिए कम से कम काम किया। क्या यह संवेदनशील है? मुझे वास्तव में यकीन नहीं है कि आवेदन फ़ाइल में "ऐपनाम" के बीच क्या संबंध है बनाम शीर्षक बनाम प्रक्रिया का नाम, आदि
intcreator

नेस्टैट सिर्फ एक विशेष पोर्ट से जुड़े प्रक्रिया के नाम को सूचीबद्ध करता है। यह जरूरी नहीं कि आवेदन के नाम से मेल खाता हो। उदाहरण के लिए, पोस्टफ़िक्स एप्लिकेशन विभिन्न प्रकार की प्रक्रियाओं को लॉन्च करता है, जिसमें 'मास्टर' प्रक्रिया भी शामिल है जो पोर्ट 25 को खोलता है। मैं ufw ऐप कॉन्फिगर फ़ाइल का नाम देता हूं, जो कहता है, पैकेज का नाम, यानी 'पोस्टफ़िक्स' या 'AMANDA'। कॉन्फ़िगरेशन फ़ाइल के भीतर एक या एक से अधिक ऐप परिभाषाएँ होती हैं जो उस पैकेज द्वारा खोले गए पोर्ट का प्रतिनिधित्व करती हैं। गुणक हो सकते हैं, उदाहरण के रूप में 'पोस्टफिक्स' पैकेज देखें। वहाँ एप्लिकेशन के नाम पोस्टफ़िक्स को कॉन्फ़िगर करने के तरीके के आधार पर भिन्न होते हैं।
user207998

कई tcp पोर्ट के लिए, यह पूर्व या बाद के रूप में है? xx/tcp,xy/tcp,xz/tcpयाxx/tcp|xy/tcp|xz/tcp
एरोलफ्लेन

10

यह वास्तव में "एप्लिकेशन इंटीग्रेशन" अनुभाग के तहत मैनपेज में है।

मूल वाक्यविन्यास है:

ufw allow <app_name>

या आप अधिक विशिष्ट होने के लिए विस्तारित सिंटैक्स का उपयोग कर सकते हैं:

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

मेनपेज विशेष रूप से पोर्ट संख्या निर्दिष्ट करने के लिए नहीं कहता है :

आपको प्रोटोकॉल को सिंटैक्स के साथ निर्दिष्ट नहीं करना चाहिए, और विस्तारित सिंटैक्स के साथ, पोर्ट क्लॉज के स्थान पर ऐप का उपयोग करना चाहिए।

यह शायद इसका मतलब यह है कि यह <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


हां, आप 'ufw allow' सिंटैक्स में एक पोर्ट निर्दिष्ट नहीं करते हैं क्योंकि प्रोटोकॉल माना जाता है, यदि आवश्यक हो, तो ऐप डेफिनिशन फ़ाइल में ही।
user207998
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.