Как я использую ненезашифрованные пароли для пользователей Tomcat?

Некоторые EULAs указывают явно, что, когда Вам больше не лицензируют, необходимо уничтожить все копии программного обеспечения. В то время как я лично соглашаюсь, что неоперабельная машина с unllicensed установленным программным обеспечением должна быть в порядке, если лицензия явно указывает удаление программного обеспечения после истечения лицензии, то это может быть наилучшим вариантом с точки зрения ответственности.

Тем не менее я не адвокат и как указано выше лучшее решение состояло бы в том, чтобы консультироваться с EULA для программного обеспечения и/или связаться, поставщик коснулся

19
задан 29 July 2011 в 22:24
3 ответа

Взятый от этой страницы

  1. добавьте атрибут "обзора" на своем элементе в server.xml с хеш-алгоритмом как значение (возможные значения, например, md5, sha-1 или sha-256, где последнему настоятельно рекомендуют).
  2. Выполненный $CATALINE_HOME/bin/digest.sh -a <YOUR_HASH_ALGORITHM> <YOUR_PASSWORD>
  3. Вы получите вывод в следующей форме <YOUR_PASSWORD>:<ENCRYPTED_PASSWORD>
  4. Значение замены пользователя password атрибут в Вашем tomcat-users.xml кому: <ENCRYPTED_PASSWORD>
  5. кот перезапуска

См. также: Пароль обзора Tomcat

14
ответ дан 2 December 2019 в 20:18

Тем, кто приходит сюда в поисках информации о Tomcat 8.0.15 или новее, вам, вероятно, следует использовать SecretKeyCredentialHandler с PBKDF2, поскольку он намного безопаснее (т.е. труднее взломать), чем простой дайджест сообщения .

Например, в вашем 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"

с счетчиком итераций и размером соли (в байтах) вашего выбор. Обратите внимание, что длина ключа должна быть такой же, как определенная в server.xml из-за ошибки 60446 . Однако это должно быть исправлено довольно скоро в апстриме.

ПРЕДУПРЕЖДЕНИЕ! Убедитесь, что ваш пароль не сохраняется в истории команд вашей оболочки. В bash это достигается за счет ввода перед командой пустого места.

Команда выведет ваш пароль в виде обычного текста и шестнадцатеричное представление полученных учетных данных, которые вы должны использовать в качестве атрибута пароля в ваших tomcat-users .xml.

Документацию для компонента CredentialHandler можно найти здесь . Возможные значения атрибута алгоритма можно найти здесь .

8
ответ дан 2 December 2019 в 20:18

1) Сгенерируйте пароль: /бин>digest.bat -s 0 -a sha-256

Пример: /bin>digest.bat -s 0 -a sha-256 admin

Пароль для использования: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

* Важное примечание: Вы должны использовать "-s 0 "(соль 0), иначе это не сработает.

2) вставьте пароль выше в ваш файл tomcat-users.xml.

Пример:

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

3) настройте server.xml на использование SHA-256 паролей, основанных на хэшировании:

4) настройте ваш веб. xml для использования паролей "DIGEST" и обновления RealmName для соответствия вышеописанному (в разделе HTMLManager)

 <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>
0
ответ дан 2 December 2019 в 20:18

Теги

Похожие вопросы