
Apache NiFi CVE-2023-34468 के लिए एक्सप्लॉइट, संस्करण 1.21.0 और उससे पहले के संस्करणों में एक कमजोरी को लक्षित करता है ताकि डेटा एक्सेस और सिस्टम समझौते का प्रदर्शन किया जा सके।
[][nifi]
Apache NiFi एक उपयोग में आसान, शक्तिशाली और विश्वसनीय प्रणाली है जो डेटा को प्रोसेस और वितरित करती है।
Apache NiFi डेटाफ़्लो के लिए बनाया गया है। यह डेटा रूटिंग, रूपांतरण और सिस्टम मध्यस्थता लॉजिक के अत्यधिक कॉन्फ़िगर करने योग्य निर्देशित ग्राफ़ का समर्थन करता है। इसकी कुछ प्रमुख विशेषताएँ निम्नलिखित हैं:
विकास के लिए क्विकस्टार्ट गाइड पढ़ें। इसमें स्रोत की स्थानीय प्रति प्राप्त करने की जानकारी, समस्या ट्रैकिंग पर संकेत और विकास वातावरण में आम समस्याओं के बारे में कुछ चेतावनियाँ शामिल होंगी।
परियोजना में योगदान देने के संबंध में जानकारी और विकास की अधिक व्यापक मार्गदर्शिका के लिए NiFi डेवलपर गाइड पढ़ें।
mvn clean install चलाएँ या समानांतर निर्माण के लिए mvn -T 2.0C clean install निष्पादित करें।
समानांतर निर्माण आधुनिक हार्डवेयर पर लगभग पंद्रह मिनट ले सकता है।
laptop:nifi myuser$ mvn -T 2.0C clean install
[INFO] Scanning for projects...
[INFO] Inspecting build with total of 115 modules...
...tens of thousands of lines elided...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 09:24 min (Wall Clock)
[INFO] Finished at: 2015-04-30T00:30:36-05:00
[INFO] Final Memory: 173M/1359M
[INFO] ------------------------------------------------------------------------
यूनिट परीक्षण निष्पादन छोड़ने के लिए mvn clean install -DskipTests चलाएँ।
nifi-assembly निर्देशिका में बदलें। target निर्देशिका में बाइनरी संग्रह होते हैं।
laptop:nifi myuser$ cd nifi-assembly
laptop:nifi-assembly myuser$ ls -lhd target/nifi*
drwxr-xr-x 3 myuser mygroup 102B Apr 30 00:29 target/nifi-1.0.0-SNAPSHOT-bin
-rw-r--r-- 1 myuser mygroup 144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.tar.gz
-rw-r--r-- 1 myuser mygroup 144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.zip
nifi-VERSION-bin.tar.gz या nifi-VERSION-bin.zip को एक अलग परिनियोजन निर्देशिका में कॉपी करें। वितरण निकालने पर संस्करण के नाम पर एक नई निर्देशिका बन जाएगी।
laptop:nifi-assembly myuser$ mkdir ~/example-nifi-deploy
laptop:nifi-assembly myuser$ tar xzf target/nifi-*-bin.tar.gz -C ~/example-nifi-deploy
laptop:nifi-assembly myuser$ ls -lh ~/example-nifi-deploy/
total 0
drwxr-xr-x 10 myuser mygroup 340B Apr 30 01:06 nifi-1.0.0-SNAPSHOT
परिनियोजन स्थान पर निर्देशिका बदलें और NiFi प्रारंभ करने के लिए निम्न कमांड चलाएँ।
laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start
bin/nifi.sh start चलाने से NiFi बैकग्राउंड में प्रारंभ होता है और प्रोग्राम समाप्त हो जाता है। समाप्त होने से पहले पूर्ण प्रारंभ की प्रतीक्षा करने के लिए --wait-for-init का उपयोग वैकल्पिक टाइमआउट (सेकंड में) के साथ करें।
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start --wait-for-init 120
डिफ़ॉल्ट कॉन्फ़िगरेशन प्रारंभ पर एक यादृच्छिक उपयोगकर्ता नाम और पासवर्ड उत्पन्न करता है। NiFi उत्पन्न क्रेडेंशियल को NiFi इंस्टॉलेशन निर्देशिका के अंतर्गत logs/nifi-app.log में स्थित एप्लिकेशन लॉग में लिखता है।
grep स्थापित ऑपरेटिंग सिस्टम पर उत्पन्न क्रेडेंशियल खोजने के लिए निम्न कमांड का उपयोग किया जा सकता है:
laptop:nifi-1.0.0-SNAPSHOT myuser$ grep Generated logs/nifi-app*log
NiFi उत्पन्न क्रेडेंशियल को निम्नानुसार लॉग करता है:
Generated Username [USERNAME]
Generated Password [PASSWORD]
USERNAME 36 वर्णों से बना एक यादृच्छिक UUID होगा। PASSWORD 32 वर्णों से बना एक यादृच्छिक स्ट्रिंग होगा। उत्पन्न क्रेडेंशियल को conf/login-identity-providers.xml में संग्रहीत किया जाएगा, जिसमें पासवर्ड bcrypt हैशिंग का उपयोग करके संग्रहीत होगा। NiFi तक पहुँच के लिए इन क्रेडेंशियल को एक सुरक्षित स्थान पर नोट कर लें।
यादृच्छिक उपयोगकर्ता नाम और पासवर्ड को निम्न कमांड का उपयोग करके कस्टम क्रेडेंशियल से बदला जा सकता है:
./bin/nifi.sh set-single-user-credentials <username> <password>
NiFi तक पहुँचने के लिए वेब ब्राउज़र में निम्न लिंक खोलें: https://localhost:8443/nifi
वेब ब्राउज़र प्रारंभीकरण के दौरान NiFi द्वारा उत्पन्न सेल्फ-साइन्ड प्रमाणपत्र के कारण संभावित सुरक्षा जोखिम का संकेत देने वाला एक चेतावनी संदेश प्रदर्शित करेगा। प्रारंभिक विकास इंस्टॉलेशन के लिए संभावित सुरक्षा जोखिम स्वीकार करना और इंटरफ़ेस लोड करना जारी रखना एक विकल्प है। उत्पादन परिनियोजन के लिए किसी विश्वसनीय प्रमाणपत्र प्राधिकरण से प्रमाणपत्र प्राप्त करना और NiFi कीस्टोर तथा ट्रस्टस्टोर कॉन्फ़िगरेशन को अपडेट करना चाहिए।
सेल्फ-साइन्ड प्रमाणपत्र स्वीकार करने के बाद NiFi तक पहुँचने पर लॉगिन स्क्रीन प्रदर्शित होगी।
