Безопасность : Cisco Identity Services Engine Software

Обновление Java принуждает проверки CRL по умолчанию, который предотвращает гостевые потоки и NSP

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Отзыв

Введение

Этот документ описывает проблему, с которой встречаются, где последнее обновление Java ломает соискателя, обеспечивающего и некоторые гостевые потоки, которые используют Списки контроля доступа (ACL) и перенаправление.

Внесенный Сэмом Хертикой, Джесси Дюбуа, и Джоном Ньюманом, специалистами службы технической поддержки Cisco.

Общие сведения

Ошибка находится в CiscoSPWDownloadFacilitator и читает "Подведенный для проверки сертификата. Приложение не будет выполняться".

При нажатии More Information вы получаете выходные данные, которые жалуются на Список отозванных сертификатов (CRL).

java.security.cert.CertificateException: java.security.cert.
CertPathValidatorException: java.io.IOException: DerInputStream.getLength():
lengthTag=127, too big.
at com.sun.deploy.security.RevocationChecker.checkOCSP(Unknown Source)
at com.sun.deploy.security.RevocationChecker.check(Unknown Source)
at com.sun.deploy.security.TrustDecider.checkRevocationStatus(Unknown Source)
at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source)
at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider
(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy
(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Suppressed: com.sun.deploy.security.RevocationChecker$StatusUnknownException
at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)
... 34 more
Caused by: java.security.cert.CertPathValidatorException:
java.io.IOException: DerInputStream.getLength(): lengthTag=127, too big.
at sun.security.provider.certpath.OCSP.check(Unknown Source)
at sun.security.provider.certpath.OCSP.check(Unknown Source)
at sun.security.provider.certpath.OCSP.check(Unknown Source)
... 35 more
Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=127, too big.
at sun.security.util.DerInputStream.getLength(Unknown Source)
at sun.security.util.DerValue.init(Unknown Source)
at sun.security.util.DerValue.<init>(Unknown Source)
at sun.security.provider.certpath.OCSPResponse.<init>(Unknown Source)
... 38 more

Проблема

В последней версии Java (Версия 7, Обновление 25 - освобожденный 5 августа 2013), Oracle представил новую настройку по умолчанию, которая вынуждает клиент проверить сертификат, привязанный к любому апплету против любого CRL или Онлайнового протокола статуса сертификата (OCSP).

Сертификат подписания партнеры Cisco с этими апплетами имеет перечисленный CRL и OCSP с Thawte. Из-за этого нового изменения, когда клиент Java пытается обратиться к Thawte, он заблокирован любым ACL порта и/или ACL перенаправления.

Проблема отслежена под идентификатором ошибки Cisco CSCui46739.

Решение

Опция 1 - переключается, или сторона контроллера беспроводной локальной сети исправляют

  1. Перепишите любое перенаправление или ACL на основе порта для разрешения трафика Thawte и Verisign. Unforunately, одно ограничение с этой опцией - то, что ACL не могут быть созданы от доменных имен.
  2. Решите список CRL вручную и поместите его в ACL перенаправления.

Примечание: Если клиент должен связаться через межсетевой экран, правила межсетевого экрана, возможно, должны были бы быть обновлены.

[user@user-linux logs]$ nslookup
> crl.thawte.com
Server:        64.102.6.247
Address:       64.102.6.247#53

Non-authoritative answer:
crl.thawte.com canonical name = crl.ws.symantec.com.edgekey.net.
crl.ws.symantec.com.edgekey.net canonical name = e6845.ce.akamaiedge.net.
Name:  e6845.ce.akamaiedge.net
Address: 23.5.245.163

> ocsp.thawte.com
Server:        64.102.6.247
Address:       64.102.6.247#53

Non-authoritative answer:
ocsp.thawte.com canonical name = ocsp.verisign.net.
Name:  ocsp.verisign.net
Address: 199.7.48.72

Если эти имена DNS изменение и клиенты решение что-то еще, перепишите URL перенаправления с обновленными адресами.

ACL перенаправления в качестве примера:

     5 remark ISE IP address
10 deny ip any host X.X.X.X (467 matches)
15 remark crl.thawte.com
   20 deny ip any host 23.5.245.163 (22 matches)
25 remark ocsp.thawte.com
   30 deny ip any host 199.7.52.72
   40 deny udp any any eq domain (10 matches)
   50 permit tcp any any eq www (92 matches)
   60 permit tcp any any eq 443 (58 matches)

Тестирование показало OSCP, и URL CRL решают к этим IP-адресам:

OCSP
199.7.48.72
199.7.51.72
199.7.52.72
199.7.55.72
199.7.54.72
199.7.57.72
199.7.59.72


CRL
23.4.53.163
23.5.245.163
23.13.165.163
23.60.133.163
23.61.69.163
23.61.181.163

Это не могло бы быть полным списком и могло бы измениться на основе географии, таким образом тестирование требуется, чтобы обнаруживать, какой IP-адрес (а) хосты решают в каждом экземпляре.

Опция 2 - клиентская сторона исправляет

В Усовершенствованном разделе Панели управления Java Выполняет набор, аннулирование сертификата начинает работу, чтобы не Сделать проверки (не рекомендуемый).

  OSX: Установки системы> Java
          Усовершенствованный
          Выполните использование аннулирования сертификата: Изменитесь, чтобы 'Не сделать проверки (не рекомендуемый)'

  Windows: Панель управления > Java
          Усовершенствованный
          Выполните использование аннулирования сертификата: Изменитесь, чтобы 'Не сделать проверки (не рекомендуемый)'


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.