Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
qubes-mirage-firewall — QubesOS के लिए न्यूनतम यूनिकर्नल फ़ायरवॉल जो नेटवर्क ट्रैफ़िक को फ़िल्टर करता है, NAT लागू करता है, और Qubes DB तथा qrexec के माध्यम से संचार करता है। | Kitploit
उपकरण/GitHubGitHub/mirage/qubes-mirage-firewall
रक्षात्मक उपकरणनेटवर्क एक्सेस कंट्रोलसुरक्षा वर्चुअलाइजेशननेटवर्क सुरक्षा
GitHubmirage/qubes-mirage-firewall

qubes-mirage-firewall

QubesOS के लिए न्यूनतम यूनिकर्नल फ़ायरवॉल जो नेटवर्क ट्रैफ़िक को फ़िल्टर करता है, NAT लागू करता है, और Qubes DB तथा qrexec के माध्यम से संचार करता है।

रिपॉजिटरी देखें
23929191 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

qubes-mirage-firewall

एक यूनिकर्नेल जो QubesOS ProxyVM के रूप में चल सकता है, sys-firewall की जगह लेता है। यह Qubes प्रोटोकॉल को लागू करने के लिए [mirage-qubes][] लाइब्रेरी का उपयोग करता है।

अधिक विवरण के लिए [A Unikernel Firewall for QubesOS][] देखें।

बाइनरी रिलीज़

पहले से निर्मित बाइनरी [releases page][] से उपलब्ध हैं। स्थापना निर्देशों के लिए नीचे Deploy अनुभाग देखें।

स्रोत से बिल्ड करें

नोट: बिल्ड करने का सबसे विश्वसनीय तरीका Docker या Podman का उपयोग करना है। Fedora 42 इसके लिए अच्छा काम करता है, Debian 12 भी काम करता है, लेकिन Docker पाने के लिए आपको [docker.com][debian-docker] पर दिए गए निर्देशों का पालन करना होगा (Debian के संस्करण का उपयोग न करें)।

एक नया Fedora-42 AppVM बनाएं (या मौजूदा का पुन: उपयोग करें)। Qube की Settings (Basic / Disk storage) में, private storage की अधिकतम आकार को डिफ़ॉल्ट 2048 MiB से बढ़ाकर 8192 MiB करें। एक टर्मिनल खोलें।

इस Git रिपॉजिटरी को क्लोन करें और build-with.sh स्क्रिप्ट को docker या podman में से किसी एक तर्क के साथ चलाएँ (नोट: Fedora पर नई SELinux नीतियों के कारण chcon कॉल अनिवार्य है, जो होम डायरेक्टरी में docker इमेज को मानक रूप से रखने की अनुमति नहीं देती हैं):

mkdir /home/user/docker
sudo ln -s /home/user/docker /var/lib/docker
sudo chcon -Rt container_file_t /home/user/docker
sudo dnf install docker
sudo systemctl start docker
git clone https://github.com/mirage/qubes-mirage-firewall.git
cd qubes-mirage-firewall
sudo ./build-with.sh docker

या

sudo systemctl start podman
git clone https://github.com/mirage/qubes-mirage-firewall.git
cd qubes-mirage-firewall
./build-with.sh podman

मेरे लैपटॉप पर इसमें लगभग 15 मिनट लगे (यदि आप इसे दोबारा चलाते हैं तो यह बहुत तेज़ होगा)। शुरुआत में दिया गया symlink चरण आवश्यक नहीं है यदि आपका बिल्ड VM स्टैंडअलोन है। यह Docker को अधिक डिस्क स्थान देता है और Qube को रीबूट करने पर Docker इमेज कैश खोने से बचाता है। Podman के साथ इसकी आवश्यकता नहीं है क्योंकि कंटेनर डिफ़ॉल्ट रूप से आपकी होम डायरेक्टरी में रहते हैं।

नोट: ऑब्जेक्ट फ़ाइलें _build निर्देशिका में संग्रहीत की जाती हैं ताकि वृद्धिशील बिल्ड तेज़ हों। यदि आप निर्भरताएँ बदलते हैं, तो पुनः निर्माण से पहले इस निर्देशिका को हटाना होगा।

यदि आप चाहते हैं कि रीबूट के बाद भी Docker या Podman पैकेज बना रहे, तो उसे टेम्पलेट VM में स्थापित करना ठीक है, लेकिन फ़ायरवॉल का निर्माण स्वयं एक नियमित AppVM में किया जाना चाहिए।

आप उस स्क्रिप्ट के बिना भी, किसी भी सामान्य Mirage यूनिकर्नेल की तरह बिल्ड कर सकते हैं; विवरण के लिए Mirage स्थापना निर्देश देखें।

बिल्ड स्क्रिप्ट अपने द्वारा उपयोग की जाने वाली लाइब्रेरी के संस्करणों को स्थिर करती है, यह सुनिश्चित करते हुए कि आपको वही बाइनरी मिलेगी जो रिलीज़ में है। यदि आप इसके बिना बिल्ड करते हैं, तो यह नवीनतम संस्करणों के विरुद्ध बिल्ड करेगा (और इसलिए हैश शायद मेल नहीं खाएगा)। हालाँकि, यह ठीक से काम करना चाहिए।

तैनाती

मैन्युअल तैनाती

यदि आप मैन्युअल रूप से तैनात करना चाहते हैं, तो आपको बस domU में qubes-firewall.xen और qubes-firewall.sha256 डाउनलोड करने की आवश्यकता है और जाँचना होगा कि .xen फ़ाइल का संगत हैशसम है। qubes-firewall.xen स्वयं यूनिकर्नेल है और इसे dom0 में /var/lib/qubes/vm-kernels/mirage-firewall निर्देशिका में vmlinuz पर कॉपी किया जाना चाहिए, उदा. (यदि dev वह AppVM है जहाँ आपने इसे बनाया है):

[tal@dom0 ~]$ mkdir -p /var/lib/qubes/vm-kernels/mirage-firewall/
[tal@dom0 ~]$ cd /var/lib/qubes/vm-kernels/mirage-firewall/
[tal@dom0 mirage-firewall]$ qvm-run -p dev 'cat mirage-firewall/qubes-firewall.xen' > vmlinuz

ऊपर जोड़े गए mirage-firewall कर्नेल का उपयोग करके mirage-firewall VM बनाने के लिए dom0 में यह कमांड चलाएँ:

qvm-create \
  --property kernel=mirage-firewall \
  --property kernelopts='' \
  --property memory=32 \
  --property maxmem=32 \
  --property netvm=sys-net \
  --property provides_network=True \
  --property vcpus=1 \
  --property virt_mode=pvh \
  --property audiovm='' \
  --label=green \
  --class StandaloneVM \
  mirage-firewall

qvm-features mirage-firewall qubes-firewall 1
qvm-features mirage-firewall no-default-kernelopts 1
qvm-features mirage-firewall skip-update 1

saltstack का उपयोग करके तैनाती

यदि आप Qubes में salt states चलाने से परिचित हैं, तो आप अपने Qubes OS में mirage फ़ायरवॉल के नवीनतम संस्करण को स्वचालित रूप से तैनात करने के लिए स्क्रिप्ट SaltScriptToDownloadAndInstallMirageFirewallInQubes.sls का भी उपयोग कर सकते हैं। एक परिचय यहाँ और यहाँ पाया जा सकता है। पूर्व लिंक के निर्देशों का पालन करते हुए, आप dom0 में कमांड sudo qubesctl --show-output state.apply SaltScriptToDownloadAndInstallMirageFirewallInQubes saltenv=user के साथ स्क्रिप्ट चला सकते हैं। स्क्रिप्ट एकीकरण सर्वर से चेकसम की जाँच करती है और github रिलीज़ में दिए गए नवीनतम संस्करण से तुलना करती है। यदि आपके डिफ़ॉल्ट टेम्पलेट में डिफ़ॉल्ट रूप से curl और tar उपकरण स्थापित नहीं हैं, तो स्क्रिप्ट में VM टेम्पलेट को समायोजित करना आवश्यक हो सकता है, जिनका उपयोग mirage यूनिकर्नेल डाउनलोड करने के लिए किया जाता है। यह भी न भूलें कि जिस VM में यूनिकर्नेल का उपयोग किया जाना है उसे बदलें या "Qubes Global Settings" को समायोजित करें।

अपग्रेड करना

पिछले रिलीज़ से अपग्रेड करने के लिए, बस /var/lib/qubes/vm-kernels/mirage-firewall/vmlinuz को नए संस्करण से अधिलेखित करें और फ़ायरवॉल VM को पुनः आरंभ करें।

AppVMs को इसका उपयोग करने के लिए कॉन्फ़िगर करें

आप अपने मौजूदा sys-firewall के साथ mirage-firewall चला सकते हैं और GUI का उपयोग करके चुन सकते हैं कि कौन से AppVMs किस फ़ायरवॉल का उपयोग करें। किसी AppVM को इसका उपयोग करने के लिए कॉन्फ़िगर करने के लिए, GUI में ऐप VM की सेटिंग्स में जाएँ और उसका NetVM default (sys-firewall) से बदलकर mirage-firewall करें।

आप इसे dom0 में यह कमांड चलाकर भी कॉन्फ़िगर कर सकते हैं (my-app-vm को AppVM के नाम से बदलें):

qvm-prefs --set my-app-vm netvm mirage-firewall

वैकल्पिक रूप से, आप mirage-firewall को अपना डिफ़ॉल्ट फ़ायरवॉल VM बना सकते हैं।

ध्यान दें कि डिफ़ॉल्ट रूप से dom0 अपने "UpdateVM" (अपडेट डाउनलोड करने के लिए एक प्रॉक्सी) के रूप में sys-firewall का उपयोग करता है। mirage-firewall इसके लिए उपयोग नहीं किया जा सकता, लेकिन कोई भी Linux VM ठीक रहेगा। https://www.qubes-os.org/doc/software-update-dom0/ कहता है:

UpdateVM की भूमिका Qubes VM Manager में किसी भी VM को सौंपी जा सकती है, और इस विकल्प में कोई महत्वपूर्ण सुरक्षा निहितार्थ नहीं हैं। डिफ़ॉल्ट रूप से, यह भूमिका firewallvm को सौंपी जाती है।

OpenBSD-जैसे netvm के साथ फ़ायरवॉल कॉन्फ़िगर करें

OpenBSD वर्तमान में netvm के रूप में उपयोग नहीं किया जा सकता है, इसलिए यदि आप अपने sys-net VM के रूप में BSD का उपयोग करना चाहते हैं, तो आपको इसका netvm qubes-mirage-firewall पर सेट करना होगा (अधिक जानकारी के लिए https://github.com/mirage/qubes-mirage-firewall/issues/146 देखें)। इसका मतलब है कि आपके पास AppVMs -> qubes-mirage-firewall <- OpenBSD होगा, जिसमें तीर netvm गुण सेटिंग को दर्शाता है।

उस स्थिति में आपको qubes-mirage-firewall को बताना होगा कि किस AppVM क्लाइंट को अपलिंक के रूप में उपयोग किया जाना चाहिए:

qvm-prefs --set mirage-firewall -- kernelopts '--ipv4=X.X.X.X --ipv4-gw=Y.Y.Y.Y'

जिसमें X.X.X.X mirage-firewall के लिए IP पता है और Y.Y.Y.Y आपके OpenBSD HVM का IP पता है।

घटक

यह आरेख मुख्य घटकों को दर्शाता है (प्रत्येक बॉक्स समान नाम वाली स्रोत .ml फ़ाइल से मेल खाता है):

ईथरनेट फ़्रेम क्लाइंट क्यूब्स (जैसे work या personal) या sys-net से आते हैं। इंटरनेट (IP) पैकेट firewall को भेजे जाते हैं, जो पैकेट के साथ क्या करना है यह तय करने के लिए NAT तालिका और QubesDB के नियमों से परामर्श करता है। यदि इसे आगे भेजा जाना चाहिए, तो यह चुने हुए गंतव्य पर भेजने के लिए router का उपयोग करता है। client_net dom0 द्वारा प्रदान किए गए XenStore डेटाबेस को देखता है ताकि पता चल सके कि क्लाइंट को कब जोड़ा या हटाया जाना है।

बूट प्रक्रिया:

टूल डाउनलोड करें