क्या मुझे सिस्को डिवाइस पर सक्षम गुप्त सेट करने की आवश्यकता है?


16

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

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

क्या पासवर्ड सक्षम करने के लिए कुछ और है जो मुझे पता नहीं है? क्या राउटर को कंसोल, असिस्टेंट, या वीटीआई लाइनों की तुलना में एक्सेस करने का कोई अन्य तरीका है?

संपादित करें: मैंने अपनी स्थिति के बारे में अधिक स्पष्ट होने के लिए वास्तविक कॉन्फ़िगरेशन को नीचे जोड़ा है। निम्नलिखित काम करता है, एक सक्षम पासवर्ड, या usernameएक के भीतर एक तरफ से एक विन्यास की आवश्यकता के साथ ip ssh pubkey-chain

aaa new-model

ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh pubkey-chain
 username tech
  key-hash ssh-rsa [HASH]
ip scp server enable

line vty 0 4
 transport input ssh

1
संक्षिप्त उत्तर: आवश्यक नहीं है , लेकिन बहुत ही अनुशंसित है - क्योंकि यह पूर्ण निजी के लिए रक्षा की पहली पंक्ति है
रिकी बीम

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

निजी को सक्षम बनाता है । जब तक आप इसे नहीं बदलते हैं (आआ के माध्यम से), यह तब भी लागू होता है जब आपके पास एक कमांडलाइन होती है।
रिकी बीम

जवाबों:


24

नहीं, आप तकनीकी रूप से नहीं। लेकिन क्या आप एक के बिना सक्षम मोड में प्रवेश कर सकते हैं, इस पर निर्भर करता है कि आप कैसे लॉग इन करते हैं।

यहाँ तत्काल संतुष्टि संस्करण है:

आप एक सक्षम पासवर्ड के बिना कंसोल के माध्यम से प्रवेश कर सकते हैं, लेकिन आप उपयोगकर्ता मोड में अटके रहेंगे यदि आप एक सक्षम सेट के बिना एक सरल vty लॉगिन पासवर्ड का उपयोग करते हैं।

यहाँ लंबे समय से घुमावदार StackExchange उत्तरदाता संस्करण है:

सिस्को प्रमाणीकरण एक शुरुआत के लिए एक गड़बड़ है। वहां बहुत सारी विरासत सामान है। मुझे एक वास्तविक दुनिया में इसे तोड़ने की कोशिश करें।

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

जैसे, और विशेष रूप से आपके जैसे परिदृश्य में, सक्षम पासवर्ड जानना कुछ भी करने के लिए अनिवार्य है। आप कह सकते हैं कि यह सुरक्षा का दूसरा स्तर है - डिवाइस में प्रवेश करने के लिए एक पासवर्ड, प्रशासनिक विशेषाधिकार में वृद्धि करने के लिए दूसरा - लेकिन यह मुझे थोड़ा मूर्खतापूर्ण लगता है।

जैसा कि पहले ही उल्लेख किया गया है, आप (और बहुत से लोग करते हैं) एक ही पासवर्ड का उपयोग कर सकते हैं, जो बहुत मदद नहीं करता है अगर किसी ने टेलनेट / एसएचएस के माध्यम से अनधिकृत पहुंच प्राप्त की है। स्थिर होने के कारण, सभी के द्वारा साझा किए गए वैश्विक पासवर्ड यकीनन एक मुद्दे की तुलना में अधिक हैं, जिसमें प्रवेश करने के लिए केवल एक टोकन होना चाहिए। अंत में, अधिकांश अन्य प्रणालियों (सेवाओं, उपकरणों, आदि) को प्रमाणीकरण की दूसरी परत की आवश्यकता नहीं होती है, और आमतौर पर इसे असुरक्षित नहीं माना जाता है।

ठीक है, इस विषय पर मेरी राय है। आपको खुद तय करना होगा कि क्या यह आपके स्वयं के सुरक्षा रुख के प्रकाश में है। चलो पहले कारोबार करें।

सिस्को (बुद्धिमानी से) आपको डिफ़ॉल्ट रूप से रिमोट एक्सेस पासवर्ड सेट करने की आवश्यकता होती है। जब आप लाइन कॉन्फ़िगरेशन मोड में आते हैं ...

router> enable
router# configure terminal
router(config)# line vty 0 15
router(config-line)#

... आप राउटर को प्रमाणीकरण छोड़ने के लिए कह सकते हैं:

router(config-line)# no login

... और तुरंत हैक हो जाते हैं, लेकिन आपका हमलावर उपयोगकर्ता मोड में समाप्त हो जाएगा। इसलिए यदि आपके पास एक सक्षम पासवर्ड सेट है, तो कम से कम आपके पास कुछ नुकसान सीमित है जो किया जा सकता है। (तकनीकी रूप से, आप सक्षम पासवर्ड के बिना किसी भी आगे नहीं जा सकते हैं । एक पल में अधिक ...

स्वाभाविक रूप से, कोई भी वास्तविक जीवन में ऐसा नहीं करेगा। डिफ़ॉल्ट रूप से और सामान्य ज्ञान से आपकी न्यूनतम आवश्यकता, एक सरल पासवर्ड सेट करना है:

router(config-line)# login
router(config-line)# password cisco

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

$ telnet 10.1.1.1
Trying 10.1.1.1...
Connected to 10.1.1.1.
Escape character is '^]'.


User Access Verification

Password: *****
router> enable
% No password set
router> 

चल रहा है ... आप शायद पहले से ही जानते हैं कि डिफ़ॉल्ट रूप से, आपके सभी कॉन्फ़िगर किए गए पासवर्ड सादे पाठ के रूप में दिखाई देते हैं:

router# show run | inc password
no service password-encryption
 password cisco

यह उन चीजों में से एक है जो सुरक्षा-सचेत के स्फिंक्टर को मजबूत करता है। क्या यह उचित चिंता है फिर से आप के लिए खुद को तय करना है। एक तरफ, यदि आपके पास कॉन्फ़िगरेशन को देखने के लिए पर्याप्त पहुंच है , तो संभवतः आपके पास कॉन्फ़िगरेशन को बदलने के लिए पर्याप्त पहुंच है । दूसरी ओर, यदि आप लापरवाही से किसी ऐसे व्यक्ति के पास अपने कॉन्फ़िगरेशन का पता लगाते हैं, जिसके पास खुद का साधन नहीं है, तो ... ठीक है, अब उनके पास साधन नहीं हैं।

सौभाग्य से, ऊपर की स्निपेट में वह पहली पंक्ति है, जिसे no service password-encryptionबदलने की कुंजी है:

router(config)# service password-encryption
router(config)# line vty 0 15
router(config-line)# password cisco

अब, जब आप विन्यास को देखते हैं, तो आप इसे देखते हैं:

router(config-line)# do show run | begin line vty
line vty 0 4
 password 7 01100F175804
 login
line vty 5 15
 password 7 01100F175804
 login
!
!
end

यह सादे-टेक्स्ट पासवर्ड की तुलना में थोड़ा बेहतर है, क्योंकि प्रदर्शित स्ट्रिंग कंधे-सर्फ के लिए पर्याप्त यादगार नहीं है। हालांकि, यह डिक्रिप्ट करने के लिए तुच्छ है - और मैं उस शब्द का उपयोग शिथिल रूप से करता हूं। आप सचमुच उस स्ट्रिंग को पहले Google परिणाम पृष्ठ पर एक दर्जन जावास्क्रिप्ट पासवर्ड पटाखे में से एक में ऊपर चिपका सकते हैं, और मूल पाठ तुरंत वापस पा सकते हैं।

इन तथाकथित "7" पासवर्ड को आमतौर पर "एन्क्रिप्टेड" के बजाय "अप्रभावित" माना जाता है, इस तथ्य को उजागर करने के लिए कि यह कुछ भी नहीं की तुलना में मुश्किल से बेहतर है।

जैसा कि यह पता चला है, हालांकि, उन सभी passwordआदेशों को हटा दिया गया है। (या यदि वे नहीं हैं, तो उन्हें होना चाहिए।) यही कारण है कि आपके पास निम्नलिखित दो विकल्प हैं:

router(config)# enable password PlainText
router(config)# enable secret Encrypted
router(config)# do show run | inc enable
enable secret 5 $1$sIwN$Vl980eEefD4mCyH7NLAHcl
enable password PlainText

गुप्त संस्करण को एक तरफ़ा एल्गोरिथ्म के साथ हैश किया गया है, जिसका अर्थ मूल पाठ को वापस लाने का एकमात्र तरीका है, जानवर-बल द्वारा - यानी हर संभव इनपुट स्ट्रिंग की कोशिश करना जब तक कि आप ज्ञात हैश उत्पन्न नहीं करते।

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

यदि आप स्वयं उपरोक्त कॉन्फ़िगरेशन का उपयोग करने के लिए थे, तो राउटर दोनों enable passwordऔर enable secretलाइनों को मौजूद होने की अनुमति देगा , लेकिन पासवर्ड प्रॉम्प्ट से गुप्त जीतता है। यह उन सिस्को-आइम्स में से एक है जो बहुत मायने नहीं रखता है, लेकिन यह जिस तरह से है। इसके अलावा, secretलाइन कॉन्फ़िगरेशन मोड से कोई समतुल्य कमांड नहीं है, इसलिए आप वहां obfuscated पासवर्ड के साथ फंस गए हैं।

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

SSH को अधिक मजबूत सुरक्षा को ध्यान में रखते हुए डिजाइन किया जा रहा है, इसके लिए थोड़े अतिरिक्त काम की आवश्यकता होती है - और एक निश्चित फीचर सेट के साथ एक IOS छवि। एक बड़ा अंतर यह है कि एक सरल पासवर्ड अब पर्याप्त नहीं है। आपको उपयोगकर्ता-आधारित प्रमाणीकरण के लिए स्नातक होना चाहिए। और जब आप इस पर हों, तो एक एन्क्रिप्शन कुंजी जोड़ी सेट करें:

router(config)# username admin privilege 15 secret EncryptedPassword
router(config)# line vty 0 15
router(config-line)# transport input ssh
router(config-line)# no password
router(config-line)# login local
router(config-line)# exit
router(config)# ip ssh version 2
router(config)# crypto key generate rsa modulus 1024

अब आप गैस से खाना बना रहे हैं! ध्यान दें कि यह कमांड secretपासवर्ड का उपयोग करता है । (हां, आप कर सकते हैं, लेकिन नहीं करना चाहिए, उपयोग करें password)। privilege 15भाग बाईपास उपयोगकर्ता मोड पूरी तरह से करने के लिए आप की अनुमति देता है। जब आप लॉग इन करते हैं, तो आप सीधे विशेषाधिकार प्राप्त मोड में जाते हैं:

$ ssh admin@10.1.1.1
Password: *****

router#

इस परिदृश्य में, सक्षम पासवर्ड (या गुप्त) का उपयोग करने की कोई आवश्यकता नहीं है।

यदि आप अभी तक नहीं सोच रहे हैं, "वाह ... क्या एक क्लस्टरफूड " था, तो ध्यान में रखें कि एक पूरी लंबी-लंबी पोस्ट है जो अब भी कमांड के पीछे दुबकी हुई हैaaa new-model , जहां आपको बाहरी प्रमाणीकरण सर्वर (RADIUS) जैसी चीजों में गोता लगाना पड़ता है , टीएसीएसीएस +, एलडीएपी, आदि), प्रमाणीकरण सूचियां (जो उपयोग करने के लिए स्रोतों को परिभाषित करती हैं, और किस क्रम में), प्राधिकरण स्तर, और उपयोगकर्ता गतिविधि लेखांकन।

उस सभी समय के लिए बचाएं जब आपको लगता है कि आपके राउटर से थोड़ी देर के लिए लॉक हो रहा है।

उम्मीद है की वो मदद करदे!


1
स्वागत हे! शानदार पहला जवाब!
डिजिटल ट्रामा

धन्यवाद, यह एक बहुत ही व्यावहारिक जवाब है। मुझे विभिन्न पासवर्ड एन्क्रिप्शन उपकरणों के बारे में पता है, और मैं आआ न्यू-मॉडल का उपयोग कर रहा हूं (मैंने उस प्रश्न को प्रतिबिंबित करने के लिए अपना प्रश्न संपादित किया है)।
मारवान

सक्षम गुप्त न होना मेरे लिए कोई मुद्दा नहीं लगता। चाहे मैं एक उपयोगकर्ता नाम / पासवर्ड या सार्वजनिक कुंजी के साथ टेलनेट / ssh enableकरता हूं, मैं बस टाइप कर सकता हूं और यह काम करता है। इसके अलावा, विशेषाधिकार 15 के साथ एक उपयोगकर्ता नाम होने के बाद भी मुझे सक्षम टाइप करने की आवश्यकता है। क्या यह आआ न्यू-मॉडल के कारण है?
मारवान

1
क्या आपने प्रमाणीकरण सूचियों को परिभाषित करने का प्रयास किया है? "आआ आथेंटिकेशन लॉगिन डिफॉल्ट लोकल", और "आआ ऑथराइजेशन एक्जीक्यूट डिफॉल्ट लोकल" का प्रयोग करें। वैकल्पिक रूप से, बाद में "स्थानीय" के बजाय "यदि-प्रमाणित" का उपयोग करें।
SirNickity

मैंने 2811 पर चल रहे IOS 15.1 (4) M पर आपके कॉन्फ़िगरेशन को डुप्लिकेट करने की कोशिश की और कुछ दिलचस्प परिणाम पाए। अगर मैंने एए ऑर्टेन / लेखक लाइनों को परिभाषित नहीं किया है, तो मैं एक सार्वजनिक कुंजी और कोई वैश्विक उपयोगकर्ता नाम विवरण के साथ लॉग इन कर सकता हूं। यदि मैं अपनी पिछली टिप्पणी के अनुसार ऑर्टन / लेखक लाइनों को परिभाषित करता हूं, तो मैं एसएसएच को केवल एक सार्वजनिक कुंजी के साथ सक्षम नहीं कर सकता हूं - वैश्विक उपयोगकर्ता नाम कमांड की आवश्यकता है (अन्यथा प्राधिकरण विफलता)। यदि मैं कुछ बेवकूफ करता हूं और एक वैश्विक उपयोगकर्ता नाम दर्ज करता हूं। एक गुप्त / पासवर्ड, SSH एक कुंजी के साथ काम करता है, लेकिन टेलनेट w / oa पासवर्ड काम करता है - इसलिए ऐसा न करें।
SirNickity

4

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

कई उपयोगकर्ताओं के लिए, मैं आपको AAA प्रमाणीकरण सेट करने की सलाह देता हूं, जो आपको किसी अन्य पासवर्ड को दर्ज किए बिना सीधे सक्षम मोड में जाने की अनुमति देगा। यह आपको व्यक्तिगत व्यवस्थापक की गतिविधि को ट्रैक करने की भी अनुमति देगा। (लेकिन आपको अभी भी गुप्त पासवर्ड को कुछ पर सेट करने की आवश्यकता है।)

aaa new model
aaa authentication login default local
aaa authorization enable default local

username chen-li password foo privilege 15
username safar password bar privilege 15

2
रॉन के उत्तर का बैकअप लेने के लिए, यह सक्षम होना चाहिए यदि आप विशेषाधिकारित निष्पादन मोड में प्रवेश करना चाहते हैं जब तक कि आप सीधे VTYs को 15 के स्तर पर प्रवेश करने के लिए कॉन्फ़िगर नहीं करते हैं।
jwbensley

@jwbensley। अच्छा विचार। मैं उसके बारे में भूल गया था।
रॉन ट्रंक

मैं आआ न्यू-मॉडल का उपयोग कर रहा हूं, लेकिन विशेषाधिकार 15 सेट करने के बाद भी मुझे सक्षम कमांड का उपयोग करने की आवश्यकता है। मुझे या तो सक्षम सीक्रेट / पासवर्ड की आवश्यकता नहीं है (मैंने अभी यह सब परीक्षण किया है)।
मारवान

काम पर जाओ। जाहिर तौर पर मुझे aaa authorization exec default localविशेषाधिकार प्राप्त निष्पादन को स्वचालित रूप से दर्ज करने की आवश्यकता है ।
मारवान

1

मौजूदा जानकारी को यहां जोड़ने के लिए।

enable

enableपासवर्ड सेट करने का पहला विकल्प है enable password

Switch(config)#enable password passfoo
Switch#show running-config | include enable
enable password passfoo

जैसा कि आप देख सकते हैं, पासवर्ड सादे पाठ में संग्रहीत है। यह बुरा है

दूसरा है enable secret

Switch(config)#enable secret ?
  0      Specifies an UNENCRYPTED password will follow
  5      Specifies a MD5 HASHED secret will follow
  8      Specifies a PBKDF2 HASHED secret will follow
  9      Specifies a SCRYPT HASHED secret will follow
  LINE   The UNENCRYPTED (cleartext) 'enable' secret
  level  Set exec level password
Switch(config)#enable secret passfoo
Switch#show running-config | include enable
enable secret 5 $1$cSF4$uydOsfi3J2vGT.77tuYWh1

यह बेहतर है । कम से कम अब हमारे पास पासवर्ड का हैश है। हालाँकि, यह अभी भी केवल नमकीन MD5 का उपयोग करता है, इसलिए यह संभवतः एक बड़ी शब्द सूची और ओपनसेल के साथ क्रैक करना आसान है।

तीसरा विकल्प (और इस उत्तर का उद्देश्य) है enable algorithm-typeजो हमें PBKDF2 या SCRYPT का उपयोग करने की अनुमति देता है।

Switch(config)#enable algorithm-type ?
  md5     Encode the password using the MD5 algorithm
  scrypt  Encode the password using the SCRYPT hashing algorithm
  sha256  Encode the password using the PBKDF2 hashing algorithm
Switch(config)#enable algorithm-type scrypt secret ?
  LINE   The UNENCRYPTED (cleartext) 'enable' secret
  level  Set exec level password
Switch(config)#enable algorithm-type scrypt secret passfoo
Switch#show running-config | include enable
enable secret 9 $9$dXjOMeJPYKOFbl$0D4.ItXi8yrjp.A9dt7Ew6tTgr3LYmMlzD672d.LjFk

यह निश्चित रूप से सर्वश्रेष्ठ है

फिलिप डी'एथ ने एक अच्छा सारांश लिखा है कि क्यों चुना गया है 9. टाइप करें। थॉमस पोर्निन और इल्मरी करोनन गहराई से जानकारी प्रदान करते हैं।


0

यह मूल रूप से सुरक्षा की एक अतिरिक्त परत है। यदि आपके पास आईओएस का एक संस्करण नहीं है जो सेवा पासवर्ड-एन्क्रिप्शन का समर्थन करता है, तो केवल सक्षम पासवर्ड एन्क्रिप्ट किए गए हैं जबकि कंसोल और वीटीवाई पासवर्ड सादे हैं। यदि कोई आपके कॉन्फ़िगर की प्रतिलिपि प्राप्त करने में सक्षम था (एक बैकअप से कहें, या एक अनअटेंडेड कंप्यूटर जिसे टेलनेट किया गया था), एन्क्रिप्ट किया गया सक्षम पासवर्ड आपके राउटर का नियंत्रण प्राप्त करना और भी मुश्किल बना देगा, भले ही वे टेलनेट को अंदर कर सकें।

एन्क्रिप्टेड वीटीवाई और कंसोल पासवर्ड के साथ भी, आपके पास सुरक्षित साइड पर एक अलग सक्षम पासवर्ड होना चाहिए और एक अतिरिक्त अवरोध प्रदान करना चाहिए।


0

शट डाउन 2 में से 1 एडमिन users.cisco के हैं, जो किसी भी, किसी भी, किसी भी तरह के संभव हैक एंट्री पॉइंट्स से कनेक्ट कर सकते हैं। दो प्रवेश के साथ। कनेक्टेड सिस्को का मानना ​​है कि एक घुसपैठिया भी जुड़ा हुआ है और उचित लॉगिन के बिना आगे की प्रगति को अवरुद्ध करता है। नियंत्रण को फिर से स्थापित किया जाता है, आपको व्यवस्थापक को जोड़ने में सक्षम होना चाहिए

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.