[!CAUTION]
यह रेपो अनुरक्षित नहीं है, नवीनतम संस्करण के लिए https://github.com/sadreck/SnitchDNS पर जाएँ।
SnitchDNS
SnitchDNS एक डेटाबेस-संचालित DNS सर्वर है जिसमें वेब UI है, जो Python और Twisted में लिखा गया है, और यह DNS प्रशासन को आसान बनाता है क्योंकि सभी कॉन्फ़िगरेशन परिवर्तन तुरंत लागू होते हैं बिना किसी सिस्टम सेवा को पुनरारंभ किए।
इसकी मुख्य विशेषताओं में से एक सभी DNS क्वेरीज़ की लॉगिंग है जो नेटवर्क ट्रैफ़िक एंडपॉइंट्स की खोज की अनुमति देती है, और इसका उपयोग कैनरी टोकन को लागू करने के लिए भी किया जा सकता है क्योंकि यह ई-मेल, वेब पुश, Slack और Teams के माध्यम से सूचनाओं का समर्थन करता है। रेड टीमर्स SnitchDNS का उपयोग सैंडबॉक्स के लिए फ़िशिंग डोमेन की निगरानी करने, SIEM समाधानों के साथ एकीकृत करने, विशिष्ट IP श्रेणियों तक प्रतिक्रियाओं को प्रतिबंधित करने, DNS टनल और कैच-ऑल डोमेन के माध्यम से डेटा बाहर निकालने, और अधिक के लिए भी कर सकते हैं।
निर्भरताएँ
स्थापना
कृपया सुनिश्चित करें कि आप रेपो को मैन्युअल रूप से डाउनलोड करने के बजाय git का उपयोग करके स्थापित करें।
दस्तावेज़ीकरण
सामान्य दस्तावेज़ीकरण के लिए यहाँ देखें
स्क्रीनशॉट
स्क्रीनशॉट के लिए यहाँ देखें
मूलभूत विशेषताएँ
- डेटाबेस-संचालित।
- परिवर्तन प्रत्येक DNS अनुरोध पर तुरंत परिलक्षित होते हैं।
- समर्थित DBMS:
- SQLite
- MySQL / MariaDB
- Postgres
- DNS सर्वर
- सामान्य DNS रिकॉर्ड के लिए समर्थन।
A, AAAA, AFSDB, CNAME, DNAME, HINFO, MX, NAPTR, NS, PTR, RP, SOA, SPF, SRV, SSHFP, TSIG, TXT।
- कैच-ऑल डोमेन।
- किसी विशिष्ट मूल डोमेन से किसी भी उपडोमेन (गहराई की परवाह किए बिना) को मिलाने की क्षमता, उदाहरण के लिए *.hello.example.com।
- अमिलान रिकॉर्ड अग्रेषण।
- विशिष्ट क्वेरीज़ (जैसे केवल
A और CNAME) को इंटरसेप्ट करने और अन्य सभी रिकॉर्ड को तीसरे पक्ष के DNS सर्वर (जैसे Google) पर अग्रेषित करने की कार्यक्षमता।
- रेगुलर एक्सप्रेशन मिलान।
- टैग और उपनाम।
- IP नियम
- प्रति डोमेन अनुमति/अवरोध नियम कॉन्फ़िगर करें।
- सूचनाएँ। जब कोई डोमेन हल होता है तो सूचना प्राप्त करें, इसके माध्यम से:
- ई-मेल
- वेब पुश
- Slack
- Microsoft Teams
- उपयोगकर्ता प्रबंधन
- बहु-उपयोगकर्ता समर्थन
- प्रत्येक उपयोगकर्ता को उपयोग करने के लिए अपना स्वयं का उपडोमेन दिया जाता है।
- LDAP/RADIUS समर्थन
- द्वि-कारक प्रमाणीकरण
- पासवर्ड जटिलता प्रबंधन
- लॉगिंग
- सभी DNS क्वेरीज़ लॉग की जाती हैं, चाहे वे मिलान की गई हों या नहीं।
- SIEM एकीकरण के लिए CSV लॉगिंग।
- Swagger 2.0 API
- परिनियोजन
- Ubuntu 18.04 / 20.04 के लिए Ansible स्क्रिप्ट्स
- Docker
- ज़ोन, रिकॉर्ड, उपयोगकर्ता और सेटिंग्स प्रबंधन के लिए CLI समर्थन।
- CSV निर्यात/आयात
उपयोग के मामले
SnitchDNS का उपयोग इसके लिए किया जा सकता है:
- एक DNS अग्रेषण सर्वर - आपको एक वेब GUI के माध्यम से सभी अनुरोधों की निगरानी करने की अनुमति देता है।
- रेड टीम्स - सैंडबॉक्स को ब्लॉक करने, फ़िशिंग डोमेन रिज़ॉल्यूशन और ई-मेल की निगरानी करने और ज्ञात IP श्रेणियों तक पहुंच को प्रतिबंधित करने के लिए IP प्रतिबंध लागू करें।
- DNS टनल - सभी DNS अनुरोधों और बाहर जाने वाले डेटा को लॉग करें।
- Let's Encrypt DNS चैलेंज, API या CLI इंटरफ़ेस का उपयोग करके।
- विज्ञापन-अवरोधन।
- कैनरी टोकन।
- SIEM समाधानों के साथ एकीकृत करें।
परिदृश्यों पर अधिक विवरण के लिए कृपया उपयोग के मामले दस्तावेज़ देखें।
सीमाएँ
- SnitchDNS वर्तमान में एकल-थ्रेड में चलता है, इसलिए प्रति मिनट सैकड़ों DNS अनुरोधों वाले वातावरण के लिए उपयुक्त नहीं हो सकता है।
योगदान
यदि आप पुल अनुरोध, सुविधा अनुरोध और बग रिपोर्ट में योगदान देना चाहते हैं - तो बेझिझक एक मुद्दा उठाएँ (विशेषकर कोड लिखना शुरू करने से पहले)।
सुरक्षा
यदि आप SnitchDNS के भीतर कोई सुरक्षा कमजोरियाँ पहचानते हैं, तो फिलहाल कृपया मुझसे ट्विटर पर संपर्क करें - @sadreck
श्रेय
UI
विकास
- Lambros Zannettos | @_C960_ - Dockerfile लिखने में उनकी मदद के लिए।