मैं टॉमकैट उपयोगकर्ताओं के लिए गैर-सादे पासवर्ड का उपयोग कैसे करूं?


19

Ubuntu 10.04.3 LTS पर, Tomcat 6 को स्थापित करने के बाद, प्रबंधक / व्यवस्थापक खाता जोड़ने का तरीका इसके लिए एक रिकॉर्ड जोड़ना है /etc/tomcat6/tomcat-users.xml:

<role rolename="manager"/>
<role rolename="admin"/>
<user username="user" password="password" roles="manager,admin"/>

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

जवाबों:


14

इस पेज से लिया गया

  1. server.xmlमूल्य के रूप में हैश एल्गोरिथ्म के साथ अपने तत्व पर "डाइजेस्ट" विशेषता जोड़ें (संभावित मान उदाहरण के लिए हैं md5, sha-1या sha-256, जहां बाद की जोरदार सिफारिश की गई है)।
  2. Daud $CATALINE_HOME/bin/digest.sh -a <YOUR_HASH_ALGORITHM> <YOUR_PASSWORD>
  3. आपको निम्न फॉर्म में आउटपुट मिलेगा <YOUR_PASSWORD>:<ENCRYPTED_PASSWORD>
  4. उपयोगकर्ता की का मूल्य बदलें passwordअपने में विशेषता tomcat-users.xmlके<ENCRYPTED_PASSWORD>
  5. फिर से शुरू करें

इसे भी देखें: टॉमकैट डाइजेस्ट पासवर्ड


1
+1, लेकिन एमडी 5 पर ईक। उपयोग "sha-1"या "sha-256", अगर यह काम करेगा।
शेन मैडेन

1
टॉमकैट 7 में अब ऐसा करने के लिए बिन डाइरेक्टरी में डाइजेस्ट है। उदाहरण:digest.bat -a "md5" <YOUR_PASSWORD>
Zasz

1
यह Tomat 8.5.x के लिए अपूर्ण है। पूर्ण चरणों के लिए नीचे मेरी टिप्पणी देखें। आपको अपने दायरे को server.xml के साथ-साथ web.xml प्रमाणीकरण विधि में भी बदलना होगा।
atom88

8

यहाँ पर आने वाले किसी भी व्यक्ति को Tomcat 8.0.15 या नए के बारे में जानकारी की तलाश में, आपको शायद PBKDF2 के साथ SecretKeyCredentialHandler का उपयोग करना चाहिए, क्योंकि यह एक सरल संदेश डाइजेस्ट की तुलना में बहुत अधिक सुरक्षित (क्रैक करने के लिए कठिन) है।

उदाहरण के लिए, अपने server.xml में:

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
       resourceName="UserDatabase">
   <CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
                      algorithm="PBKDF2WithHmacSHA512"
                      keyLength="256"
   />
</Realm>

इस कॉन्फ़िगरेशन के साथ, अपने पासवर्ड से हैशेड आउटपुट उत्पन्न करने के लिए निम्नलिखित का उपयोग करें:

 $CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"

अपने चयन के पुनरावृत्ति-गणना और नमक के आकार (बाइट्स में) के साथ। ध्यान दें कि बग की लंबाई 60446 के कारण सर्वर की लंबाई के बराबर ही होनी चाहिए । यह बहुत जल्द ही ऊपर की तरफ तय किया जाना चाहिए।

चेतावनी! कृपया सुनिश्चित करें कि आपका पासवर्ड आपके शेल के कमांड इतिहास में सहेजा नहीं गया है। बैश में यह एक खाली जगह के साथ कमांड से पहले प्राप्त किया जाता है।

कमांड आपके पासवर्ड को सादे-पाठ में और परिणामी क्रेडेंशियल्स के हेक्स-प्रतिनिधित्व के रूप में आउटपुट करेगा, जिसे आपको अपने पासवर्ड विशेषता के रूप में अपने tomcat-users.xml में उपयोग करना चाहिए।

क्रेडेंशियल हैंडलर घटक के लिए प्रलेखन यहां पाया जा सकता है । एल्गोरिथ्म विशेषता के लिए संभावित मान यहां पाए जा सकते हैं


0

1) पासवर्ड जनरेट करें: /bin>digest.bat -s 0 -a sha-256

उदाहरण: /bin>digest.bat -s 0 -a sha-256 व्यवस्थापक

उपयोग करने के लिए पासवर्ड है: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

* महत्वपूर्ण नोट: आप "-s 0" (नमक 0) का उपयोग करें या यह काम नहीं करेगा।

2) अपने tomcat-users.xml फ़ाइल में पासवर्ड डालें।

उदाहरण:

<!-- for password “admin” -->
<user username="tomcat" password="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918" roles="manager-gui,manager,admin"></user>

3) SHA-256 डाइजेस्ट हैशेड आधारित पासवर्ड का उपयोग करने के लिए server.xml कॉन्फ़िगर करें:

4) "DIGEST" पासवर्ड का उपयोग करने के लिए और ऊपर (HTMLManager अनुभाग में) RealmName को अपडेट करने के लिए अपने web.xml को कॉन्फ़िगर करें

 <catalina_home>/webapps/manager\WEB-INF\web.xml

    <login-config>
        <auth-method>DIGEST</auth-method>
        <realm-name>UserDatabase</realm-name> 
    </login-config>

Full context:
  <servlet>
    <servlet-name>HTMLManager</servlet-name>
    <servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>

… SNIPPED_FOR_BREVITY ...   

    <login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>UserDatabase</realm-name>
  </login-config>

    <multipart-config>
      <!-- 50MB max -->
      <max-file-size>52428800</max-file-size>
      <max-request-size>52428800</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
  </servlet>

आप हैशेड पासवर्ड के साथ DIGEST ऑउटफिट को भ्रमित कर रहे हैं। प्रश्न बुनियादी पासवर्ड के साथ हैशेड पासवर्ड का उपयोग करने के बारे में है।
रस्टेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.