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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
macOS-Security-and-Privacy-Guide — चुनिंदा macOS सुरक्षा और गोपनीयता मार्गदर्शिका, जिसमें खतरा मॉडलिंग, डिस्क एन्क्रिप्शन, फ़ायरवॉल कॉन्फ़िगरेशन, सुरक्षित प्रमाणीकरण और नेटवर्क हार्डनिंग के लिए व्यावहारिक निर्देश शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/drduh/macos-security-and-privacy-guide
नेटवर्क सुरक्षावायरलेस सुरक्षाक्रिप्टोग्राफीगोपनीयताप्रमाणीकरणलर्निंग और शिक्षाचयनित संसाधन
GitHubdrduh/macos-security-and-privacy-guide

macOS-Security-and-Privacy-Guide

चुनिंदा macOS सुरक्षा और गोपनीयता मार्गदर्शिका, जिसमें खतरा मॉडलिंग, डिस्क एन्क्रिप्शन, फ़ायरवॉल कॉन्फ़िगरेशन, सुरक्षित प्रमाणीकरण और नेटवर्क हार्डनिंग के लिए व्यावहारिक निर्देश शामिल हैं।

रिपॉजिटरी देखें
22.5k1.5k9घं 43मि पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

यह मार्गदर्शिका Apple silicon Macs पर macOS की सुरक्षा और गोपनीयता बेहतर करने की तकनीकों का संग्रह है। यह अनुभवी उपयोगकर्ताओं को लक्षित करती है जो संगठनों द्वारा सामान्य रूप से उपयोग की जाने वाली सुरक्षा प्रथाओं को अपनाना चाहते हैं, लेकिन यह गोपनीयता और सुरक्षा में रुचि रखने वाले नए उपयोगकर्ताओं के लिए भी उपयुक्त है।

संगठन-प्रबंधित Macs के लिए, macOS Security Compliance Project देखें, जिसे U.S. National Institute of Standards and Technology द्वारा अनुरक्षित किया जाता है।

यह मार्गदर्शिका "जैसी है" प्रदान की जाती है - बिना किसी प्रकार की वारंटी के। इसे अपनाने के किसी भी परिणाम के लिए आप पूर्णतः स्वयं जिम्मेदार हैं।

  • मूल बातें
  • खतरा मॉडल
    • संपत्तियाँ
    • प्रतिद्वंद्वी
    • क्षमताएँ
    • शमन
    • उदाहरण मॉडल
  • हार्डवेयर
  • macOS स्थापित करना
    • सिस्टम सक्रियण
    • Apple खाता
    • App Store
    • वर्चुअलाइज़ेशन
      • Apple कंटेनर
  • पहला बूट
  • व्यवस्थापक और उपयोगकर्ता खाते
    • चेतावनियाँ
    • सेटअप
  • फर्मवेयर
  • FileVault
  • लॉकडाउन मोड
  • फ़ायरवॉल
    • एप्लिकेशन परत फ़ायरवॉल
      • स्टील्थ मोड
      • हस्ताक्षरित ऐप्स
      • फ़ायरवॉल पुनः लोड करें
      • स्थिति प्राप्त करें
      • AirDrop
    • तृतीय-पक्ष फ़ायरवॉल
    • पैकेट फ़िल्टर
      • उदाहरण pf कॉन्फ़िग
      • फ़ायरवॉल कमांड
      • नेटवर्क ब्लॉक करें
  • सेवाएँ
  • Siri सुझाव और Spotlight
  • Homebrew
  • DNS
    • DNS प्रोफ़ाइल
    • Hosts फ़ाइल
    • DNSCrypt
    • Dnsmasq
  • प्रमाणपत्र प्राधिकरण
  • Privoxy
  • ब्राउज़र
    • Firefox
    • Chrome
    • Safari
    • वेब ब्राउज़र गोपनीयता
  • Tor
  • VPN
  • PGP/GPG
  • ईमेल
    • Thunderbird
  • मैसेंजर
    • XMPP
    • Signal
    • iMessage
  • मैलवेयर
    • सॉफ़्टवेयर डाउनलोड करना
    • App सैंडबॉक्स
    • हार्डनड रनटाइम
    • एंटीवायरस
    • गेटकीपर
  • सिस्टम इंटीग्रिटी प्रोटेक्शन
  • मेटाडेटा और कलाकृतियाँ
  • प्रमाणीकरण
  • बैकअप
  • Wi-Fi
  • SSH
  • भौतिक पहुँच
  • निगरानी
    • लॉग
    • DTrace
    • प्रक्रियाएँ
    • नेटवर्क
      • Wireshark
  • विविध
    • स्क्रीनसेवर
    • नैदानिक डेटा
    • मीडिया प्लेयर
    • फ़ाइल हैंडलर
    • Finder विकल्प
    • कस्टम umask
    • कीबोर्ड प्रविष्टि
    • नेटवर्क हार्डनिंग
    • Sudoers
  • संबंधित सॉफ़्टवेयर
  • अतिरिक्त संसाधन

मूल बातें

सामान्य सुरक्षा सर्वोत्तम प्रथाओं को लागू करें:

  • एक खतरा मॉडल बनाएं

    • क्या आपका प्रतिद्वंद्वी स्थानीय छिपकर सुनने वाला, सामान्य मैलवेयर का उपयोग करने वाला अपराधी, या अच्छी तरह से वित्तपोषित और अत्यधिक सक्षम संगठन है?
    • उन खतरों या समूहों को परिभाषित करें जिनके विरुद्ध आप बचाव कर रहे हैं और वे यथार्थवादी रूप से क्या कर सकते हैं।
  • सिस्टम और सॉफ़्टवेयर को अद्यतन रखें

    • ऑपरेटिंग सिस्टम और सभी एप्लिकेशनों के लिए उपलब्ध अपडेट नियमित रूप से स्थापित करें।
    • अपडेट सिस्टम सेटिंग्स या softwareupdate कमांड-लाइन उपयोगिता से स्थापित किए जाते हैं। दोनों के लिए Apple खाते की आवश्यकता नहीं होती है।
    • Apple security-announce मेलिंग सूची की सदस्यता लें या Apple सुरक्षा रिलीज़ देखें।
  • संवेदनशील डेटा एन्क्रिप्ट करें

    • आंतरिक स्टोरेज को एन्क्रिप्ट करने के लिए FileVault सक्षम करें।
    • खाता क्रेडेंशियल के लिए पासवर्ड मैनेजर का उपयोग करें और विशेष रूप से संवेदनशील फ़ाइलों को अलग से एन्क्रिप्ट करने पर विचार करें।
  • डेटा उपलब्धता सुनिश्चित करें

    • गंभीर डेटा का नियमित बैकअप बनाएं और समझौते की स्थिति में बैकअप से पुनर्स्थापित करने के लिए तैयार रहें।
    • उन्हें बाहरी मीडिया या तृतीय-पक्ष क्लाउड स्टोरेज में कॉपी करने से पहले बैकअप एन्क्रिप्ट करें। वैकल्पिक रूप से, एक बैकअप सेवा का उपयोग करें जो एंड-टू-एंड एन्क्रिप्शन प्रदान करती है।
    • नियमित, निर्धारित आधार पर उन तक पहुँच कर बैकअप सत्यापित करें।
  • सावधानी से क्लिक करें

    • अंततः, किसी सिस्टम की सुरक्षा उसके व्यवस्थापक की क्षमताओं और आदतों पर निर्भर करती है।

खतरा मॉडल

सार्थक रूप से सुरक्षा और गोपनीयता सुधारने के लिए सबसे महत्वपूर्ण कदम एक खतरा मॉडल बनाना है: यह एक सामान्य विवरण है कि आप क्या सुरक्षित रखना चाहते हैं, कौन इसे एक्सेस करने का प्रयास कर सकता है, वे ऐसा कैसे कर सकते हैं, और कौन से नियंत्रण उपयोगिता व्यापार-नापसंद के लायक हैं। यह संभावित प्रतिद्वंद्वियों और उनकी प्रेरणाओं की समझ पैदा करता है, जो मजबूत बचाव की ओर ले जाता है।

संपत्तियाँ

संपत्तियों में फोन, लैपटॉप, क्रेडेंशियल और व्यक्तिगत जानकारी जैसे ब्राउज़िंग इतिहास शामिल हो सकते हैं।

उन्हें महत्व के क्रम में सूचीबद्ध करें, उनसे शुरू करें जिनकी रक्षा करना सबसे अधिक मूल्यवान है।

प्रतिद्वंद्वी

परिभाषित करें कि आप किसके विरुद्ध बचाव कर रहे हैं। प्रत्येक प्रतिद्वंद्वी की प्रेरणा को परिभाषित करके शुरू करें जो महत्वपूर्ण संपत्तियों पर हमला करने के लिए हो सकती है। उदाहरण के लिए, वित्तीय लाभ कई हमलावरों के लिए एक बड़ी प्रेरणा है।

क्षमताएँ

प्रत्येक प्रतिद्वंद्वी के लिए, वे क्या कर सकते हैं और क्या नहीं, उन्हें कम से कम से सबसे अधिक सक्षम क्रम में सूचीबद्ध करें। उदाहरण के लिए, एक सामान्य चोर अवसरवादी रूप से काम करता है: उसे संभवतः बुनियादी नियंत्रणों से हराया जा सकता है, जैसे स्क्रीन लॉक और मजबूत पासवर्ड के साथ एन्क्रिप्टेड स्टोरेज। एक अधिक परिष्कृत और दृढ़ प्रतिद्वंद्वी को उपयोग में न होने पर क्रेडेंशियल को मेमोरी से साफ करने के लिए डिवाइस को पूरी तरह से बंद करने और मजबूत प्रमाणीकरण तंत्र की आवश्यकता हो सकती है।

शमन

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

सुरक्षा उपयोगिता के साथ संतुलित होनी चाहिए: प्रत्येक शमन को किसी भी असुविधा को उचित ठहराने के लिए कुछ प्रतिद्वंद्वी क्षमता का मुकाबला करना चाहिए। जब शेष जोखिम किसी स्थिति के लिए स्वीकार्य हों तो बचाव जोड़ना बंद करें। जब डिवाइस, डेटा, यात्रा, कार्य या प्रतिद्वंद्वी बदलते हैं तो मॉडल पर पुनर्विचार करें।

उदाहरण मॉडल

निम्न तालिका एक सरल खतरा मॉडल का उदाहरण है:

खतरा मॉडलिंग के बारे में और पढ़ें।

हार्डवेयर

Apple silicon हार्डवेयर हार्डवेयर-आधारित सुरक्षा सुविधाएँ प्रदान करता है, जिसमें Secure Enclave-आधारित कुंजी सुरक्षा और मजबूत बूट सुरक्षा विकल्प शामिल हैं। वे आम तौर पर इस मार्गदर्शिका में चर्चा की गई सुरक्षाओं के लिए पसंदीदा प्लेटफ़ॉर्म हैं।

कुछ Intel-आधारित Mac, विशेष रूप से कमजोर T2-युग हार्डवेयर वाले मॉडल, हार्डवेयर कमजोरियों से प्रभावित होते हैं जिन्हें macOS अपडेट द्वारा पूरी तरह से ठीक नहीं किया जा सकता है।

गैर-Apple हार्डवेयर पर macOS चलाने वाले और नवीनतम macOS रिलीज़ का समर्थन न करने वाले सिस्टम से बचें, क्योंकि Apple पुराने संस्करणों में सभी कमजोरियों को पैच नहीं करता।

Apple एक्सेसरीज़ को आम तौर पर macOS के माध्यम से फर्मवेयर अपडेट मिलते हैं और वे वर्तमान ब्लूटूथ सुरक्षा सुविधाओं का समर्थन करते हैं। उदाहरण के लिए, ब्लूटूथ लो एनर्जी (BLE) प्राइवेसी ट्रैकिंग को कम करने के लिए घूमने वाले डिवाइस पते का उपयोग करती है; तृतीय-पक्ष एक्सेसरीज़ इस सुविधा का समर्थन नहीं कर सकती हैं।

macOS स्थापित करना

macOS स्थापित करने के कई तरीके हैं।

नवीनतम समर्थित macOS संस्करण स्थापित करें; macOS के नए संस्करणों में सुरक्षा सुधार और अन्य सुधार शामिल हैं जो पिछले रिलीज़ में उपलब्ध नहीं हैं।

सिस्टम सक्रियण

स्थापना के दौरान, Apple silicon Macs यह पुष्टि करने के लिए Apple सक्रियण सेवा से संपर्क करते हैं कि डिवाइस खोया या चोरी हुआ नहीं बताया गया है। यह प्रक्रिया कैसे काम करती है पढ़ें।

Apple खाता

एक Apple खाता बुनियादी macOS उपयोग के लिए वैकल्पिक है, लेकिन App Store और कई Apple सेवाओं के लिए आवश्यक है। सुविधाओं को सक्षम करने से पहले डेटा गोपनीयता सेटिंग्स की समीक्षा करें।

iCloud के लिए एंड-टू-एंड एन्क्रिप्शन सक्षम करें और Apple खाता डेटा की समीक्षा करें।

App Store

App Store एक सॉफ़्टवेयर वितरण प्लेटफ़ॉर्म है जहाँ एप्लिकेशनों की Apple द्वारा समीक्षा की जाती है।

App Store एप्लिकेशनों को App सैंडबॉक्स और हार्डनड रनटाइम (सुरक्षा सुविधाएँ जो ऐप्स क्या कर सकते हैं, उसे प्रतिबंधित करती हैं, कुछ हमलों को कठिन बनाती हैं) का उपयोग करना आवश्यक है। यह स्वचालित सॉफ़्टवेयर अपडेट भी प्रदान करता है।

App Store का उपयोग करने के लिए Apple खाते की आवश्यकता होती है, जो गोपनीयता जोखिम पैदा कर सकता है।

वर्चुअलाइज़ेशन

वर्चुअलाइज़ेशन एक अन्य ऑपरेटिंग सिस्टम को पृथक वर्चुअल मशीन में चलाने में सक्षम बनाता है। Apple silicon पर, macOS समर्थित macOS गेस्ट और Windows 11 for ARM निम्नलिखित जैसे ऐप्स का उपयोग करके चला सकता है:

  • UTM - macOS और अन्य वर्चुअल मशीन बनाने के लिए दस्तावेज़ीकरण का पालन करें।
  • VirtualBuddy - Apple silicon पर macOS 12+ को वर्चुअलाइज़ करने के लिए एप्लिकेशन।
  • Bushel - एक हल्का, मुफ्त ऐप। पहले लॉन्च पर, "Ask App Not to Track" चुनें।
  • VMware Fusion - अब Broadcom के अंतर्गत मुफ्त। स्वच्छ UI, आसान macOS सेटअप, और Windows 11 ARM का समर्थन करता है।
  • tart (CLI) - Homebrew के साथ स्थापित कमांड-लाइन एप्लिकेशन।
  • Parallels - मजबूत एकीकरण के साथ भुगतान विकल्प।

[!WARNING] VMware को डाउनलोड से पहले Broadcom खाते और समझौतों की स्वीकृति की आवश्यकता होती है। Parallels को खाता, भुगतान विवरण और अन्य डेटा की आवश्यकता होती है - गोपनीयता सूचना देखें।

Apple कंटेनर

Apple Container macOS पर Linux कंटेनर चलाने के लिए एक कमांड-लाइन टूल है। उन कंटेनर रनटाइम के विपरीत जो एक एकल Linux वर्चुअल मशीन साझा करते हैं, Apple Container प्रत्येक कंटेनर को macOS वर्चुअलाइज़ेशन क्षमताओं का उपयोग करके एक पृथक, हल्के वर्चुअल मशीन में चलाता है। यह वर्कलोड और होस्ट ऑपरेटिंग सिस्टम के बीच अधिक मजबूत अलगाव सीमा प्रदान करता है।

पहला बूट

जब macOS पहली बार प्रारंभ होता है, तो Setup Assistant को एक प्राथमिक खाता बनाने की आवश्यकता होती है।

एक लंबा और अद्वितीय पासवर्ड सेट करें। पासवर्ड संकेत फ़ील्ड को खाली छोड़ दें।

व्यक्तिगत रूप से पहचाने जाने योग्य नामों से बचें: कंप्यूटर का नाम (जैसे "John Appleseed's MacBook") स्थानीय नेटवर्क पर प्रसारित होता है और अन्य डिवाइसों को दिखाई देता है।

सिस्टम नाम को सिस्टम सेटिंग्स > अबाउट या scutil कमांड से कॉन्फ़िगर किया जा सकता है:```bash sudo scutil --set ComputerName MacBook sudo scutil --set HostName MacBook sudo scutil --set LocalHostName MacBook

root@kitploit:~
# व्यवस्थापक और उपयोगकर्ता खाते

सबसे पहले बनाया गया खाता एक व्यवस्थापक खाता होता है। व्यवस्थापक सिस्टम-व्यापी सेटिंग्स बदल सकते हैं और [sudo](https://en.wikipedia.org/wiki/Sudo) के साथ कमांड चला सकते हैं, जो अस्थायी रूप से उन्नत विशेषाधिकार प्रदान करता है। व्यवस्थापक द्वारा चलाया गया कोई भी प्रोग्राम समान पहुँच प्राप्त कर सकता है; sudo में [कमजोरियाँ](https://bogner.sh/2014/03/another-mac-os-x-sudo-password-bypass/) भी हो सकती हैं।

नियमित, दैनिक कार्य के लिए एक समर्पित मानक खाते का उपयोग करना और सॉफ़्टवेयर एवं सिस्टम इंस्टॉलेशन, कॉन्फ़िगरेशन और अपडेट के लिए केवल व्यवस्थापक खाते का उपयोग करना एक [सर्वोत्तम अभ्यास](https://help.apple.com/machelp/mac/10.12/index.html#/mh11389) माना जाता है।

macOS लॉगिन स्क्रीन के माध्यम से व्यवस्थापक खाते में कभी भी लॉग इन करना आवश्यक नहीं है। जब कोई टर्मिनल कमांड व्यवस्थापक विशेषाधिकारों की माँग करता है, तो सिस्टम प्रमाणीकरण के लिए संकेत देगा और टर्मिनल उन विशेषाधिकारों का उपयोग करता रहेगा। इसके लिए, Apple व्यवस्थापक खाते और उसकी होम डायरेक्टरी को छिपाने के लिए [सिफारिशें](https://support.apple.com/102099) प्रदान करता है।

## सावधानियाँ

- केवल व्यवस्थापक ही सिस्टम-व्यापी `/Applications` निर्देशिका में एप्लिकेशन इंस्टॉल कर सकते हैं। जब अनुमोदन की आवश्यकता होती है, तो Finder और Installer एक मानक उपयोगकर्ता से व्यवस्थापक की साख दर्ज करने के लिए कहते हैं। कुछ एप्लिकेशन इसके बजाय `~/Applications` में इंस्टॉल किए जा सकते हैं; जिन एप्लिकेशनों को व्यवस्थापक पहुँच की आवश्यकता नहीं होती, उन्हें उपयोगकर्ता निर्देशिका में इंस्टॉल किया जाना चाहिए। App Store एप्लिकेशन अभी भी `/Applications` में इंस्टॉल होते हैं और उन्हें अतिरिक्त प्रमाणीकरण की आवश्यकता नहीं होती।
- एक मानक उपयोगकर्ता आमतौर पर `sudo` का उपयोग करने के लिए अधिकृत नहीं होता है। जब व्यवस्थापक विशेषाधिकारों की आवश्यकता होती है, तो macOS व्यवस्थापक की साख के लिए संकेत देता है, या कार्य को व्यवस्थापक खाते से चलाया जा सकता है।
- सिस्टम सेटिंग्स और कई सिस्टम उपयोगिताओं (जैसे, Wi-Fi Diagnostics) को पूर्ण कार्यक्षमता के लिए व्यवस्थापक अनुमति की आवश्यकता होती है। कुछ सिस्टम सेटिंग्स को लॉक आइकन चुनकर अनलॉक करने की आवश्यकता होती है। कुछ एप्लिकेशन खोलने पर बस प्रमाणीकरण के लिए संकेत देंगे, अन्य को सभी कार्यों तक पहुँचने के लिए सीधे व्यवस्थापक खाते से खोला जाना चाहिए (जैसे, Console)।
- कुछ तृतीय-पक्ष एप्लिकेशन मान लेते हैं कि वर्तमान उपयोगकर्ता एक व्यवस्थापक है और वे मानक खाते से काम नहीं करेंगे।
- अतिरिक्त विचारों के लिए [issue 167](https://github.com/drduh/macOS-Security-and-Privacy-Guide/issues/167) देखें।

## सेटअप

खाते सिस्टम सेटिंग्स में बनाए और प्रबंधित किए जा सकते हैं। मौजूदा सिस्टम पर, आम तौर पर दूसरा व्यवस्थापक खाता बनाना और फिर मूल खाते को व्यवस्थापक खाते से मानक खाते में बदलना आसान होता है। नए इंस्टॉल किए गए सिस्टम को इसके बजाय सेटअप के बाद एक मानक खाता जोड़ना चाहिए।

किसी खाते को पदावनत करना सिस्टम सेटिंग्स में नए व्यवस्थापक खाते से किया जा सकता है।

macOS समूह सदस्यता कैसे निर्धारित करता है, इसके बारे में अधिक जानकारी के लिए [यह पोस्ट](https://superuser.com/a/395738) भी देखें।

# फ़र्मवेयर

सिस्टम के साथ छेड़छाड़ को रोकने के लिए सत्यापित करें कि फ़र्मवेयर सुरक्षा [Full Security](https://support.apple.com/guide/mac-help/mchl768f7291/mac) पर सेट है। यह डिफ़ॉल्ट सेटिंग है।

# FileVault

Apple silicon Macs डिफ़ॉल्ट रूप से हार्डवेयर-समर्थित स्टोरेज एन्क्रिप्शन का उपयोग करते हैं। [FileVault](https://support.apple.com/guide/mac-help/protect-data-on-your-mac-with-filevault-mh11785/mac) अतिरिक्त रूप से रीस्टार्ट के बाद स्टार्टअप वॉल्यूम को अनलॉक करने के लिए एक अधिकृत उपयोगकर्ता के पासवर्ड की आवश्यकता होती है।

Apple silicon पर, FileVault प्रमाणीकरण [फ़र्मवेयर](https://support.apple.com/102384) की भी सुरक्षा करता है, जो निर्धारित स्टार्टअप डिस्क के अलावा किसी और चीज़ से बूटिंग, [Recovery](https://support.apple.com/guide/mac-help/macos-recovery-a-mac-apple-silicon-mchl82829c17/15.0/mac/15.0#mchl5abfbb29) तक पहुँच, और डिवाइस फ़र्मवेयर अपडेट (DFU) मोड के साथ इसे [पुनर्जीवित करने](https://support.apple.com/108900) से रोकता है।

FileVault एक रिकवरी कुंजी सेट करने के लिए संकेत देगा, जिसे उपयोग किए जाने पर सुरक्षित स्थान पर संग्रहीत किया जाना चाहिए। FileVault रिकवरी के लिए iCloud का उपयोग करने का विकल्प भी प्रदान करता है।

FileVault स्थिति की पुष्टि करें:```bash
fdesetup status

लॉकडाउन मोड

लॉकडाउन मोड उन सिस्टम और ऐप सुविधाओं को अक्षम करके हमले की सतह को काफी हद तक कम कर देता है जिनका उपयोग अक्सर परिष्कृत हमलों में किया जाता है।

जब लॉकडाउन मोड सक्षम होता है, तो Safari में विश्वसनीय वेबसाइटों को प्रतिबंधों से बाहर करने का विकल्प होता है।

फ़ायरवॉल

macOS के लिए कई प्रकार के फ़ायरवॉल उपलब्ध हैं।

[!NOTE] यदि मैलवेयर को व्यवस्थापक नियंत्रण मिल जाता है, तो वह फ़ायरवॉल नीतियों को अक्षम या बायपास कर सकता है; पूर्ण सिस्टम समझौते से सुरक्षा के लिए स्थानीय फ़ायरवॉल पर मजबूत सुरक्षा के रूप में भरोसा न करें।

ऐप्लिकेशन लेयर फ़ायरवॉल

अंतर्निहित फ़ायरवॉल बुनियादी सुरक्षा प्रदान करता है और केवल आने वाले कनेक्शनों को ब्लॉक करता है। यह न तो बाहर जाने वाले कनेक्शनों की निगरानी कर सकता है और न ही उन्हें ब्लॉक कर सकता है।

इसे सिस्टम सेटिंग्स में नेटवर्क के फ़ायरवॉल टैब द्वारा नियंत्रित किया जा सकता है, या निम्न कमांड द्वारा:```bash sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on

root@kitploit:~
### स्टील्थ मोड

हमलावर अक्सर उन सिस्टमों की पहचान करने के लिए नेटवर्क स्कैन करते हैं जिन्हें लक्षित किया जा सके। जब [स्टील्थ मोड](https://support.apple.com/guide/mac-help/use-stealth-mode-to-keep-your-mac-more-secure-mh17133/mac) सक्षम होता है, तो बंद पोर्टों से कनेक्शन के प्रयासों का कोई जवाब नहीं भेजा जाता है, जिससे सिस्टम का पता लगाना अधिक कठिन हो जाता है।

स्टील्थ मोड सक्षम करें:```bash
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on

हस्ताक्षरित ऐप्स

डिफ़ॉल्ट रूप से, फ़ायरवॉल Apple या किसी पहचाने गए डेवलपर द्वारा हस्ताक्षरित सॉफ़्टवेयर के लिए आने वाले कनेक्शन की अनुमति देता है। इन नियमों को अक्षम करने पर macOS किसी एप्लिकेशन को आने वाले कनेक्शन स्वीकार करने की अनुमति देने से पहले पूछता है:```bash sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setallowsigned off sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setallowsignedapp off

root@kitploit:~
### फ़ायरवॉल रीलोड करें

`socketfilterfw` के साथ सेटिंग्स बदलने के बाद, नई कॉन्फ़िगरेशन लागू करने के लिए फ़ायरवॉल सेवा को रीलोड करें:```bash
sudo pkill -HUP socketfilterfw

स्थिति प्राप्त करें

फ़ायरवॉल स्थिति की पुष्टि करें:```bash for firewallFlag in
--getglobalstate
--getblockall
--getallowsigned
--getstealthmode
--listapps do /usr/libexec/ApplicationFirewall/socketfilterfw "$firewallFlag" done

root@kitploit:~
या [system profiler](https://ss64.com/mac/system_profiler.html) का उपयोग करके:```bash
system_profiler SPFirewallDataType

AirDrop

एप्लिकेशन लेयर फ़ायरवॉल को सक्षम करना और बिल्ट-इन सॉफ़्टवेयर के लिए इनकमिंग कनेक्शन अक्षम करना AirDrop के कार्य करने से रोकता है। AirDrop के काम करने के लिए, sharingd और rapportd फ़ायरवॉल अपवाद दें:```bash sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/libexec/rapportd sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/libexec/sharingd sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /usr/libexec/rapportd sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /usr/libexec/sharingd

root@kitploit:~
## तृतीय-पक्ष फ़ायरवॉल

जैसे कि [Little Snitch](https://www.obdev.at/products/littlesnitch/index.html), [Radio Silence](https://radiosilenceapp.com/), और [LuLu](https://objective-see.com/products/lulu.html) जैसे अनुप्रयोग उपयोगिता और सुरक्षा के बीच संतुलन प्रदान करते हैं।

ये प्रोग्राम आने वाले और जाने वाले दोनों कनेक्शनों की निगरानी और अवरोधन करने में सक्षम हैं। हालाँकि, उन्हें एक क्लोज्ड-सोर्स [सिस्टम एक्सटेंशन](https://support.apple.com/HT210999) की आवश्यकता हो सकती है।

यदि बार-बार अनुमति-या-अवरोध संकेत भारी पड़ते हैं, तो कनेक्शनों को अस्थायी रूप से अनुमति दें और साथ ही उन्हें रिकॉर्ड करें ([Silent Allow mode](https://help.obdev.at/littlesnitch6/concepts-opmodes) Little Snitch में)। कॉन्फ़िगरेशन की समीक्षा करके नेटवर्क गतिविधि को समझें और नियंत्रित करें।

## पैकेट फ़िल्टर

macOS में [pf](https://en.wikipedia.org/wiki/PF_(firewall)) भी शामिल है, जो कमांड लाइन से कॉन्फ़िगर किया जाने वाला एक पैकेट-फ़िल्टरिंग फ़ायरवॉल है। यह शक्तिशाली है, लेकिन अंतर्निहित एप्लिकेशन फ़ायरवॉल की तुलना में काफी अधिक जटिल है।

pf को [Murus](https://www.murusfirewall.com/) जैसे ग्राफ़िकल एप्लिकेशन से भी नियंत्रित किया जा सकता है।

कई [पुस्तकें](https://nostarch.com/book-of-pf-4e) और [गाइड](https://www.openbsd.org/faq/pf/) pf फ़ायरवॉल को कवर करती हैं। निम्न उदाहरण दिखाता है कि बुनियादी पॉलिसी कैसे कॉन्फ़िगर करें।

### उदाहरण pf कॉन्फ़िग

निम्नलिखित नियमों को `pf.rules` नामक फ़ाइल में जोड़ें:```console
# Define interface
wifi = "en0"

# Global options
set block-policy drop
set skip on lo0
set state-policy if-bound
set ruleset-optimization basic

# Normalize
scrub in on $wifi all fragment reassemble

# Define tables
table <blocklist> persist

# Deny and log blocked traffic
block log all
block quick from no-route to any
antispoof quick for $wifi

# Enforce blocklist
block log quick on $wifi from <blocklist> to any
block log quick on $wifi from any to <blocklist>

# Allow DHCP
pass out on $wifi proto udp from any port 68 to any port 67 keep state
pass in  on $wifi proto udp from any port 67 to any port 68 keep state

# Allow outbound TCP
pass out on $wifi proto tcp from ($wifi) to any flags S/SA keep state

# Allow outbound UDP
pass out on $wifi proto udp from ($wifi) to any keep state

# Allow outbound ICMP (ping)
pass out on $wifi proto icmp from ($wifi) to any keep state

pf कॉन्फ़िगर करने का एक उन्नत उदाहरण pf/pf.rules में उपलब्ध है।

फ़ायरवॉल कमांड्स

फ़ायरवॉल नियंत्रित करने के लिए:

कमांडकार्य
sudo pfctl -e -f pf.rulesकॉन्फ़िगरेशन फ़ाइल के साथ फ़ायरवॉल सक्षम करें
sudo pfctl -t blocklist -T add 1.2.3.4ब्लॉकलिस्ट तालिका में IPv4 पता जोड़ें
sudo pfctl -dफ़ायरवॉल अक्षम करें

फ़ायरवॉल की निगरानी के लिए:

नेटवर्क ब्लॉक करें

pf नेटवर्क पतों की श्रेणियों को ब्लॉक कर सकता है, उदाहरण के लिए किसी संपूर्ण संगठन को। Merit RADb से स्वायत्त प्रणाली (एक एकल संगठन द्वारा संचालित एक बड़ा नेटवर्क) द्वारा उपयोग किए जा रहे नेटवर्कों की सूची पूछें, जैसे Facebook:```bash whois -h whois.radb.net '!gAS32934'

root@kitploit:~
ब्लॉकलिस्ट में लौटाई गई नेटवर्क की सूची जोड़ें:```bash
sudo pfctl -t blocklist -T add $(whois -h whois.radb.net '!gAS32934' | sed -n '2p')

पुष्टि करें कि पते जोड़े गए हैं:```console $ sudo pfctl -t blocklist -T show No ALTQ support in kernel ALTQ related functions disabled 31.13.24.0/21 31.13.64.0/24 157.240.0.0/16 ...

root@kitploit:~
पुष्टि करें कि उन पतों के लिए नेटवर्क ट्रैफ़िक अवरुद्ध है (DNS अनुरोध अभी भी काम करेंगे):```console
$ dig a +short facebook.com
157.240.2.35

$ curl --connect-timeout 5 -I https://facebook.com/
*   Trying 157.240.2.35...
* TCP_NODELAY set
* Connection timed out after 5002 milliseconds
* Closing connection 0
curl: (28) Connection timed out after 5002 milliseconds

$ sudo tcpdump -tqni pflog0 'host 157.240.2.35'
IP 192.168.1.1.62771 > 157.240.2.35.443: tcp 0
IP 192.168.1.1.62771 > 157.240.2.35.443: tcp 0
IP 192.168.1.1.62771 > 157.240.2.35.443: tcp 0

फ़ायरवॉल TCP कनेक्शन शुरू करने के लिए आवश्यक प्रारंभिक पैकेटों को गिरा देता है, इसलिए कनेक्शन टाइम आउट हो जाता है।

अधिक प्रेरणा के लिए drduh/config/scripts/pf-blocklist.sh देखें।

सेवाएं

अनेक सिस्टम और उपयोगकर्ता पृष्ठभूमि सेवाएं launchd द्वारा प्रबंधित की जाती हैं।

व्यवस्थापक खाते System Settings में सेवाओं और एक्सटेंशन को संशोधित कर सकते हैं।

किसी सेवा कॉन्फ़िगरेशन को पढ़ने के लिए:```bash defaults read /System/Library/LaunchAgents/com.apple.Finder

root@kitploit:~
> [!IMPORTANT]
> सिस्टम सेवाएँ [SIP](https://github.com/drduh/macOS-Security-and-Privacy-Guide#system-integrity-protection) द्वारा सुरक्षित हैं; सिस्टम सेवाओं को संशोधित करने के लिए SIP को अक्षम करना सुरक्षा से समझौता कर सकता है और सिस्टम अस्थिरता का कारण बन सकता है।

सेवाओं की स्थिति देखने के लिए:```bash
find /var/db/com.apple.xpc.launchd \
  -type f -print -exec defaults read {} \; 2>/dev/null

अधिक जानकारी के लिए launchd के साथ स्क्रिप्ट प्रबंधन और launchd.info देखें।

Siri सुझाव और Spotlight

Siri सुझाव और Spotlight, सक्षम सुविधाओं के आधार पर, कुछ क्वेरी या उपयोग जानकारी Apple को भेज सकते हैं। सिस्टम सेटिंग्स में, Siri और Spotlight खोजें, फिर ऑनलाइन सुझाव अक्षम करें और अनुक्रमण या सुझाव से बाहर करने के लिए श्रेणियाँ कॉन्फ़िगर करें। अधिक जानकारी के लिए Apple की खोज और गोपनीयता नीति देखें।

Homebrew

[!IMPORTANT] कुछ Homebrew स्थापना या प्रबंधन वर्कफ़्लो ऐप प्रबंधन या पूर्ण डिस्क पहुँच के लिए संकेत दे सकते हैं। इन अनुमतियों को केवल तभी दें जब वे पूरी तरह से समझी गई हों और आवश्यक हों।

सॉफ़्टवेयर अपडेट स्थापित करने के लिए समय-समय पर विश्वसनीय और सुरक्षित नेटवर्क पर brew upgrade चलाएँ। स्थापना से पहले किसी पैकेज के बारे में जानकारी प्राप्त करने के लिए, brew info <package> चलाएँ और उसका फ़ॉर्मूला ऑनलाइन देखें। अतिरिक्त सुरक्षा विकल्प सक्षम करें, जैसे HOMEBREW_NO_INSECURE_REDIRECT=1

Homebrew की अनाम एनालिटिक्स के अनुसार, Homebrew अनाम उपयोग एनालिटिक्स एकत्र करता है और उन्हें एक स्व-होस्टेड InfluxDB इंस्टेंस पर रिपोर्ट करता है।

Homebrew एनालिटिक्स से बाहर निकलने के लिए, brew analytics off चलाएँ या शेल स्टार्टअप फ़ाइल में HOMEBREW_NO_ANALYTICS=1 सेट करें।

DNS

DNS प्रोफ़ाइल

macOS में एन्क्रिप्टेड DNS, फ़िल्टरिंग और DNSSEC को कॉन्फ़िगर करने के लिए "DNS कॉन्फ़िगरेशन प्रोफ़ाइल" शामिल हैं।

DNS प्रोफ़ाइल बनाई जा सकती हैं या ऐसे प्रदाताओं से प्राप्त की जा सकती हैं जैसे Quad9, AdGuard और NextDNS।

होस्ट्स फ़ाइल

मैलवेयर, विज्ञापन और अन्य अवांछित सेवाओं से जुड़े डोमेन को ब्लॉक करने के लिए होस्ट्स फ़ाइल का उपयोग करें।

A रिकॉर्ड द्वारा किसी डोमेन को ब्लॉक करने के लिए, निम्नलिखित पंक्तियों में से कोई एक /etc/hosts में जोड़ें:``` 0 example.com 0.0.0.0 example.com 127.0.0.1 example.com

root@kitploit:~
> [!NOTE]
> IPv6, A रिकॉर्ड के बजाय AAAA रिकॉर्ड का उपयोग करता है: `::1 example.com` प्रविष्टियाँ शामिल करके IPv6 कनेक्शनों को ब्लॉक करें।

कई डोमेन सूचियाँ ऑनलाइन उपलब्ध हैं। किसी एक सूची को `/etc/hosts` में जोड़ने से पहले, सुनिश्चित करें कि प्रत्येक प्रविष्टि `0`, `0.0.0.0`, या `127.0.0.1` से शुरू होती है, और `127.0.0.1 localhost` प्रविष्टि को बनाए रखें।

लोकप्रिय hosts सूचियों में शामिल हैं:
- [StevenBlack/hosts](https://github.com/StevenBlack/hosts)
- [Sinfonietta/hostfiles](https://github.com/Sinfonietta/hostfiles)
- [someonewhocares.org](https://someonewhocares.org/hosts/zero/hosts)

होस्ट्स फ़ाइल में एक सूची डाउनलोड करने और जोड़ने के लिए, [tee](https://man7.org/linux/man-pages/man1/tee.1.html) कमांड का उपयोग करें:```bash
curl https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts |
  sudo tee -a /etc/hosts

Little Snitch भी blocklists का समर्थन करता है।

DNSCrypt

DNS ट्रैफ़िक को एन्क्रिप्ट करने के लिए, DNSCrypt/dnscrypt-proxy पर विचार करें। जब किसी विश्वसनीय रिज़ॉल्वर के साथ कॉन्फ़िगर किया जाता है, तो DNSCrypt DNS क्वेरीज़ को एन्क्रिप्ट करता है। DNSSEC, जहाँ समर्थित है, हस्ताक्षरित DNS प्रतिक्रियाओं को अतिरिक्त रूप से मान्य कर सकता है।

DNSCrypt को Homebrew से इंस्टॉल करें और dnscrypt-proxy को कॉन्फ़िगर करने तथा शुरू करने के निर्देशों का पालन करें:```bash brew install dnscrypt-proxy

root@kitploit:~
जब DNSCrypt का उपयोग Dnsmasq के साथ कर रहे हों, तो DNSCrypt कॉन्फ़िगरेशन फ़ाइल को निम्न आदेश चलाकर खोजें:```bash
brew info dnscrypt-proxy | grep dnscrypt-proxy.toml | head -1

यह कमांड /opt/homebrew/etc/dnscrypt-proxy.toml जैसा पथ प्रदर्शित करना चाहिए।

डिफ़ॉल्ट रूप से, dnscrypt-proxy 127.0.0.1:53 पर सुनता है और क्वेरीज़ को एक या अधिक कॉन्फ़िगर किए गए DNS प्रदाताओं को भेजता है। कॉन्फ़िगरेशन को संशोधित करें और listen_addresses को बदलकर 53 के अलावा कोई अन्य पोर्ट उपयोग करें, जैसे कि 5355:```toml listen_addresses = ['127.0.0.1:5355', '[::1]:5355']

root@kitploit:~
DNSCrypt प्रारंभ करें:```bash
sudo brew services restart dnscrypt-proxy

पुष्टि करें कि DNSCrypt चल रहा है:```console $ sudo lsof +c 15 -Pni UDP:5355 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dnscrypt-proxy 15244 nobody 7u IPv4 0x1337f85ff9f8beef 0t0 UDP 127.0.0.1:5355 dnscrypt-proxy 15244 nobody 10u IPv6 0x1337f85ff9f8beef 0t0 UDP [::1]:5355 dnscrypt-proxy 15244 nobody 12u IPv4 0x1337f85ff9f8beef 0t0 UDP 127.0.0.1:5355 dnscrypt-proxy 15244 nobody 14u IPv6 0x1337f85ff9f8beef 0t0 UDP [::1]:5355

root@kitploit:~
इसके अतिरिक्त, ये pf नियम लूपबैक इंटरफ़ेस के बाहर पोर्ट 53 पर पारंपरिक DNS ट्रैफ़िक को ब्लॉक करते हैं, ताकि [DNS लीक](https://dnsleaktest.com/) का जोखिम कम हो सके:```console
block drop quick on !lo0 proto udp from any to any port = 53
block drop quick on !lo0 proto tcp from any to any port = 53

Dnsmasq

dnsmasq उत्तरों को कैश कर सकता है, अयोग्य नामों के लिए अपस्ट्रीम क्वेरी को रोक सकता है, और संपूर्ण टॉप-लेवल डोमेन को ब्लॉक कर सकता है।

DNS ट्रैफ़िक को एन्क्रिप्ट करने के लिए इसे DNSCrypt के साथ संयोजन में उपयोग करें।

यदि आप DNSCrypt का उपयोग नहीं करते हैं, तो कम से कम ISP द्वारा प्रदान किए गए DNS रिज़ॉल्वर के अलावा कोई अन्य DNS रिज़ॉल्वर चुनें। दो लोकप्रिय विकल्प हैं Google DNS और OpenDNS।

Dnsmasq इंस्टॉल करें:```bash brew install dnsmasq

root@kitploit:~
डाउनलोड करें और [drduh/config/dnsmasq.conf](https://github.com/drduh/config/blob/main/dnsmasq.conf) या डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल को संपादित करें।

विशिष्ट गंतव्यों को ब्लॉक करने के लिए जोड़ी जा सकने वाली उदाहरण डोमेन सूचियों के लिए [drduh/config/domains](https://github.com/drduh/config/tree/main/domains) देखें।

प्रोग्राम इंस्टॉल करें और प्रारंभ करें ([विशेषाधिकार प्राप्त पोर्ट](https://unix.stackexchange.com/questions/16564/why-are-the-first-1024-ports-restricted-to-the-root-user-only) 53 से बाइंड करने के लिए sudo आवश्यक है):```bash
sudo brew services start dnsmasq

dnsmasq को स्थानीय DNS सर्वर के रूप में सेट करने के लिए, System Settings > Network खोलें और वर्तमान में उपयोग होने वाले नेटवर्क कनेक्शन (जैसे Wi-Fi) का चयन करें, फिर DNS टैब खोलें, + चुनें, और 127.0.0.1 जोड़ें, या उपयोग करें:```bash sudo networksetup -setdnsservers "Wi-Fi" 127.0.0.1

root@kitploit:~
पुष्टि करें कि Dnsmasq कॉन्फ़िगर किया गया है:```console
$ scutil --dns | head
DNS configuration

resolver #1
  search domain[0] : whatever
  nameserver[0] : 127.0.0.1
  flags    : Request A records, Request AAAA records
  reach    : 0x00030002 (Reachable,Local Address,Directly Reachable Address)

$ networksetup -getdnsservers "Wi-Fi"
127.0.0.1

[!NOTE] कुछ VPN एप्लिकेशन कनेक्ट होने पर DNS सेटिंग्स को ओवरराइड कर देते हैं। समस्या 24 और drduh/config/scripts/macos-dns.sh देखें।

सर्टिफिकेट प्राधिकरण

macOS में विश्व भर के निगमों, सरकारों और अन्य संगठनों द्वारा संचालित विश्वसनीय रूट सर्टिफिकेट प्राधिकरणों (CAs) का एक सेट शामिल है। कोई विश्वसनीय CA ऐसे प्रमाणपत्र जारी कर सकता है जिन्हें macOS और ब्राउज़र HTTPS कनेक्शन के लिए स्वीकार कर सकते हैं, जिससे रूट CA स्टोर सिस्टम की विश्वास सीमा का एक महत्वपूर्ण हिस्सा बन जाता है।

Apple-प्रदत्त विश्वसनीय रूट स्टोर को समझने के लिए System Roots का निरीक्षण करें, जिसमें Keychain Access या security कमांड-लाइन टूल और /System/Library/Keychains/SystemRootCertificates.keychain फ़ाइल का उपयोग करें। Keychain Access को निम्न कमांड के साथ भी लॉन्च किया जा सकता है:```bash open "/System/Library/CoreServices/Applications/Keychain Access.app"

root@kitploit:~
किसी उपयोगकर्ता, प्रशासक, VPN क्लाइंट, सुरक्षा उत्पाद, या मोबाइल डिवाइस प्रबंधन एप्लिकेशन द्वारा **login**, **Local Items**, और **System** कीचेन में जोड़े गए किसी भी प्रमाणपत्र की समीक्षा भी करें।

किसी चयनित प्रमाणपत्र को अक्षम करने के लिए, उसकी Trust सेटिंग को **Never Trust** में बदलें और पुष्टि करने के लिए विंडो बंद करें। ऐसा करने से [MITM](https://wikipedia.org/wiki/Man-in-the-middle_attack) हमलों का जोखिम कम हो सकता है, जिसमें एक धोखाधड़ी वाला प्रमाणपत्र एन्क्रिप्टेड ट्रैफ़िक को [चुपचाप इंटरसेप्ट](https://en.wikipedia.org/wiki/DigiNotar#Issuance_of_fraudulent_certificates) करने के लिए उपयोग किया जाता है।

> [!WARNING]
> प्रमाणपत्र प्राधिकरण ट्रस्ट सेटिंग्स को हटाने या संशोधित करने से वेबसाइटें, सॉफ़्टवेयर अपडेट, एंटरप्राइज़ नेटवर्क, VPN, कैप्टिव पोर्टल और अन्य सेवाएँ टूट सकती हैं।

वर्तमान ट्रस्ट-स्टोर जानकारी के लिए Apple के [उपलब्ध भरोसेमंद प्रमाणपत्र](https://support.apple.com/103723) और [अवरुद्ध प्रमाणपत्र](https://support.apple.com/103247#blocked) सूचियाँ देखें।

# Privoxy

वेब ट्रैफ़िक को फ़िल्टर करने के लिए एक स्थानीय प्रॉक्सी के रूप में [Privoxy](https://www.privoxy.org/) का उपयोग करने पर विचार करें।

Homebrew का उपयोग करके Privoxy इंस्टॉल और प्रारंभ करें:```bash
brew install privoxy
brew services start privoxy

वैकल्पिक रूप से, Privoxy के लिए एक हस्ताक्षरित इंस्टॉलेशन पैकेज उनकी वेबसाइट या Sourceforge से उपलब्ध है। हस्ताक्षरित पैकेज Homebrew संस्करण की तुलना में अधिक सुरक्षित है और Privoxy प्रोजेक्ट से समर्थन प्राप्त करता है।

डिफ़ॉल्ट रूप से, Privoxy स्थानीय TCP पोर्ट 8118 पर सुनता है।

सक्रिय नेटवर्क इंटरफ़ेस के लिए सिस्टम HTTP प्रॉक्सी को 127.0.0.1 और पोर्ट 8118 पर सेट करें:```bash sudo networksetup -setwebproxy "Wi-Fi" 127.0.0.1 8118

root@kitploit:~
सिस्टम **HTTPS** प्रॉक्सी सेट करें:```bash
sudo networksetup -setsecurewebproxy "Wi-Fi" 127.0.0.1 8118

प्रॉक्सी को System Settings > Network > Details > Proxies में भी सेट किया जा सकता है।

पुष्टि करें कि प्रॉक्सी सेट है:```console $ scutil --proxy { ExceptionsList : { 0 : *.local 1 : 169.254/16 } FTPPassive : 1 HTTPEnable : 1 HTTPPort : 8118 HTTPProxy : 127.0.0.1 HTTPSEnable : 1 HTTPSPort : 8118 HTTPSProxy : 127.0.0.1 }

root@kitploit:~
हालाँकि अधिकांश वेब ट्रैफ़िक एन्क्रिप्टेड होता है, Privoxy होस्टनाम के आधार पर अनुरोधों को फ़िल्टर कर सकता है। उदाहरण के लिए, निम्नलिखित नियम .net, github.com और Apple डोमेन को छोड़कर सभी ट्रैफ़िक को ब्लॉक करते हैं:```console
{ +block{all} }
.

{ -block }
.apple.
.github.com
.net

फेसबुक डोमेन को ब्लॉक करने के लिए:```console { +block{facebook} } .cdninstagram. .facebook*. .fb. .fbcdn*. .fbinfra. .fbsbx. .fbstatic*. .fbsv. .fburl. .instagr.am .tfbnw. .thefacebook. fb*.akamaihd.net

root@kitploit:~
अतिरिक्त Privoxy उदाहरणों के लिए [drduh/config/privoxy/config](https://github.com/drduh/config/blob/main/privoxy/config) और [drduh/config/privoxy/user.action](https://github.com/drduh/config/blob/main/privoxy/user.action) देखें। फ़िल्टर नियमों को संपादित करने के बाद Privoxy को पुनः आरंभ करने की **आवश्यकता नहीं** है।

यह सत्यापित करने के लिए कि ट्रैफ़िक अवरुद्ध या पुनर्निर्देशित है, [curl](https://en.wikipedia.org/wiki/CURL) का उपयोग करें या ब्राउज़र में <http://p.p> पर Privoxy इंटरफ़ेस खोलें:```console
$ ALL_PROXY=127.0.0.1:8118 curl example.com -IL | head
HTTP/1.1 403 Request blocked by Privoxy
Content-Length: 9001
Content-Type: text/html
Cache-Control: no-cache
Pragma: no-cache

$ ALL_PROXY=127.0.0.1:8118 curl github.com -IL | head
HTTP/1.1 302 Local Redirect from Privoxy
Location: https://github.com/
Content-Length: 0

HTTP/1.1 200 Connection established

HTTP/2 200
content-type: text/html; charset=utf-8

[!NOTE] ऐप्लिकेशन और सेवाएँ प्रॉक्सी सेटिंग्स को अनदेखा कर सकती हैं। pf प्रत्येक ऐप्लिकेशन को अलग से कॉन्फ़िगर किए बिना ट्रैफ़िक को प्रॉक्सी के माध्यम से पुनर्निर्देशित कर सकता है।

ब्राउज़र

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

ब्राउज़र सुरक्षा की एक प्रमुख सीमा समान-उत्पत्ति नीति (SOP) है, जो एक वेबसाइट को किसी अन्य वेबसाइट का डेटा पढ़ने से रोकती है। बाईपास एक ही ब्राउज़र प्रोफ़ाइल में अन्य साइटों का डेटा या क्रियाएँ उजागर कर सकता है।

कुछ ब्राउज़र हमले उपयोगकर्ता को सॉफ़्टवेयर इंस्टॉल करने, अनुमतियाँ देने, या दुर्भावनापूर्ण एक्सटेंशन का उपयोग करने के लिए राज़ी करने पर निर्भर करते हैं। अप्रत्याशित डाउनलोड, एक्सटेंशन संकेतों और टर्मिनल में कमांड चलाने के अनुरोधों से विशेष रूप से सावधान रहें।

ब्राउज़र एक्सटेंशन भी एक महत्वपूर्ण सुरक्षा जोखिम उत्पन्न करते हैं: एक दुर्भावनापूर्ण या खराब बना एक्सटेंशन ब्राउज़र में सब कुछ से समझौता कर सकता है, जिसमें क्रेडेंशियल शामिल हैं। ब्राउज़र एक्सटेंशन का उपयोग केवल गंभीर रूप से आवश्यक एक्सटेंशन तक सीमित होना चाहिए, जो केवल विश्वसनीय डेवलपर्स द्वारा प्रकाशित हों।

विभिन्न पहचानों और उद्देश्यों के लिए अलग-अलग ब्राउज़र प्रोफ़ाइल का उपयोग करें। यदि संभव हो, तो जावास्क्रिप्ट अक्षम करें और इसे केवल ब्राउज़र साइट अनुमतियों का उपयोग करके विश्वसनीय साइटों पर अनुमति दें।

Mozilla Firefox, Google Chrome, Safari और Tor Browser लोकप्रिय ब्राउज़र हैं, प्रत्येक की अपनी अनूठी विशेषताएँ और व्यक्तिगत उद्देश्य हैं।

Firefox

Firefox ने Quantum और Photon परियोजनाओं के माध्यम से अपने कोडबेस के प्रमुख हिस्सों को आधुनिक बनाया। Quantum में कुछ घटकों को C++ से Rust में स्थानांतरित करना शामिल है, जो एक प्रोग्रामिंग भाषा है जिसे मेमोरी सुरक्षा और समवर्ती सुरक्षा में सुधार के लिए डिज़ाइन किया गया है।

Firefox Chrome के समकक्ष सुरक्षा मॉडल प्रदान करता है, जिसमें कमजोरियों के जिम्मेदार प्रकटीकरण के लिए बग बाउंटी कार्यक्रम शामिल है। Firefox चार-सप्ताह की रिलीज़ चक्र का पालन करता है।

अनुशंसित कॉन्फ़िगरेशन के लिए drduh/config/firefox.user.js और arkenfox/user.js देखें। साथ ही NoScript देखें, जो एक एक्सटेंशन है जो चुनिंदा स्क्रिप्ट ब्लॉकिंग की अनुमति देता है।

Firefox उपयोगकर्ता गोपनीयता पर केंद्रित है। यह निजी ब्राउज़िंग मोड में ट्रैकिंग सुरक्षा का समर्थन करता है। ट्रैकिंग सुरक्षा को डिफ़ॉल्ट खाते के लिए सक्षम किया जा सकता है, हालांकि यह कुछ वेबसाइटों पर ब्राउज़िंग अनुभव को तोड़ सकता है। सख्त ट्रैकिंग सुरक्षा मोड में Firefox ट्रैकिंग से बचाव के लिए फ़िंगरप्रिंट को यादृच्छिक करेगा। Firefox अलग-अलग उपयोगकर्ता प्रोफ़ाइल प्रदान करता है। ब्राउज़िंग को Multi-Account Containers के साथ भी विभाजित किया जा सकता है।

Firefox केवल WebExtension API के माध्यम से वेब एक्सटेंशन का समर्थन करता है, जो Chrome के समान ही है। Firefox में वेब एक्सटेंशन सबमिट करना मुफ़्त है। Firefox में वेब एक्सटेंशन अक्सर ओपन-सोर्स होते हैं, हालांकि कुछ वेब एक्सटेंशन मालिकाना होते हैं।

Chrome

Google Chrome ओपन-सोर्स Chromium प्रोजेक्ट पर आधारित है। Chrome में कुछ मालिकाना घटक, स्वचालित अपडेट, PDF व्यूअर, मीडिया-कोडेक समर्थन, क्रैश रिपोर्टिंग और Google खाता एकीकरण शामिल हैं। अधिक जानकारी के लिए Chrome गोपनीयता सेटिंग्स और Google गोपनीयता नीतियों की समीक्षा करें।

Chrome कई डिवाइसों के बीच खाता सिंक प्रदान करता है, जिसमें क्रेडेंशियल शामिल हैं; डेटा खाता पासवर्ड से एन्क्रिप्ट किया जाता है।

वैश्विक उपयोग में Chrome की सबसे बड़ी हिस्सेदारी है और यह अधिकांश डेवलपर्स के लिए पसंदीदा लक्ष्य प्लेटफ़ॉर्म है। प्रमुख तकनीकें Chrome के ओपन-सोर्स घटकों पर आधारित हैं, जैसे node.js जो Chrome का V8 इंजन और Electron फ्रेमवर्क उपयोग करता है, जो Chromium और node.js पर आधारित है। Chrome का विशाल उपयोगकर्ता आधार इसे हमलावरों और सुरक्षा शोधकर्ताओं के लिए सबसे आकर्षक लक्ष्य बनाता है। निरंतर हमलों के बावजूद, Chrome ने वर्षों से एक प्रभावशाली सुरक्षा रिकॉर्ड बनाए रखा है। यह कोई छोटी उपलब्धि नहीं है।

Chrome अलग प्रोफ़ाइल, मजबूत सैंडबॉक्सिंग, लगातार अपडेट प्रदान करता है, और प्रभावशाली साख रखता है। इसके अलावा, Google कमजोरियों की रिपोर्ट करने के लिए एक बहुत ही आकर्षक बाउंटी कार्यक्रम प्रदान करता है, साथ ही अपनी Project Zero टीम भी। इसका मतलब है कि बड़ी संख्या में अत्यधिक प्रतिभाशाली और प्रेरित लोग लगातार Chrome कोड का ऑडिट कर रहे हैं और उसे सुरक्षित कर रहे हैं।

ब्राउज़र सेटिंग्स में V8 ऑप्टिमाइज़ेशन (JavaScript-इंजन प्रदर्शन सुविधाएँ) अक्षम करने पर विचार करें - सुरक्षा ट्रेड-ऑफ के लिए यह स्पष्टीकरण देखें।

uBlock Origin Lite के साथ ट्रैकर ब्लॉक करें।

DNS प्रीफ़ेचिंग अक्षम करें (देखें DNS प्रीफ़ेचिंग और इसके गोपनीयता निहितार्थ)। Chrome Google के 8.8.8.8 और 8.8.4.4 सार्वजनिक नेमसर्वर का उपयोग करके DNS को हल करने का प्रयास कर सकता है।

अधिक जानकारी के लिए Chromium Security और Chromium Privacy देखें। व्यक्तिगत जानकारी कैसे एकत्र और उपयोग की जाती है, यह समझने के लिए Google की गोपनीयता नीति पढ़ें।

Safari

Safari Apple का बिल्ट-इन ब्राउज़र है और macOS के साथ एकीकृत है, जो Apple हार्डवेयर पर बैटरी दक्षता में सुधार प्रदान करता है।

Safari में ओपन-सोर्स और मालिकाना दोनों घटक हैं। Safari ओपन-सोर्स वेब इंजन WebKit पर आधारित है, जो macOS पारिस्थितिकी तंत्र में सर्वव्यापी है। WebKit का उपयोग Apple ऐप्स जैसे Mail, Books और App Store द्वारा किया जाता है। Chrome का Blink इंजन WebKit का एक फ़ोर्क है और दोनों इंजन कई समानताएँ साझा करते हैं।

Safari कुछ अनूठी विशेषताओं का समर्थन करता है जो उपयोगकर्ता की सुरक्षा और गोपनीयता को लाभ पहुँचाती हैं। Content blockers JavaScript का उपयोग किए बिना सामग्री अवरोधन नियम बनाने में सक्षम बनाते हैं। यह नियम-आधारित दृष्टिकोण मेमोरी उपयोग, सुरक्षा और गोपनीयता में काफी सुधार करता है। Safari 11 ने Intelligent Tracking Prevention पेश किया, जो ट्रैकर की वेबसाइट से उपयोगकर्ता के गैर-इंटरैक्शन की अवधि के बाद Safari में संग्रहीत ट्रैकिंग डेटा को हटा देता है। Safari ट्रैकिंग कम करने के लिए ब्राउज़र फ़िंगरप्रिंट को यादृच्छिक कर सकता है। Safari सुरक्षा और गोपनीयता कारणों से जानबूझकर WebUSB या Battery API जैसी कुछ सुविधाओं का समर्थन नहीं करता है। Safari में निजी टैब में अलग-अलग कुकीज़ और कैश होते हैं जो टैब बंद करने पर नष्ट हो जाते हैं। Safari प्रोफ़ाइल का भी समर्थन करता है जो कुकीज़ और ब्राउज़िंग को अलग करने के लिए Firefox के Multi-Account Containers के समकक्ष हैं। Safari को लॉकडाउन मोड के साथ काफी अधिक सुरक्षित बनाया जा सकता है, जिसे प्रति-साइट अक्षम किया जा सकता है। Safari में ट्रैकिंग रोकथाम के बारे में और पढ़ें।

Safari में वेब एक्सटेंशन के पास वेब एक्सटेंशन API के अलावा Safari के सैंडबॉक्स वातावरण में मूल कोड का उपयोग करने का एक अतिरिक्त विकल्प है। Safari में वेब एक्सटेंशन Apple App Store के माध्यम से भी वितरित किए जाते हैं। App Store सबमिशन के साथ अतिरिक्त लाभ यह है कि वेब एक्सटेंशन कोड की ऑडिट Apple द्वारा की जाती है। दूसरी ओर, App Store सबमिशन एक बड़ी कीमत पर आता है। वार्षिक डेवलपर सदस्यता शुल्क 100 USD है (Chrome के 5 USD शुल्क और Firefox के मुफ्त सबमिशन के विपरीत)। यह उच्च लागत अधिकांश ओपन-सोर्स डेवलपर्स के लिए निषेधात्मक है। परिणामस्वरूप, Safari में चुनने के लिए बहुत कम एक्सटेंशन हैं। हालाँकि, एक्सटेंशन इंस्टॉल करते समय उच्च लागत को ध्यान में रखें। यह अपेक्षित है कि अधिकांश वेब एक्सटेंशन में विकास लागत को कवर करने के लिए उपयोग से मुद्रीकरण करने का कोई तरीका होगा। समीक्षा के लिए उपलब्ध ओपन-सोर्स कोड के बिना वेब एक्सटेंशन से बचें।

Safari उपयोगकर्ता प्राथमिकताओं और पासवर्ड को iCloud Keychain के साथ सिंक करता है। किसी सहेजे गए पासवर्ड को देखने के लिए वर्तमान डिवाइस खाता पासवर्ड या किसी अन्य कॉन्फ़िगर की गई प्रमाणीकरण विधि के साथ प्रमाणीकरण आवश्यक है।

Safari नई वेब सुविधाओं को Chrome या Firefox की तुलना में अधिक धीरे-धीरे लागू करता है, लेकिन सुरक्षा पैच सिस्टम अपडेट के माध्यम से तुरंत वितरित किए जाते हैं।

हाइपरलिंक ऑडिटिंग बीकन अक्षम करने के लिए el1t/uBlock-Safari भी देखें।

वेब ब्राउज़र गोपनीयता

वेबसाइटें सेटिंग्स, फ़ॉन्ट, स्क्रीन आकार, भाषा, IP पता और ब्राउज़र व्यवहार से ब्राउज़र और डिवाइस के बारे में जानकारी का अनुमान लगाती हैं। यह जानकारी ब्राउज़र फ़िंगरप्रिंटिंग में योगदान करती है।

सुरक्षा-सचेत ब्राउज़िंग और ब्राउज़र द्वारा भेजे गए डेटा के बारे में अधिक जानकारी के लिए, HowTo: Privacy & Security Conscious Browsing, browserleaks.com, Am I Unique? और EFF Cover Your Tracks संसाधन देखें।

क्रॉस-साइट ट्रैकिंग कम करने के लिए, थर्ड-पार्टी कुकीज़ ब्लॉक करें।

साथ ही WebRTC के बारे में जागरूक रहें, जो स्थानीय या सार्वजनिक (यदि VPN से जुड़ा है) IP पते प्रकट कर सकता है। Firefox और Chrome/Chromium में, इस सुविधा को uBlock Origin के साथ अक्षम किया जा सकता है। लॉकडाउन मोड भी Safari में WebRTC को अक्षम करता है।

Tor

Tor एक अनामता नेटवर्क है जो ब्राउज़िंग के दौरान अतिरिक्त गोपनीयता प्रदान कर सकता है। Tor Browser एक संशोधित Firefox-आधारित ब्राउज़र है जिसे Tor नेटवर्क का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

Tor Project से Tor Browser डाउनलोड करें, सत्यापन के लिए dmg और asc दोनों फ़ाइलें:```console $ cd ~/Downloads

$ file tor-browser-macos-* tor-browser-macos-15.0.17.dmg: XZ compressed data, checksum NONE tor-browser-macos-15.0.17.dmg.asc: PGP signature Signature (old)

$ gpg --verify tor-browser-macos-*.asc [...] gpg: Can't check signature: No public key

$ gpg --auto-key-locate nodefault,wkd --locate-keys [email protected] gpg: key 0x4E2C6E8793298290: public key "Tor Browser Developers (signing key) [email protected]" imported gpg: Total number processed: 1 gpg: imported: 1 pub rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2027-07-15] Key fingerprint = EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290 uid [ unknown] Tor Browser Developers (signing key) [email protected] sub rsa4096/0x157432CF78A65729 2024-07-15 [S] [expires: 2026-10-26] Key fingerprint = CAAE 408A EBE2 288E 96FC 5D5E 1574 32CF 78A6 5729

$ gpg --verify tor-browser-macos-*.asc gpg: assuming signed data in 'tor-browser-macos-15.0.17.dmg' gpg: Signature made Sun Jun 28 15:35:20 2026 PDT gpg: using RSA key CAAE408AEBE2288E96FC5D5E157432CF78A65729 gpg: Good signature from "Tor Browser Developers (signing key) [email protected]" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290 Subkey fingerprint: CAAE 408A EBE2 288E 96FC 5D5E 1574 32CF 78A6 5729

root@kitploit:~
सुनिश्चित करें कि आउटपुट में `Good signature from "Tor Browser Developers (signing key) <[email protected]>"` दिखाई दे। चेतावनी अपेक्षित है, क्योंकि कुंजी को व्यक्तिगत रूप से सत्यापित नहीं किया गया है और किसी विश्वसनीय कुंजीरिंग में नहीं जोड़ा गया है।

अधिक जानकारी के लिए देखें [मैं Tor Browser के हस्ताक्षर को कैसे सत्यापित करूँ?](https://support.torproject.org/tbb/how-to-verify-signature/)।

Tor Browser की स्थापना पूरी करने के लिए, डिस्क इमेज खोलें और इसे Applications फ़ोल्डर में खींचें, या निम्न कमांड का उपयोग करें:```bash
hdiutil mount tor-browser-macos-15.0.17.dmg
cp -r /Volumes/Tor\ Browser/Tor\ Browser.app/ ~/Applications/

सत्यापित करें कि एप्लिकेशन The Tor Project के Apple Developer ID (MADPSAYN6T) द्वारा हस्ताक्षरित किया गया था:```console $ spctl --assess -vv ~/Applications/Tor\ Browser.app /Users/user1/Applications/Tor Browser.app: accepted source=Notarized Developer ID origin=Developer ID Application: The Tor Project, Inc (MADPSAYN6T)

$ pkgutil --check-signature ~/Applications/Tor\ Browser.app Package "Tor Browser.app": Status: signed by a certificate trusted by macOS Certificate Chain: 1. Developer ID Application: The Tor Project, Inc (MADPSAYN6T) Expires: 2028-10-11 17:57:46 +0000 SHA256 Fingerprint: 76 3C 89 02 ED CB AD 8E 59 86 1E 93 D3 05 5B 28 F9 04 0C 96 03 8B 16 28 9F 38 64 ED 53 45 B4 DA ------------------------------------------------------------------------ 2. Developer ID Certification Authority Expires: 2031-09-17 00:00:00 +0000 SHA256 Fingerprint: F1 6C D3 C5 4C 7F 83 CE A4 BF 1A 3E 6A 08 19 C8 AA A8 E4 A1 52 8F D1 44 71 5F 35 06 43 D2 DF 3A ------------------------------------------------------------------------ 3. Apple Root CA Expires: 2035-02-09 21:40:36 +0000 SHA256 Fingerprint: B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 68 C5 BE 91 B5 A1 10 01 F0 24

root@kitploit:~
`codesign` कमांड का उपयोग किसी एप्लिकेशन के कोड हस्ताक्षर की जांच करने के लिए भी किया जा सकता है:```console
$ codesign -dvv ~/Applications/Tor\ Browser.app
Executable=/Users/user1/Applications/Tor Browser.app/Contents/MacOS/firefox
Identifier=org.torproject.torbrowser
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20500 size=805 flags=0x10000(runtime) hashes=14+7 location=embedded
Signature size=9054
Authority=Developer ID Application: The Tor Project, Inc (MADPSAYN6T)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Jun 28, 2026 at 14:01:57
Notarization Ticket=stapled
Info.plist entries=27
TeamIdentifier=MADPSAYN6T
Runtime Version=15.5.0
Sealed Resources version=2 rules=13 files=208
Internal requirements count=1 size=188

किसी हस्ताक्षरित एप्लिकेशन के लिए पूर्ण प्रमाणपत्र विवरण देखने के लिए, codesign से निकालें और openssl से डिकोड करें:```console $ codesign -d --extract-certificates ~/Applications/Tor\ Browser.app Executable=/Users/user1/Applications/Tor Browser.app/Contents/MacOS/firefox

$ file codesign* codesign0: Certificate, Version=3 codesign1: Certificate, Version=3 codesign2: Certificate, Version=3 Certificate, Version=02

$ openssl x509 -inform der -in codesign0 -subject -issuer -startdate -enddate -noout subject= /UID=MADPSAYN6T/CN=Developer ID Application: The Tor Project, Inc (MADPSAYN6T)/OU=MADPSAYN6T/O=The Tor Project, Inc/C=US issuer= /CN=Developer ID Certification Authority/OU=G2/O=Apple Inc./C=US notBefore=Oct 11 17:57:47 2023 GMT notAfter=Oct 11 17:57:46 2028 GMT

$ openssl x509 -inform der -in codesign0 -fingerprint -noout SHA256 Fingerprint=76:3C:89:02:ED:CB:AD:8E:59:86:1E:93:D3:05:5B:28:F9:04:0C:96:03:8B:16:28:9F:38:64:ED:53:45:B4:DA

root@kitploit:~
टोर ब्राउज़र विशेष कनेक्शन विधियों का उपयोग कर सकता है जिन्हें [प्लगेबल ट्रांसपोर्ट](https://support.torproject.org/tor-browser/circumvention/) कहा जाता है, ताकि ट्रैफ़िक की पहचान या अवरोधन कठिन हो सके। यह [रिले](https://support.torproject.org/relays/) स्थापित करके या किसी मौजूदा [ब्रिज](https://bridges.torproject.org/) का उपयोग करके किया जा सकता है।

टोर नेटवर्क [गुमनामी](https://www.privateinternetaccess.com/blog/2013/10/how-does-privacy-differ-from-anonymity-and-why-are-both-important/) प्रदान करता है, जो आवश्यक रूप से गोपनीयता के समान नहीं है। यह नेटवर्क ट्रैफ़िक विश्लेषण और सहसंबंध में सक्षम वैश्विक पर्यवेक्षक के विरुद्ध रक्षा नहीं करता है। यह भी देखें [इंटरनेट पैनोप्टिकॉन में गुमनामी की खोज](https://bford.info/pub/net/panopticon-cacm.pdf) और [यथार्थवादी प्रतिद्वंद्वियों द्वारा टोर पर ट्रैफ़िक सहसंबंध](https://www.ohmygodel.com/publications/usersrouted-ccs13.pdf)।

अधिक जानकारी के लिए [टोर प्रोटोकॉल विनिर्देश](https://spec.torproject.org/tor-spec/) देखें।

यह भी देखें [अदृश्य इंटरनेट प्रोजेक्ट (I2P)](https://geti2p.net/en/about/intro) और इसकी [टोर तुलना](https://geti2p.net/en/comparison/tor)।

# VPN

एक ऐसा VPN प्रदाता या स्व-होस्टेड सेटअप चुनें जिसमें प्रलेखित, आधुनिक प्रोटोकॉल और अच्छी तरह से ऑडिट किए गए क्लाइंट हों। [PPTP](https://en.wikipedia.org/wiki/Point-to-Point_Tunneling_Protocol#Security) जैसे अप्रचलित प्रोटोकॉल से बचें, और [OpenVPN](https://en.wikipedia.org/wiki/OpenVPN) या [WireGuard](https://www.wireguard.com/) को [Linux VM पर](https://github.com/mrash/Wireguard-macOS-LinuxVM) या [क्रॉस-प्लेटफ़ॉर्म टूल्स](https://www.wireguard.com/xplatform/) के सेट के माध्यम से उपयोग करें।

कुछ VPN क्लाइंट कनेक्शन बाधित या डिस्कनेक्ट होने पर अगले उपलब्ध नेटवर्क इंटरफ़ेस पर ट्रैफ़िक भेज सकते हैं। केवल VPN पर ट्रैफ़िक की अनुमति देने के उदाहरण के लिए [scy/8122924](https://gist.github.com/scy/8122924) देखें।

वर्चुअल मशीन ([hwdsl2/setup-ipsec-vpn](https://github.com/hwdsl2/setup-ipsec-vpn)) या Docker कंटेनर ([hwdsl2/docker-ipsec-vpn-server](https://github.com/hwdsl2/docker-ipsec-vpn-server)) पर [IPsec](https://en.wikipedia.org/wiki/Ipsec) VPN स्थापित करने के लिए गाइड देखें।

VPN प्रदाता के भौगोलिक स्थान पर विचार करना उचित हो सकता है। [issue 114](https://github.com/drduh/macOS-Security-and-Privacy-Guide/issues/114) में आगे की चर्चा देखें।

macOS के अंतर्निर्मित VPN L2TP/IPsec और [IKEv2](https://en.wikipedia.org/wiki/IKEv2) क्लाइंट का [तकनीकी अवलोकन](https://blog.timac.org/2018/0717-macos-vpn-architecture/) भी देखें।

# PGP/GPG

PGP डेटा को एन्क्रिप्ट करने और हस्ताक्षर करने का एक मानक है, विशेष रूप से ईमेल के लिए। यह उन पत्राचारकर्ताओं के बीच संदेश सामग्री की सुरक्षा कर सकता है जो सही ढंग से कुंजियों का आदान-प्रदान और सत्यापन करते हैं, लेकिन यह ईमेल प्राप्तकर्ताओं और विषय पंक्तियों जैसे मेटाडेटा की सुरक्षा नहीं करता है।

GPG (GNU Privacy Guard) PGP मानक के अनुरूप एक GPL-लाइसेंस प्राप्त, ओपन-सोर्स प्रोग्राम है। यह सॉफ़्टवेयर हस्ताक्षरों को सत्यापित कर सकता है और फ़ाइलों को [सममित रूप से](https://en.wikipedia.org/wiki/Symmetric-key_algorithm) या [सार्वजनिक कुंजियों](https://en.wikipedia.org/wiki/Public-key_cryptography) का उपयोग करके एन्क्रिप्ट कर सकता है।

Homebrew के साथ GnuPG स्थापित करें (`brew install gnupg`) या [GPG Suite](https://gpgtools.org/) स्थापित करें।

अनुशंसित सेटिंग्स का उपयोग करने के लिए [gpg.conf](https://github.com/drduh/YubiKey-Guide/blob/main/config/gpg.conf) डाउनलोड करें:```bash
curl -o ~/.gnupg/gpg.conf \
  https://raw.githubusercontent.com/drduh/YubiKey-Guide/main/config/gpg.conf

क्रेडेंशियल उत्पन्न करने और प्रबंधित करने के लिए drduh/YubiKey-Guide देखें।

ईमेल

ईमेल को डिफ़ॉल्ट रूप से मजबूत गोपनीयता प्रदान करने के लिए डिज़ाइन नहीं किया गया है: संदेश की सामग्री सेवा प्रदाताओं द्वारा बनाए रखी जा सकती है, प्राप्तकर्ताओं के मेलबॉक्स में कॉपी की जा सकती है, अग्रेषित की जा सकती है, या खाते से छेड़छाड़ के माध्यम से उजागर हो सकती है। मेटाडेटा (प्राप्तकर्ता, विषय, टाइमस्टैम्प और मेल सर्वर जानकारी सहित) आम तौर पर तब भी दृश्यमान रहता है जब संदेश की सामग्री एन्क्रिप्टेड होती है।

थंडरबर्ड

Thunderbird एक मुफ्त और ओपन-सोर्स ईमेल क्लाइंट है जिसमें मानक IMAP, POP, CalDAV और CardDAV समर्थन है। यह केवल प्रदाता के रिमोट सर्वर पर निर्भर रहने के बजाय मेल एक्सेस करने और स्थानीय प्रतियां रखने के लिए एक उपयुक्त विकल्प है।

Thunderbird में OpenPGP ईमेल एन्क्रिप्शन के लिए समर्थन शामिल है, जो संदेश की सामग्री की सुरक्षा कर सकता है और क्रिप्टोग्राफ़िक हस्ताक्षर प्रदान कर सकता है। संवेदनशील संचार के लिए किसी कुंजी पर भरोसा करने से पहले हमेशा एक स्वतंत्र चैनल के माध्यम से सार्वजनिक-कुंजी फ़िंगरप्रिंट सत्यापित करें।

archived messages feature संदेशों को रिमोट मेल सर्वर से हटाकर Local Folder में ले जा सकता है, जिससे गोपनीयता बेहतर होती है।

मैसेंजर

XMPP

XMPP एक खुला प्रोटोकॉल है जिसे IETF द्वारा विकसित किया गया है और यह क्रॉस-प्लेटफ़ॉर्म, संघीकृत (federated) मैसेजिंग का समर्थन करता है। कई क्लाइंट विकल्प उपलब्ध हैं। ब्राउज़र के सैंडबॉक्स का लाभ उठाने के लिए ब्राउज़र-आधारित क्लाइंट में से एक का उपयोग करने पर विचार करें।

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

XMPP डिफ़ॉल्ट रूप से एंड-टू-एंड एन्क्रिप्टेड (E2EE) नहीं है; संगत क्लाइंट के साथ OMEMO का उपयोग करें।

सिग्नल

Signal एक लोकप्रिय E2EE मैसेंजर है जिसका double-ratchet प्रोटोकॉल WhatsApp, Google Messages और Facebook Messenger सहित कई अन्य अनुप्रयोगों द्वारा उपयोग किया जाता है।

Signal डेस्कटॉप ऐप का उपयोग करने के लिए, पहले फ़ोन पर Signal इंस्टॉल होना चाहिए।

अतिरिक्त मार्गदर्शन के लिए EFF का Signal गाइड देखें।

iMessage

iMessage Apple का फर्स्ट-पार्टी मैसेंजर है। इसका उपयोग करने के लिए Apple Account आवश्यक है।

Contact Key Verification सक्षम करें और संपर्कों को सत्यापित करें।

iMessage का उपयोग फ़ोन नंबर या ईमेल दोनों में से किसी एक के साथ किया जा सकता है।

[!WARNING] डिफ़ॉल्ट रूप से, iCloud बैकअप सक्षम है, जो E2EE के बिना Apple के सर्वर पर संदेश एन्क्रिप्शन कुंजियों की प्रतियां संग्रहीत करता है। इसे रोकने के लिए iCloud बैकअप अक्षम करें या Advanced Data Protection सक्षम करें। मैसेजिंग प्राप्तकर्ताओं को भी ऐसा करने की याद दिलाएं।

मैलवेयर

सामान्य macOS मैलवेयर कैसे बना रहता है, यह जानने के लिए Methods of malware persistence on Mac OS X और Malware Persistence on OS X Yosemite देखें।

उन्नत macOS मैलवेयर क्षमताओं के उदाहरणों के लिए, Hacking Team material देखें। आगे के विश्लेषण के लिए, root installation for MacOS, support driver for Mac Agent और RCS Agent for Mac देखें।

A Brief Analysis of an RCS Implant Installer और reverse.put.as भी देखें।

सॉफ़्टवेयर डाउनलोड करना

App Store से या Apple द्वारा नोटराइज़ किए गए अनुप्रयोग मैलवेयर के जोखिम को कम कर सकते हैं, लेकिन कोई भी प्रक्रिया सुरक्षा की गारंटी नहीं देती है। Apple नोटराइज़ किए गए ऐप्स पर स्वचालित जाँच करता है, और App Store ऐप्स समीक्षा से गुजरते हैं। अन्यथा, सॉफ़्टवेयर को डेवलपर द्वारा आधिकारिक बताए गए स्रोतों से प्राप्त करें, और सत्यापित करें कि वेबसाइट या कमांड-लाइन डाउनलोड HTTPS का उपयोग करता है।

ऐप सैंडबॉक्स

जाँच करें कि कोई अनुप्रयोग App Sandbox का उपयोग करता है या नहीं:```bash codesign --display --entitlements -
/System/Applications/Calculator.app 2>&1 | grep -A2 com.apple.security.app-sandbox

root@kitploit:~
With App Sandbox सक्षम होने पर, आउटपुट इस प्रकार होना चाहिए:```console
[Key] com.apple.security.app-sandbox
[Value]
    [Bool] true

Activity Monitor यह भी बता सकता है कि "Sandbox" कॉलम प्रदर्शित होने पर यह सक्षम है या नहीं:```bash defaults write com.apple.ActivityMonitor "UserColumnsPerTab v6.0"
-dict-add 0 '(Command, CPUUsage, CPUTime, Threads, IdleWakeUps, Architecture, GPUUsage, GPUTime, PID, UID, Sandbox, restricted)'

root@kitploit:~
App Store सॉफ़्टवेयर के लिए App Sandbox का उपयोग करना आवश्यक है। Google Chrome जैसे एप्लिकेशन अपने स्वयं के [sandbox](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/design/sandbox.md) का उपयोग करते हैं और हो सकता है कि वे App Sandbox का उपयोग न करें।

> [!NOTE]
> सैंडबॉक्सिंग किसी एप्लिकेशन की डिफ़ॉल्ट पहुंच को सीमित करती है, लेकिन entitlements और उपयोगकर्ता-अनुदानित अनुमतियाँ पहुंच का विस्तार कर सकती हैं।

## Hardened Runtime

जाँच करें कि क्या कोई एप्लिकेशन [Hardened Runtime](https://developer.apple.com/documentation/security/hardened_runtime) का उपयोग करता है:```bash
codesign --display --verbose /path/to/application.app

यदि Hardened Runtime सक्षम है, तो आउटपुट में flags=0x10000(runtime) दिखाई देगा।

इस सुविधा को सक्षम किए गए सभी एप्लिकेशन सूचीबद्ध करें:```bash for app in /Applications/.app /System/Applications/.app; do if codesign -dvv "$app" 2>&1 | grep -q 'flags=0x10000(runtime)'; then echo "$app" fi done

root@kitploit:~
**Activity Monitor** में एक "Restricted" कॉलम प्रदर्शित करने का विकल्प होता है, जो इंगित करता है कि कोई प्रोग्राम macOS के [dynamic linker](https://pewpewthespells.com/blog/blocking_code_injection_on_ios_and_os_x.html) के माध्यम से कोड इंजेक्ट करने से प्रतिबंधित है।

Hardened Runtime, वितरित ऐप्स के notarization के लिए एक पूर्वापेक्षा है।

## एंटीवायरस

फ़ाइलों और ऐप्लिकेशनों को स्कैन करने के लिए, उन्हें [VirusTotal](https://www.virustotal.com/gui/home/upload) पर अपलोड करने पर विचार करें, ध्यान रखें कि इससे वे सार्वजनिक रूप से देखे जा सकते हैं।

macOS में [XProtect](https://support.apple.com/guide/security/protecting-against-malware-sec469d47bd8) नामक अंतर्निहित एंटीवायरस सॉफ़्टवेयर शामिल है, जो पृष्ठभूमि में चलता है और मैलवेयर का पता लगाने के लिए उपयोग किए जाने वाले सिग्नेचर को स्वचालित रूप से अपडेट करता है। यदि मैलवेयर का पता चलता है, तो XProtect उसे हटाने और क्वारंटीन करने का प्रयास करता है।

XProtect अपडेट स्थिति जाँचें:```bash
xprotect version

जैसे BlockBlock या hazcod/maclaunch ऐसे अनुप्रयोग लगातार बने रहने वाले मैलवेयर को रोकने या पहचानने में मदद कर सकते हैं।

एंटीवायरस सॉफ़्टवेयर सामान्य मैलवेयर का पता लगाने में मदद कर सकता है, लेकिन यह हमले की सतह को भी बढ़ा सकता है क्योंकि यह अक्सर व्यापक सिस्टम विशेषाधिकारों के साथ चलता है। कुछ उत्पाद विक्रेता को टेलीमेट्री या नमूने भी भेज सकते हैं।

देखें Sophail: एंटीवायरस के विरुद्ध अनुप्रयुक्त हमले, ESET भेद्यता का विश्लेषण और शोषण, लोकप्रिय सुरक्षा सॉफ़्टवेयर NSA और GCHQ के निरंतर हमलों का शिकार हुआ, और कैसे इज़राइल ने अमेरिकी रहस्यों के लिए दुनिया भर में खोज कर रहे रूसी हैकर्स को पकड़ा।

गेटकीपर

Gatekeeper सॉफ़्टवेयर नोटराइज़ेशन और उत्पत्ति को सत्यापित करता है।

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

जाँचें कि गेटकीपर सक्षम है या नहीं:```bash spctl --status --verbose

root@kitploit:~
# सिस्टम इंटीग्रिटी प्रोटेक्शन

यह सत्यापित करने के लिए कि सिस्टम इंटीग्रिटी प्रोटेक्शन सक्षम है, `csrutil status` कमांड का उपयोग करें, जिसे लौटाना चाहिए: `System Integrity Protection status: enabled.` अन्यथा, [SIP को सक्षम करने](https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection) के लिए [रिकवरी मोड](https://support.apple.com/102518) का उपयोग करें।

# मेटाडेटा और आर्टिफैक्ट्स

macOS फ़ाइलों में मेटाडेटा ([APFS एक्सटेंडेड एट्रिब्यूट्स](https://en.wikipedia.org/wiki/Extended_file_attributes#macOS)) जोड़ता है।

कुछ मेटाडेटा एट्रिब्यूट्स को [`mdls`](https://ss64.com/mac/mdls.html) और [`xattr`](https://ss64.com/mac/xattr.html) कमांड के साथ देखा और हटाया जा सकता है। प्रेफरेंस (`plist`) फ़ाइलों को [`defaults`](https://ss64.com/mac/defaults.html) के साथ पढ़ा और संशोधित किया जा सकता है।

सिस्टम और एप्लिकेशन मेटाडेटा इनमें पाया जा सकता है:

- `~/Library/Preferences/`
- `~/Library/Containers/<APP>/Data/Library/Preferences`
- `/Library/Preferences`

ब्लूटूथ जानकारी:

- `/Library/Preferences/com.apple.Bluetooth.plist`

प्रिंटर जॉब कैश:

- `/var/spool/cups`

पहले कनेक्ट किए गए iOS डिवाइस:

- `/Users/$USER/Library/Preferences/com.apple.iPod.plist`
- `/Library/Preferences/com.apple.iPod.plist`

फ़ाइंडर प्रेफरेंस:

- `~/Library/Preferences/com.apple.finder.plist`
- `~/Library/Preferences/com.apple.sidebarlists.plist`

डायग्नोस्टिक डेटा:

- `/var/db/CoreDuet`
- `/var/db/diagnostics`
- `/var/db/systemstats`
- `/var/db/uuidtext`
- `/var/log/DiagnosticMessages`

स्पेलिंग और भाषा सुझाव:

- `~/Library/LanguageModeling`
- `~/Library/Spelling`
- `~/Library/Suggestions`

एप्लिकेशन स्टेट:

- `~/Library/Saved\ Application\ State`
- `~/Library/Containers/<APPNAME>/Data/Library/Saved\ Application\ State`

ऑटोसेव मेटाडेटा:

- `~/Library/Containers/<APP>/Data/Library/Autosave\ Information`
- `~/Library/Autosave\ Information`

सिरी एनालिटिक्स:

- `~/Library/Assistant/SiriAnalytics.db`

क्विकटाइम प्लेयर इतिहास:

- `~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Preferences/com.apple.QuickTimePlayerX.plist`

विविध मेटाडेटा:

- `~/Library/Containers/com.apple.appstore/Data/Library/Preferences/com.apple.commerce.knownclients.plist`
- `~/Library/Preferences/com.apple.commerce.plist`

Read more

टूल डाउनलोड करें
  • नया सॉफ़्टवेयर स्थापित करते समय सावधानी बरतें: इसे केवल उन स्रोतों से स्थापित करें जिन्हें डेवलपर आधिकारिक बताता है, जैसे कि उनकी वेबसाइट या GitHub रिपॉज़िटरी।
  • प्रतिद्वंद्वीप्रेरणाक्षमताएँशमन
    रूममेटनिजी चैट या ब्राउज़िंग इतिहास देखनानिकट निकटता; स्क्रीन देख सकता है या क्रेडेंशियल देख सकता हैबायोमेट्रिक (फिंगरप्रिंट या चेहरा) प्रमाणीकरण का उपयोग करें, प्राइवेसी स्क्रीन का उपयोग करें, फोन का उपयोग न करने पर लॉक रखें
    चोरफोन अनलॉक करना, व्यक्तिगत जानकारी चुराना और बैंक खाते खाली करना, फोन को पैसे के लिए बेचनापासवर्ड दर्ज किए जाते हुए देखना, बिना ध्यान दिए छोड़े गए लॉग-इन डिवाइस को चुरानाहर समय डिवाइस की भौतिक अभिरक्षा बनाए रखें, उपयोग में न होने पर डिवाइस लॉक करें, सार्वजनिक दृश्य में पासवर्ड टाइप करने से बचें, चोरी हुए डिवाइसों को ट्रैक करने या दूरस्थ रूप से अक्षम करने के लिए Find My या समान सेवाओं का उपयोग करें
    अपराधीवित्तीय लाभसोशल इंजीनियरिंग (उपयोगकर्ता को जानकारी प्रकट करने या असुरक्षित कार्य करने के लिए धोखा देना), आसानी से उपलब्ध मैलवेयर, पासवर्ड पुन: उपयोग, कमजोरियों का शोषणसॉफ़्टवेयर को सैंडबॉक्स करें, OS सुरक्षा सुविधाएँ सक्षम करें, सॉफ़्टवेयर अपडेट स्वचालित रूप से बनाए रखें
    निगमउपयोगकर्ता डेटा पर आधारित विपणनटेलीमेट्री और व्यवहारिक डेटा संग्रहनेटवर्क कनेक्शन ब्लॉक करें, डिवाइस-विशिष्ट पहचानकर्ता रीसेट करें, भुगतान डेटा जोड़ने से बचें
    राष्ट्र राज्य/APTलक्षित निगरानीइंटरनेट अवसंरचना की निष्क्रिय निगरानी, उन्नत एन्क्रिप्शन विश्लेषणओपन-सोर्स सॉफ़्टवेयर, मजबूत डाइसवेयर क्रेडेंशियल, सुरक्षित तत्व वाले हार्डवेयर, उपयोग में न होने पर डिवाइस बंद करें, ट्रिपवायर/हनीपॉट/कैनरी टोकन अलर्ट
    कमांडकार्य
    sudo pfctl -t blocklist -T showब्लॉकलिस्ट दिखाएँ
    sudo pfctl -s rulesसक्रिय नियम दिखाएँ
    sudo pfctl -s statesस्टेट तालिका दिखाएँ
    sudo ifconfig pflog0 createपैकेट लॉग इंटरफ़ेस बनाएँ
    sudo tcpdump -ni pflog0ब्लॉक किए गए पैकेट की निगरानी करें
    CommandTask
    launchctl listउपयोगकर्ता कार्य देखें
    sudo launchctl listसिस्टम कार्य देखें
    launchctl list com.apple.Finderकिसी सेवा की जाँच करें
    systemextensionsctl listसिस्टम एक्सटेंशन सूचीबद्ध करें
    ls /System/Library/LaunchDaemonsसिस्टम डेमन सूचीबद्ध करें
    ls /System/Library/LaunchAgentsसिस्टम एजेंट सूचीबद्ध करें