
CVE-2023-39361 के लिए एक्सप्लॉइट Cacti में, जो एक नेटवर्क ग्राफिंग समाधान है, SQL इंजेक्शन भेद्यता का प्रदर्शन करता है, जो शैक्षिक और सुरक्षा परीक्षण उद्देश्यों के लिए है।
डेटाबेस में परिवर्तन cacti.sql फ़ाइल में किए जाते हैं जिसका उपयोग नई स्थापनाओं के लिए किया जाता है और मौजूदा स्थापनाओं के लिए इंस्टॉलर डेटाबेस अपग्रेड में किया जाता है। क्योंकि develop ब्रांच में रिलीज़ होने तक संस्करण संख्या नहीं बदलती है, जिसके परिणामस्वरूप डेटाबेस अपग्रेड नहीं चलेगा, इसलिए यह महत्वपूर्ण है कि या तो वर्तमान संस्करण को बाध्य करने के लिए डेटाबेस अपग्रेड स्क्रिप्ट का उपयोग करें या डेटाबेस में संस्करण को अपडेट करें।
जब Cacti लगभग 20 साल पहले पहली बार विकसित किया गया था, MySQL उतना परिपक्व नहीं था जितना अब है। जब The Cacti Group Cacti 1.x को इंजीनियर करने के बारे में गया, तो कई तालिकाओं के लिए उपयोगकर्ताओं को InnoDB स्टोरेज इंजन का उपयोग करने के लिए बाध्य करने का निर्णय लिया गया। यह इसलिए किया गया क्योंकि InnoDB स्टोरेज इंजन बेहतर उपयोगकर्ता अनुभव प्रदान करता है जब आपकी वेब साइट पर कई समवर्ती लॉगिन होते हैं। हालांकि थोड़ा धीमा, यह डेवलपर्स के लिए अधिक लचीलापन भी प्रदान करता है।
इसके साथ ही, कई परिवर्तन हैं जो आपको अपग्रेड करने से पहले MySQL/MariaDB पर करने ही होंगे, और सेवा पुनरारंभ आवश्यक है। आपके MariaDB या MySQL के रिलीज़ के आधार पर, निम्नलिखित सेटिंग्स या तो आवश्यक होंगी, या पहले से ही डिफ़ॉल्ट रूप से सक्षम होंगी:
[mysqld]
# required for multiple language support
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# Memory tunables - Cacti provides recommendations at upgrade time
max_heap_table_size = XXX
max_allowed_packet = 500M
tmp_table_size = XXX
join_buffer_size = XXX
sort_buffer_size = XXX
# important for compatibility
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
# innodb settings - Cacti provides recommendations at upgrade time
innodb_buffer_pool_instances = XXX
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_size = XXX
innodb_sort_buffer_size = XXX
innodb_doublewrite = ON
# required
innodb_file_per_table = ON
innodb_file_format = Barracuda
innodb_large_prefix = 1
# not all version support
innodb_flush_log_at_timeout = 3
# for SSD's/NVMe
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 10000
innodb_io_capacity_max = 20000
innodb_flush_method = O_DIRECT
आवश्यक सेटिंग्स बहुत महत्वपूर्ण हैं। अन्यथा, आपको अपग्रेड करने में समस्याएँ आएंगी। XXX वाली सेटिंग्स के लिए, Cacti अपग्रेड के समय एक अनुशंसा प्रदान करेगा। अपग्रेड के दौरान इन सेटिंग्स को ट्यून करने के लिए MySQL/MariaDB को पुनरारंभ करना असामान्य नहीं है। अपग्रेड शुरू करने से पहले कृपया इस पर विशेष ध्यान दें।
अपग्रेड करने से पहले, आपको ये आवश्यक परिवर्तन करने चाहिए, फिर MySQL/MariaDB को पुनरारंभ करें। उसके बाद, आप निम्नलिखित स्क्रिप्ट चलाकर अपना समय और संभावित त्रुटियाँ बचा सकते हैं (मान लें कि आप bash का उपयोग कर रहे हैं):
for table in `mysql -e "SELECT TABLE_NAME FROM information_schema.TABLES WHERE table_schema='cacti' AND engine!='MEMORY'" cacti | grep -v TABLE_NAME`;
do
echo "Converting $table";
mysql -e "ALTER TABLE $table ENGINE=InnoDB ROW_FORMAT=Dynamic CHARSET=utf8mb4" cacti;
done
यह किसी भी तालिका को जो या तो InnoDB या MyISAM है, Barracuda फ़ाइल प्रारूप, डायनामिक रो प्रारूप और utf8mb4 में परिवर्तित करेगा। ध्यान दें, यदि आप innodb_file_per_table को चालू किए बिना MySQL या MariaDB का उपयोग कर रहे हैं, तो आपके लिए अपने डेटाबेस का बैकअप लेना, /var/lib/mysql निर्देशिका में अपनी ib* फ़ाइलों को हटाकर InnoDB को रीसेट करना, और उसके बाद अपने डेटाबेस और MySQL/MariaDB तालिकाओं और अनुमतियों को पुनर्स्थापित करना बेहतर हो सकता है। इस तरह का कदम उठाने से पहले, आपको हमेशा एक परीक्षण सर्वर पर अभ्यास करना चाहिए जब तक कि आप परिवर्तन के साथ सहज न हों।
शुभकामनाएँ, और Cacti का आनंद लें!
sudo -u cacti php -q cli/upgrade_database.php --forcever=`cat include/cacti_version`
update version set cacti = '1.1.38';
नोट: उपरोक्त संस्करण को सही संस्करण में बदलें या इंस्टॉलर के पिछले संस्करण से अपग्रेड करने का जोखिम उठाएँ।
Cacti एक संपूर्ण नेटवर्क ग्राफ़िंग समाधान है जिसे RRDtool की डेटा संग्रहण और ग्राफ़िंग कार्यक्षमता की शक्ति का उपयोग करने के लिए डिज़ाइन किया गया है, जो निम्नलिखित सुविधाएँ प्रदान करता है:
दूरस्थ और स्थानीय डेटा संग्राहक
डिवाइस खोज
डिवाइस और ग्राफ़ निर्माण का स्वचालन
ग्राफ़ और डिवाइस टेम्पलेटिंग
कस्टम डेटा संग्रह विधियाँ
उपयोगकर्ता, समूह और डोमेन पहुँच नियंत्रण
यह सब एक सहज, उपयोग में आसान इंटरफ़ेस में लिपटा हुआ है जो LAN-आकार की स्थापनाओं और हजारों डिवाइसों वाले जटिल नेटवर्क दोनों के लिए समझ में आता है।
2000 के दशक की शुरुआत में इयान बेरी द्वारा एक हाई स्कूल परियोजना के रूप में विकसित, इसका उपयोग हजारों कंपनियों और उत्साही लोगों द्वारा अपने एंटरप्राइज़ नेटवर्क और डेटा केंद्रों की निगरानी और प्रबंधन के लिए किया गया है।
Cacti निम्नलिखित आवश्यकताओं के साथ किसी भी Linux, UNIX, या Windows आधारित ऑपरेटिंग सिस्टम पर चलने में सक्षम होना चाहिए:
PHP 5.4+
MySQL 5.1+
RRDtool 1.3+, 1.5+ अनुशंसित
NET-SNMP 5.5+
PHP समर्थन के साथ वेब सर्वर
PHP को एक स्टैंडअलोन cgi या cli बाइनरी के रूप में भी संकलित किया जाना चाहिए। यह cron के माध्यम से डेटा संग्रह के लिए आवश्यक है।
हम php-snmp मॉड्यूल को वैकल्पिक के रूप में चिह्नित करते हैं। जब तक आप ipv6 डिवाइसों का उपयोग नहीं कर रहे हैं, या snmpv3 इंजन आईडी या संदर्भों का उपयोग नहीं कर रहे हैं, तब तक php-snmp का उपयोग करना सुरक्षित होना चाहिए। अन्यथा, आपको php-snmp मॉड्यूल को अनइंस्टॉल करने पर विचार करना चाहिए क्योंकि यह समस्याएँ पैदा करेगा। हम php-snmp के साथ समस्या से अवगत हैं और इन मुद्दों को हल करने के लिए php परियोजना में शामिल होने की तलाश कर रहे हैं।
RRDtool कई संस्करणों में उपलब्ध है और उनमें से अधिकांश Cacti द्वारा समर्थित हैं। यदि आपको ग्राफ़ प्रस्तुत करने में समस्या हो रही है तो कृपया RRDtool संस्करण के लिए अपनी Cacti सेटिंग्स की पुष्टि करना याद रखें।
दस्तावेज़ीकरण Cacti रिलीज़ के साथ उपलब्ध है और दस्तावेज़ीकरण रिपॉजिटरी पर देखने के लिए भी उपलब्ध है।
डाउनलोड, परिवर्तन लॉग, रिलीज़ नोट्स और अधिक के लिए मुख्य Cacti वेब साइट देखें!
Cacti के बड़े दायरे को देखते हुए, फ़ोरम सम्मानजनक मात्रा में ट्रैफ़िक उत्पन्न करते हैं। बुनियादी प्रश्नों का उत्तर देने में अपना योगदान देना बहुत आगे तक जाता है क्योंकि हम एक साथ हर जगह नहीं हो सकते। Cacti सामुदायिक फ़ोरम पर भाग लेकर Cacti समुदाय में योगदान करें।
Cacti दस्तावेज़ीकरण बनाने और संपादित करने में शामिल हों! GitHub पर दस्तावेज़ीकरण को बेहतर बनाने में मदद करने के लिए फ़ोर्क करें, बदलें और पुल अनुरोध सबमिट करें।
Cacti के विकास में शामिल हों! GitHub पर डेवलपर्स और समुदाय से जुड़ें!
Cacti डेटा स्रोतों की अवधारणा के माध्यम से डेटा संग्रह को संभालता है। डेटा स्रोत डिवाइसों, होस्टों, डेटाबेसों, स्क्रिप्टों आदि से डेटा एकत्र करने के लिए इनपुट विधियों का उपयोग करते हैं। आप जिस डेटा की प्रकृति एकत्र करने में सक्षम हैं, उसकी संभावनाएँ अनंत हैं। डेटा स्रोत अंतर्निहित RRD फ़ाइलों के लिए सीधा लिंक हैं; डेटा RRD फ़ाइलों के भीतर कैसे संग्रहीत किया जाता है और डेटा RRD फ़ाइलों से कैसे पुनर्प्राप्त किया जाता है।
ग्राफ़, Cacti का दिल और आत्मा, परिभाषित डेटा स्रोत परिभाषा का उपयोग करके RRDtool द्वारा बनाए जाते हैं।
सब कुछ एक साथ लाते हुए, Cacti एक व्यापक टेम्पलेट प्रणाली का उपयोग करता है जो पोर्टेबल टेम्पलेटों के निर्माण और उपभोग की अनुमति देता है। ग्राफ़, डेटा स्रोत, और RRA टेम्पलेट बॉक्स से बाहर ग्राफ़ और डेटा स्रोतों के आसान निर्माण की अनुमति देते हैं। Cacti समुदाय समर्थन के साथ, टेम्पलेट आज के कंप्यूटिंग और नेटवर्किंग वातावरण में उपयोग में आने वाले किसी भी संख्या में डिवाइसों के ग्राफ़िंग का समर्थन करने का मानक तरीका बन गए हैं।
संग्रह अंतराल निर्धारित करने की क्षमता के साथ स्थानीय और दूरस्थ डेटा संग्रह समर्थन। अधिक जानकारी के लिए Cacti के भीतर डेटा स्रोत प्रोफ़ाइल देखें। डेटा स्रोत प्रोफ़ाइल निर्माण के समय या डेटा टेम्पलेट स्तर पर ग्राफ़ पर लागू की जा सकती हैं।
दूरस्थ डेटा संग्रह को दूरस्थ डेटा संग्राहकों के लिए संसाधनों के प्रतिकृति के माध्यम से आसान बनाया गया है। यहां तक कि जब मुख्य Cacti स्थापना से कनेक्टिविटी दूरस्थ डेटा संग्राहक से खो जाती है, तो यह कनेक्टिविटी बहाल होने तक एकत्रित डेटा संग्रहीत करेगा। दूरस्थ डेटा संग्रह के लिए केवल मुख्य Cacti स्थापना स्थान पर MySQL और HTTP/HTTPS पहुँच की आवश्यकता होती है।
Cacti प्रशासकों को डिवाइसों को सेट अप और प्रबंधित करने में लगने वाले समय और प्रयास को कम करने के लिए नेटवर्क स्वचालन कार्यक्षमता की एक श्रृंखला प्रदान करता है।
कई परिभाषित नेटवर्क खोज नियम
स्वचालन टेम्पलेट जो निर्दिष्ट करते हैं कि डिवाइस कैसे कॉन्फ़िगर किए जाते हैं
Cacti एक नेटवर्क निगरानी प्रणाली से अधिक है, यह एक संचालन फ्रेमवर्क है जो Cacti कार्यक्षमता के विस्तार और वृद्धि की अनुमति देता है। The Cacti Group प्लगइनों के वर्गीकरण को बनाए रखना जारी रखता है। यदि आप Cacti में सुविधाएँ जोड़ना चाह रहे हैं, तो GitHub पर चुनने के लिए काफी संदर्भ सामग्री है।
Cacti ग्राफ़ देखते समय कई रनटाइम वृद्धि की अनुमति देता है:
गतिशील रूप से लोड किया गया ट्री और ग्राफ़ दृश्य
स्ट्रिंग, ग्राफ़ और टेम्पलेट प्रकारों द्वारा खोज
दृश्य वृद्धि
सरल समय अवधि समायोजन
सुविधाजनक स्लाइडिंग समय विंडो बटन
एकल क्लिक रीयलटाइम ग्राफ़ विकल्प
csv में आसान ग्राफ़ निर्यात
केवल एक क्लिक के साथ RRA दृश्य
प्रति क्षेत्र (Cacti का क्षेत्र), प्रति ग्राफ़, प्रति ग्राफ़ ट्री, प्रति डिवाइस आदि पर प्रति उपयोगकर्ता और प्रति समूह अनुमतियों के लिए समर्थन... Cacti में अनुमति मॉडल भूमिका आधारित पहुँच नियंत्रण (RBAC) है जो अनुमतियों के लचीले असाइनमेंट की अनुमति देता है। पासवर्ड जटिलता, पासवर्ड आयु और समाप्त पासवर्ड बदलने के प्रवर्तन के लिए समर्थन।
Cacti अधिकांश RRDtool ग्राफ़िंग क्षमताओं का समर्थन करता है जिनमें शामिल हैं:
पूर्ण दायाँ अक्ष
शिफ्ट
डैश और डैश ऑफसेट
Alt y-ग्रिड
कोई ग्रिड फिट नहीं
इकाइयों की लंबाई
टैब चौड़ाई
गतिशील लेबल
नियम लेजेंड
लेजेंड स्थिति
VDEFs
स्टैक्ड लाइनें
उपयोगकर्ता परिभाषित लाइन चौड़ाई
पाठ संरेखण
कॉपीराइट (c) 2004-2023 - The Cacti Group, Inc.