В Ubuntu 18.04 перестала виконуватись аплікація для адміністрування Cisco ASA - ASDM.
Аплікація запускається через скрипт asdm.sh, що має вигляд
javaws https://X.X.X.X/admin/public/asdm.jnlp
Тобто аплікація запускається, але після вводу логіну і паролю, завмирає.
Якщо відкрити консоль Java, то можна побачити повідомлення про помилку у сертифікатах, щось на зразок
java.lang.ClassNotFoundException:
com.sun.javaws.security.CertificateHostnameVerifier
at
net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1640)
.......
.......
invoking SGZ Loader..
Cache location = /root/.asdm/cache
Exception in thread "SGZ Loader: applet thread"
java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder
at
com.cisco.nm.dice.loader.Loader.getHttpAutorizationProperty(Unknown Source)
Виявилось, що проблема у збільшених вимогах до безпеки в Ubuntu 18.04 та у сумісності з новою версією 11 OpenJDK.
Можна видалити встановлену за умовчанням OpenJDK версію 11, та встановити версію 8 OpenJDK, або встановити її на додаток до версії 11.
Потім треба налаштувати OpenJDK, за допомогою панелі керування Iced Tea Web Control Panel, для запуску котрої можна у launcher набрати java і отримаємо посилання на панелі керування. Потрбіно вказати де розташована потрібна версія OpenJDK.
Може з'витись повідомлення від Java "
"The server selected protocol version TLS10 is not accepted by client preferences"
У такому випадку потрібно у теці jrex.x.x_xxx\lib\security у файлі java.security у параметрі jdk.tls.disabledAlgorithms видалити TLSv1.
Пораду знайшов у
Аплікація запускається через скрипт asdm.sh, що має вигляд
javaws https://X.X.X.X/admin/public/asdm.jnlp
Тобто аплікація запускається, але після вводу логіну і паролю, завмирає.
Якщо відкрити консоль Java, то можна побачити повідомлення про помилку у сертифікатах, щось на зразок
java.lang.ClassNotFoundException:
com.sun.javaws.security.CertificateHostnameVerifier
at
net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1640)
.......
.......
invoking SGZ Loader..
Cache location = /root/.asdm/cache
Exception in thread "SGZ Loader: applet thread"
java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder
at
com.cisco.nm.dice.loader.Loader.getHttpAutorizationProperty(Unknown Source)
Виявилось, що проблема у збільшених вимогах до безпеки в Ubuntu 18.04 та у сумісності з новою версією 11 OpenJDK.
Можна видалити встановлену за умовчанням OpenJDK версію 11, та встановити версію 8 OpenJDK, або встановити її на додаток до версії 11.
Потім треба налаштувати OpenJDK, за допомогою панелі керування Iced Tea Web Control Panel, для запуску котрої можна у launcher набрати java і отримаємо посилання на панелі керування. Потрбіно вказати де розташована потрібна версія OpenJDK.
Та вказати трохи менший рівень безпеки.
Також можна встановити SUN Java (Oracle Java) і використовувати javaws з цього пакету. Тоді для налаштування рівню безпеки потрібно запустити Oracle Java 7 Plugin Control Panel, котру можна знайти у /usr/bin/jdk1.8.0_05/bin/ControlPanel. Де треба вказати адресу Cisco ASA, з котрого запускається ASDM, як виключення.
Тоді для запуску ASDM використовуємо скрипт
/usr/local/jdk1.8.0_NNN/jre/bin/javaws https://X.X.X.X/admin/public/asdm.jnlp
Також можна використовувати складніший скрипт, котрий доступний у Windows при встановленні asdm.msi. Цей скрипт asdm-launcher.sh має вигляд
Також можна встановити SUN Java (Oracle Java) і використовувати javaws з цього пакету. Тоді для налаштування рівню безпеки потрібно запустити Oracle Java 7 Plugin Control Panel, котру можна знайти у /usr/bin/jdk1.8.0_05/bin/ControlPanel. Де треба вказати адресу Cisco ASA, з котрого запускається ASDM, як виключення.
Тоді для запуску ASDM використовуємо скрипт
/usr/local/jdk1.8.0_NNN/jre/bin/javaws https://X.X.X.X/admin/public/asdm.jnlp
Також можна використовувати складніший скрипт, котрий доступний у Windows при встановленні asdm.msi. Цей скрипт asdm-launcher.sh має вигляд
#!/bin/sh
# Evoke ASDM-IDM Launcher on *NIX-based systems.
# Copyright (c) 2009-2010 Cisco Systems, Inc.
# All rights reserved.
DIRNAME=`dirname "$0"`
cd "${DIRNAME}"
case "`uname`" in
CYGWIN*)
s=';'
;;
*)
s=':'
;;
esac
pwd
exec java -Xms64m -Xmx512m -XX:MaxNewSize=1024k \
-Dsun.swing.enableImprovedDragGesture=true \
-Dapple.laf.useScreenMenuBar=true \
-Dapple.awt.graphics.UseQuartz=true \
-classpath \
lzma.jar${s}jploader.jar${s}asdm-launcher.jar${s}retroweaver-rt-2.0.jar \
com.cisco.launcher.Launcher
"The server selected protocol version TLS10 is not accepted by client preferences"
У такому випадку потрібно у теці jrex.x.x_xxx\lib\security у файлі java.security у параметрі jdk.tls.disabledAlgorithms видалити TLSv1.
Пораду знайшов у
https://stackoverflow.com/questions/67246010/error-message-the-server-selected-protocol-version-tls10-is-not-accepted-by-cli
Коментарі
Дописати коментар