Jnlp, чем open linux

Обновлено: 30.06.2024

База данных эксплойтов поддерживается Offensive Security, компанией по обучению информационной безопасности, которая предоставляет различные сертификаты информационной безопасности, а также высококлассные услуги по тестированию на проникновение. База данных эксплойтов – это некоммерческий проект, предоставляемый Offensive Security в качестве общедоступной услуги.

База данных эксплойтов — это CVE-совместимый архив общедоступных эксплойтов и соответствующего уязвимого программного обеспечения, разработанный для использования тестировщиками на проникновение и исследователями уязвимостей. Наша цель — предоставить наиболее полную коллекцию эксплойтов, собранных посредством прямой отправки, списков рассылки, а также других общедоступных источников, и представить их в свободно доступной и удобной для навигации базе данных. База данных эксплойтов — это хранилище эксплойтов и доказательств концепции, а не рекомендаций, что делает ее ценным ресурсом для тех, кому нужны данные для действий прямо сейчас.

База данных Google Hacking Database (GHDB) – это систематизированный индекс запросов поисковых систем в Интернете, предназначенный для обнаружения интересной и обычно конфиденциальной информации, которая находится в открытом доступе в Интернете. В большинстве случаев эта информация никогда не предназначалась для обнародования, но в силу ряда факторов эта информация была связана в веб-документе, который был просканирован поисковой системой, которая впоследствии перешла по этой ссылке и проиндексировала конфиденциальную информацию.

Процесс, известный как Google Hacking, был популяризирован в 2000 году Джонни Лонгом, профессиональным хакером, который начал каталогизировать эти запросы в базе данных, известной как Google Hacking Database. Его первоначальные усилия были подкреплены бесчисленными часами усилий членов сообщества, задокументированных в книге Google Hacking For Penetration Testers и популяризированных шквалом внимания средств массовой информации и выступлениями Джонни на эту тему, такими как это раннее выступление, записанное на DEFCON 13. Джонни придумал этот термин. «Googledork» для обозначения «глупого или неумелого человека, как показал Google». Это должно было привлечь внимание к тому факту, что это не «проблема Google», а скорее результат часто непреднамеренной неправильной настройки со стороны пользователя или программы, установленной пользователем. Со временем термин «дорк» стал сокращением для поискового запроса, который находил конфиденциальную информацию, а «дорки» были включены в майские выпуски уязвимостей веб-приложений, чтобы показать примеры уязвимых веб-сайтов.

После почти десятилетия упорной работы сообщества Джонни в ноябре 2010 года передал GHDB компании Offensive Security, и теперь она поддерживается как расширение базы данных эксплойтов. Сегодня GHDB включает поиск в других поисковых системах, таких как Bing, и в других онлайн-репозиториях, таких как GitHub, что дает разные, но не менее ценные результаты.

Когда Java SE прекратила поддержку JNLP, моя организация должна была решить, как лучше всего продолжить разработку важного бизнес-приложения. Вот как мы к этому пришли.

Исходный код JBoss (Java) в Atom

Алекс Санчес. CC BY-SA 4.0.

В течение последних 15 лет организация, с которой я работаю, использовала Java Network Launching Protocol (JNLP) для внутреннего распространения настольного приложения Java Swing среди своих пользователей.

Чтобы получить доступ к приложению Java Swing, пользователям необходимо было установить определенную версию платформы Java Standard Edition (Java SE), которая содержала поддержку JNLP. Когда они хотели использовать приложение, они щелкали ссылку во внутренней сети организации, и программа Java Web Start (javaws) загружала XML по ссылке, интерпретировала его, загружала текущую версию приложения, если это необходимо, и запустите его, одновременно управляя изолированной программной средой безопасности, в которой запускалось приложение. Другими словами, это был приятный и простой способ распространить полностью настроенное приложение на все рабочие столы.

Однако, поскольку JNLP больше не является частью Java SE (начиная с версии 11 и выше), организация столкнулась с решением: прекратить использование JNLP как части Java SE или отменить свою политику разумного поддержания дата с выпусками Java SE. Этот относительно простой выбор оказался несколько сложным по разным причинам.

Вариант 1. Оставайтесь с текущей версией Java SE и найдите замену JNLP

IcedTea-Web — это проект с открытым исходным кодом, предоставляющий возможности JNLP. Это подразумевает двухэтапный процесс предварительной настройки: 1) установка Java SE и 2) установка IcedTea-Web, что увеличит объем обслуживания на стороне клиента. К сожалению, когда мы оценивали варианты, не было работающего средства IcedTea-Web, совместимого с Java 11, поэтому это означало бы использование Java 8. Однако срок службы Java SE 8 подходил к концу в марте 2019 года, поэтому мы необходимо создать среду выполнения Java 8 из OpenJDK 8 для установки на клиентские машины и перейти к более ручному процессу отслеживания обновлений OpenJDK 8.Ни один из этих подходов не казался очень привлекательным.

Вариант 2: отказаться от JNLP

Поначалу такой подход казался наихудшим из возможных сценариев — нам нужно было бы изменить приложение, чтобы предоставить информацию о конфигурации другим способом; все хорошие автоматические обновления в JNLP будут отброшены; и нам понадобится какой-то процесс установки для каждой рабочей станции. Фу! Или мы могли бы переписать существующее толстое клиентское приложение, понравившееся сообществу пользователей, в виде веб-приложения. Двойное фу.

Весь этот негатив был преодолен несколькими интересными открытиями и небольшими размышлениями:

  1. Информация о конфигурации может быть упакована как метаданные в таблице метаданных, которую конечный пользователь может выбрать в качестве «конфигурации».
  2. Приложение может легко сверить свой номер версии с текущим номером распространяемой версии и отказаться от запуска или, по крайней мере, пожаловаться любому пользователю, использующему устаревшую версию.
  3. Приложение может быть упаковано вместе с настраиваемой средой выполнения Java, созданной с помощью команд jdeps и jlink, представленных в Open JDK 11, что гарантирует, что приложение всегда будет работать с правильной версией Java.
  4. Всю работу по установке и выполнению можно выполнить на стороне клиента с помощью файлов Windows .cmd, что устраняет необходимость в установщике (возможно, в один прекрасный день…).
  5. Приложение и настраиваемый дистрибутив среды выполнения Java по-прежнему можно было загрузить из интрасети.

По этой детали внимательный читатель может догадаться…

Выбранное решение

В конце концов организация решила отказаться от JNLP, поскольку объем управления конечными пользователями казался достаточно простым по сравнению с поддержкой существующей среды JNLP.

Вот подробный процесс поиска решения:

  1. Создание приложения:
    1. Приложение всегда разрабатывалось и поддерживалось с использованием среды IDE NetBeans, работающей в среде рабочего стола Linux; это все еще имеет место при использовании OpenJDK 11 (из дистрибутива) и NetBeans 10 (загруженного с нового сайта Apache NetBeans).
    2. В процессе сборки создается папка dist, не зависящая от операционной системы, содержащая JAR-файл приложения и все необходимые библиотеки.
      1. К сожалению, нет возможности настраивать кроссплатформенные среды выполнения Java, поэтому нам нужен промежуточный компьютер с Windows, назовем его IWC. (Я собираюсь прямо сказать, что это главный недостаток нашего подхода.) установлены на IWC.
      2. Папка dist приложения копируется в IWC.
      3. В папке dist команда jdeps из OpenJDK 11 определяет, какие компоненты среды выполнения Java необходимы для поддержки приложения:
      4. Используя выходные данные вышеуказанной команды, команда jlink (также из OpenJDK 11) создает настроенную среду выполнения:
      5. На этом этапе приложение можно запустить (протестировать) из этой папки с помощью команды:
      6. Файлы Install.cmd и RunTheApplication.cmd копируются в папку dist.
        1. Папка dist, содержащая приложение, файлы .cmd и пользовательскую среду выполнения, архивируется и помещается на сервер интрасети; ссылка, указывающая на ZIP-файл, позволяет пользователям загрузить его.
          1. Пользователь переходит на страницу, содержащую ссылку, указывающую на ZIP-файл.
          2. При нажатии на ссылку загружается ZIP-файл.
          3. Пользователь распаковывает ZIP-файл, переходит в папку dist и дважды щелкает Install.cmd.
          4. При выполнении Install.cmd копируется папка dist в известное место на компьютере пользователя и устанавливается ссылка RunTheApplication.cmd на рабочий стол пользователя.
          5. У пользователя должны быть определенные разрешения для установки приложения.
          6. Пользователю не требуется установленная на компьютере Java SE.

          Приложение было изменено на:

          • Прочитайте параметры конфигурации из таблицы базы данных (организация считает их «параметрами проекта», поэтому пользователь «выбирает проект»).
          • Строка VERSION=123 извлекается из файла RELEASE_NOTES.TXT локально и на сервере, чтобы убедиться, что версии совпадают (и в противном случае конечный пользователь подвергается преследованиям).

          Вот и все. Конечно, можно использовать установщик вместо файлов .cmd для «более профессиональной» установки. Также можно найти другие способы установки OpenJDK 11 на IWC, который может быть даже виртуальной машиной (что делает его VIWC). Очень жаль, что в команде jlink нет параметра --target-platform или многих других улучшений, которые могут быть желательными или необходимыми в зависимости от характера среды развертывания.

          Насколько хорошо это работает?

          Предварительные отчеты показывают, что пользователи довольны результатами, а системные администраторы больше не несут ответственности за установленную версию Java SE.Что касается парня, поддерживающего приложение, он более или менее согласен с дополнительными этапами сборки, но он скорее будет иметь дело с двумя машинами, чем запускать VIWC на ​​своем прекрасном ноутбуке System76.

          После обновления до Ubuntu 11.10 браузер Firefox 6 не может загрузить и открыть файл .jnlp с веб-сайта Interactivebrokers. Обычно я захожу на сайт IB и загружаю файл tws.jnlp, который открывается в веб-браузере Firefox. Но теперь, когда я нажимаю кнопку «Открыть в браузере Firefox», браузер Firefox открывает новую вкладку и снова отображает то же открытое окно.

          После обновления до Ubuntu 11.10 браузер Firefox 6 не может загрузить и открыть файл .jnlp с веб-сайта Interactivebrokers. Обычно я захожу на сайт IB и загружаю файл tws.jnlp, который открывается в веб-браузере Firefox. Но теперь, когда я нажимаю кнопку «Открыть в браузере Firefox», браузер Firefox открывает новую вкладку и снова отображает то же открытое окно.

          Выбранное решение

          Похоже, что после обновления до 11.10 файлы jnlp открываются с помощью firefox вместо javaws (Java Web Start). Если вы щелкните правой кнопкой мыши файл в папке загрузки и выберите «открыть с помощью», вы можете вручную выбрать веб-запуск Java. Ошибка Ubuntu.

          Вы можете щелкнуть правой кнопкой мыши любой файл .jnlp и выбрать «Свойства», перейти на вкладку «Открыть с помощью», отметить Sun Java 6 Web Start и нажать «Установить по умолчанию». Должен исправить. Я не знаю, что произойдет, если у вас будет стандартная ubuntu java вместо Sun. Возможно, в этом нет необходимости.

          Все ответы (2)

          Выбранное решение

          Похоже, что после обновления до 11.10 файлы jnlp открываются с помощью firefox вместо javaws (Java Web Start). Если вы щелкните правой кнопкой мыши файл в папке загрузки и выберите «открыть с помощью», вы можете вручную выбрать веб-запуск Java. Ошибка Ubuntu.

          Вы можете щелкнуть правой кнопкой мыши любой файл .jnlp и выбрать «Свойства», перейти на вкладку «Открыть с помощью», отметить Sun Java 6 Web Start и нажать «Установить по умолчанию». Должен исправить. Я не знаю, что произойдет, если у вас будет стандартная ubuntu java вместо Sun. Возможно, в этом нет необходимости.

          Похоже, что после обновления до 11.10 файлы jnlp открываются с помощью firefox вместо javaws (Java Web Start). Если вы щелкните правой кнопкой мыши файл в папке загрузки и выберите «открыть с помощью», вы можете вручную выбрать веб-запуск Java. Ошибка убунты. Вы можете щелкнуть правой кнопкой мыши любой файл .jnlp и выбрать «Свойства», перейти на вкладку «Открыть с помощью», отметить веб-запуск Sun Java 6 и нажать «Установить по умолчанию». Должен исправить. Я не знаю, что произойдет, если у вас будет стандартная ubuntu java вместо Sun. Возможно, в этом нет необходимости.

          Java Web Start (JWS) — это более безопасный способ запуска ваших приложений Oracle Forms по сравнению с устаревшим плагином. С помощью JWS вы можете запустить приложение Oracle Forms, загрузив или запустив файл JNLP с помощью Java Web Launcher. Существует несколько доступных вариантов запуска Java Web Start: из веб-браузера и из уже загруженного файла JNLP.

          ПРИМЕЧАНИЕ. Перед подготовкой к использованию Java Web Start для запуска приложений Oracle Forms ознакомьтесь с этой статьей, чтобы убедиться, что среда Forms 12c настроена для запуска Java Web Start.

          Веб-браузер

          Подобно доступу к вашему приложению Oracle Forms с помощью подключаемого модуля, вы можете продолжать использовать веб-браузер для запуска Oracle Forms с помощью Java Web Start. В отличие от подключаемого модуля, доступного только в Internet Explorer, Java Web Start позволяет получить доступ к вашему приложению во всех основных веб-браузерах, включая Chrome, Edge и Firefox. Причина в том, что загружается файл JNLP, и Java Web Launcher (поставляется с JRE 8) продолжит выполнение приложения. Однако каждый веб-браузер по-разному обрабатывает загрузку файлов JNLP:

          Интернет-обозреватель

          Internet Explorer может автоматически запускать JNLP при доступе к приложению Oracle Forms через URL-адрес. По умолчанию, когда URL-адрес приложения вводится в браузер, JNLP автоматически запускается без загрузки каких-либо файлов. Обратите внимание, что Internet Explorer в настоящее время прекращается и заменяется Microsoft Edge.

          Google Chrome

          Chrome позволит вам загружать и запускать файлы JNLP. Общий процесс запуска JNLP состоит из следующих шагов:

          1) Введите URL-адрес приложения Forms.

          2) Теперь файл JNLP будет загружен. В отличие от Internet Explorer и Firefox, Chrome требует загрузки файлов JNLP перед их запуском из соображений безопасности. В нижней части браузера появится опция с вопросом, хотите ли вы сохранить загрузку или отказаться от нее. Нажмите «Продолжить», чтобы продолжить загрузку файла.


          < /p>

          3) Теперь JNLP будет успешно загружен. Нажмите «frmservlet.jnlp» в нижней части окна, чтобы запустить приложение. ПРИМЕЧАНИЕ. Если по какой-либо причине это исчезнет, ​​вы можете найти файл frmservlet.jnlp в папке «Загрузки» (C:\Users\%USERNAME%\Downloads).


          < /p>

          Chrome не позволяет настроить параметр, чтобы JNLP всегда открывались с помощью Java Web Launcher из соображений безопасности. Например, если щелкнуть стрелку раскрывающегося списка рядом с загрузкой JNLP, параметр «Всегда открывать файлы этого типа» будет недоступен.


          < /p>


          < /p>

          Майкрософт Эдж

          Мозилла Фаерфокс

          Firefox также может загружать и запускать файлы JNLP. В отличие от Chrome и Edge, вам не нужно каждый раз загружать файл JNLP. Однако Firefox по умолчанию не имеет файлов JNLP, связанных с Java Web Launcher. Это необходимо сделать вручную на ПК каждого конечного пользователя. Дополнительную информацию о том, как это настроить, можно найти в этой статье с подробными инструкциями.

          Значок на рабочем столе

          Запуск приложения Oracle Forms с настольного компьютера — это второй вариант запуска Java Web Start. Вместо того, чтобы всегда загружать frmservlet.jnlp из веб-браузера, также можно иметь предварительно загруженный JNLP и запускать его со своего рабочего стола. Как это работает, так это то, что frmservlet.jnlp необходимо будет загрузить, используя шаги, описанные выше. После этого загруженный JNLP можно настроить для распространения среди всех конечных пользователей. Эти шаги позволят вам настроить значок на рабочем столе:

          1) Запустите приложение Forms из Microsoft Edge или Google Chrome, чтобы загрузить JNLP. Не запускайте JNLP после его загрузки.

          2) Перейдите в папку C:\Users\%USERNAME%\Downloads (где %USERNAME% – это имя вашей учетной записи пользователя) и скопируйте файл frmservlet.jnlp на рабочий стол.

          3) В файле JNLP жестко закодирован URL-адрес вашего приложения Forms. Если вы настраиваете JNLP для доступа к другим средам Forms, URL-адрес необходимо будет обновить. Если вы планируете использовать существующий URL-адрес, вы можете пропустить шаг 4. В противном случае откройте файл frmservlet.jnlp с помощью текстового редактора, например Notepad или Notepad++.

          Внутри файла найдите параметр codebase (должен быть четвертой строкой в ​​файле). Именно так файл JNLP вызывает приложение Forms. Если вы планируете запустить JNLP на другом хосте, отличном от настроенного, вы можете изменить имя хоста в URL-адресе.


          < /p>

          4) Теперь вы можете развернуть файл JNLP на компьютерах всех конечных пользователей. Обратите внимание, что вы не сможете отправить пользователям по электронной почте файл JNLP, поскольку многие почтовые серверы блокируют файлы, связанные с Java.

          ПРИМЕЧАНИЕ. Чтобы пользователи могли запускать JNLP, на их ПК должна быть установлена ​​Java Runtime Environment (JRE) 8. JRE будет поставляться с Java Web Launcher, программой, необходимой для запуска файлов JNLP. Подойдет как 32-разрядная, так и 64-разрядная версия JRE 8.

          В официальном документе Oracle есть дополнительная информация о Java Web Start и Forms Standalone Launcher. Вы можете нажать на эту ссылку здесь, чтобы прочитать технический документ. Свяжитесь с PITSS сегодня, если вам нужна помощь в настройке среды Oracle Forms для работы с Java Web Start или Forms Standalone Launcher.

          Читайте также: