Саммит CF 2018 года в Лас-Вегасе имел огромный успех, и теперь мы можем обратить внимание на предстоящий Camp CF Camp в Мюнхене. Поскольку это единственная крупная конференция CF в Европе, вы можете поспорить, что впереди будет много замечательных сессий. Александр Рилсен из Elasticsearch предоставит один из них. Он подробно расскажет об управлении безопасностью Java и о том, что может сделать Elasticsearch. Чтобы подготовиться к этому, давайте посмотрим, что означает Java Security Management и что такое Elasticsearch.

"Мы думаем, что будем особенно сильны на платформе, где у нас есть два бренда платформ: наш бренд базы данных — Oracle Database 12c, а наш бренд языка программирования — Java". -Ларри Эллисон

Что нужно знать ИТ-директору

Какое отношение Java и безопасность Java имеют к вашей работе на базе Adobe ColdFusion? Ответ прост. Все. Одной из самых сильных сторон CF является то, что под всеми его слоями лежит Java. Верно. Adobe ColdFusion использует JVM или Виртуальную машину Java. Все ваши файлы .cfm и .cfc фактически скомпилированы в стандартные файлы Java. Это позволяет вам изначально использовать широкий спектр доступных библиотек Java. Однако это также означает, что любое изменение в Java напрямую влияет на ваш ColdFusion.

Например, когда была выпущена Java 1.8, ColdFusion пришлось оптимизировать для учета Java 1.8.

Двойственность Java и ColdFusion имеет и темную сторону. Любая злонамеренная атака (преднамеренная или нет) на ядро ​​Java вашего ColdFusion напрямую повлияет на ваш CF.

По этой причине поддержание безопасности вашей Java и безопасности JVM имеет решающее значение как для вашей платформы ColdFusion, так и для операций вашего бизнеса. В статье Сьюзен Першке 7 шагов к защите Java для CIO.com она определяет 7 ключевых шагов для защиты вашей Java. Давайте подробно рассмотрим их.

№1. Анализ воздействия

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

№ 2. Патчи и обновления

Это может показаться пустяком, но… Вы удивитесь, насколько устарели платформы некоторых компаний. НЕ БУДЬТЕ ТАКИМ ЧЕЛОВЕКОМ. Крайне важно, чтобы вы всегда были в курсе событий на всех своих платформах.

Обновления и исправления поставляются с исправлениями безопасности и мерами по предотвращению атак.

Не становитесь уязвимыми, отказываясь обновлять свою платформу.

При этом не забудьте принять необходимые меры предосторожности, такие как:

  • Установите новые обновления и исправления для Java непосредственно из Oracle. Это снижает риск внедрения кода.
  • Вручную удалите старые версии Java. Когда вы устанавливаете новую версию Java, старая версия не обязательно удаляется.
  • Рассмотрите возможность ограничения ваших приложений на основе Java виртуальной машиной, которую можно включать только при необходимости. Впоследствии это должно быть закрыто, когда вы не используете приложения.

Ваша Java — не единственное, что нужно обновить. Ваше Java-приложение тоже. Устаревшие приложения могут выйти из строя или дать сбой, если они работают на более новой версии Java. Обязательно обновляйте все свои приложения, чтобы избежать каких-либо осложнений и свести к минимуму риски безопасности.

Это язык, который я использовал в 100 % случаев за последние 18 лет моей профессиональной жизни. Мне нравится работать в ColdFusion, с ним удобно работать, но в то же время он растягивает меня, поскольку я постоянно нахожу новые вещи, которые могу сделать с ним в каждом выпуске. В течение многих лет было приложено много усилий, чтобы развить ColdFusion и идти в ногу с другими языками и современными концепциями программирования. «— Эд Бартрам, старший веб-разработчик в Senior Market Sales

Из эпизода CF Alive, 080 Утвердите контроль над вашими устаревшими приложениями (Быстрый запуск TestBox) с Эдом Бартрамом

№3. Управление настройками панели управления

На панели управления Java имеется множество настроек, которые можно настроить для обеспечения оптимальной производительности и максимальной безопасности. К счастью для нас, ColdFusion предоставляет доступ к большинству настроек JVM прямо в нашем администраторе. Это делает настройку относительно легкой. Общие настройки безопасности для Java также находятся на панели управления. Последние версии Java 7 и выше имеют другой уровень безопасности по умолчанию. До этого параметры безопасности Java были установлены на СРЕДНИЙ, тогда как теперь они установлены на ВЫСОКИЙ. Здесь вы также можете управлять автоматическими обновлениями. Для стандартных клиентов Java обновляется автоматически. Однако на данный момент автоматическое обновление Java для клиентов уровня предприятия отсутствует. Они должны быть достигнуты вручную.

№ 4. Защитите свои веб-браузеры

Многие атаки Java (и впоследствии ColdFusion) происходят через ваши веб-браузеры. Вот почему так важно соблюдать все меры предосторожности, когда дело доходит до них. По возможности рекомендуется отключать Java в веб-браузерах. Однако мы знаем, что это может быть довольно сложно или почти невозможно. Вместо этого рассмотрите возможность отключения удаленного доступа к Java-аплетам. Используйте прокси-сервер, который разрешает локальные запросы Java и запрещает удаленные. Еще более простой подход — просто использовать два отдельных веб-браузера. Используйте один для операций без Java, а другой для фактического просмотра веб-страниц. При использовании этого метода измените настройки прокси-сервера, чтобы только один из них разрешал Java, а другой — нет. Это может помочь вам предотвратить случайное раскрытие вашей Java для внешних объектов.

№ 5. BYOD-контроль

BYOD означает Принеси свое собственное устройство. Эта практика становится все более распространенной в современном ИТ-мире. Некоторые работодатели даже выделяют бюджет сотрудникам на приобретение удобного пользователю устройства. Не на всех этих устройствах изначально установлена ​​надлежащая защита. Многие из них не будут. Это может быть проблемой по многим причинам. Вместо того, чтобы запрещать вашим сотрудникам использовать свои собственные устройства, обеспечьте надлежащий мониторинг. Создайте рабочую группу, чтобы убедиться, что все принесенные устройства соответствуют стандартам безопасности вашей компании. BYOD становится проблемой только в том случае, если вы позволяете этому быть. Будьте активны в своих опасениях по поводу безопасности.

№ 6. Обзор влияния Java

Эта область в первую очередь связана с тем, как ваши клиенты взаимодействуют с вами и вашей Java. Некоторые из ваших заказчиков и клиентов могут быть очень строгими в отношении собственной безопасности Java. Если в вашем бизнесе в основном используются апплеты Java, ваши клиенты могут не иметь надлежащего доступа к вашей информации. Некоторые клиенты даже запрещают использование JavaScript. Контролируйте и отслеживайте влияние Java с помощью сценариев обнаружения. Это позволит вам перенаправить клиентов в более дружественную область для решения их проблем.

№ 7. Развивайтесь ответственно

Это может быть самый важный шаг, когда дело доходит до разработки на Java. НЕ СОЗДАВАЙТЕ НЕПОДПИСАННЫЕ ИЛИ САМОПОДПИСАННЫЕ ПРИЛОЖЕНИЯ. Для обеспечения наилучшей безопасности при разработке всегда используйте доверенный центр сертификации. Кроме того, придерживайтесь лучших отраслевых практик в рабочей области. Лучшие практики не просто так называются лучшими практиками. Они могут способствовать здоровью и благополучию вашей среды разработки и вашей компании. Просто помните, лучшие практики подвержены изменениям.

…может быть, сегодня это лучший способ, но не пять лет назад. И это может оказаться не лучшей практикой через пять лет. – Нолан Эрк, владелец и главный консультант South of Shasta Consulting

Из эпизода CF Alive, «Лучшие практики 047 — лучшие, за исключением тех случаев, когда они не с Ноланом Эрком».

Менеджеры по безопасности Java

Одним из основных элементов архитектуры безопасности Java является Менеджер безопасности Java. Менеджер безопасности — это не просто отдельная программа. Это может быть один из многих различных классов, каждый из которых предназначен для определенной или пользовательской цели.

Любой класс, производный от java.lang.SecurityManager, может считаться менеджером безопасности.

Использование этих менеджеров безопасности позволяет создавать собственные сборки безопасности для конкретного приложения. Когда эти приложения пытаются выполнить какое-либо потенциально небезопасное действие, Java API информирует об этом соответствующего администратора безопасности. Для каждого потенциально опасного действия существует метод — или проверка — который определяет, будет ли разрешено выполнение этого действия.

Например:

  • checkRead() определяет, можно ли прочитать указанный файл.
  • checkWrite() определяет, можно ли записать указанный файл.

Чтение и запись файлов — не единственные задачи, которые отслеживаются и проверяются. Классы Java API сверяются с менеджером по безопасности, чтобы:

  • Принять сокет-соединение с указанного хоста и номера порта
  • Изменить поток (изменить его приоритет, остановить его и т. д.)
  • Откройте сокетное соединение с указанным хостом и номером порта
  • Создайте новый загрузчик классов
  • Удалить указанный файл
  • Создать новый процесс
  • Заставить приложение выйти
  • Загрузите динамическую библиотеку, содержащую нативные методы.
  • Дождитесь подключения к определенному локальному номеру порта
  • Загрузить класс из указанного пакета (используется загрузчиками классов)
  • Добавить новый класс в указанный пакет (используется загрузчиками классов)
  • Доступ или изменение свойств системы
  • Доступ к указанному системному свойству
  • Чтение из указанного файла
  • Записать в указанный файл

При настройке файла политики вы можете выбрать один из трех путей.

  1. Black Hat: все разрешено, но можно настроить исключения, чтобы запретить некоторые операции.
  2. Белая шляпа: разрешены только явно настроенные операции. По умолчанию все операции запрещены.
  3. Обычай

Использование Java Security Managers может уберечь вас от множества неприятных сюрпризов в будущем. Будьте в курсе своей безопасности и обеспечьте безопасную работу Java.

Эластичный поиск

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

Он также может обеспечить масштабируемость ваших приложений. Elasticsearch утверждает, что запускает одно и то же от одного узла на вашем ноутбуке до кластера из 300 узлов. Это связано с его уникальным горизонтальным масштабированием.

Основная тема, которую Александр затронет, — это то, как Elasticsearch может помочь обеспечить более надежную защиту для вас и ваших данных. Все данные, которые вы храните в Elastic Stack, тщательно охраняются. Это может защитить вашу Java (и CFML) и успокоить вашу компанию. Вот несколько способов, с помощью которых Elasticsearch и Elastic Stack защищают ваши данные.

  • Аутентификация
  • Использование Elasticsearch позволяет вам использовать все средства защиты аутентификации, которые может предложить Elastic Stack. Это включает в себя параметры единого входа (SSO), такие как сертификаты, Kerberbos и SAML. У вас также есть возможность создать собственную систему управления идентификацией.
  • Авторизация
  • Elasticsearch дает вам возможность управлять ролями пользователей и правами доступа. Укажите, к чему имеет доступ каждый член вашей команды. Например, предоставьте вашей маркетинговой команде доступ только для чтения к маркетинговым данным и запретите доступ ко всем остальным индексам.
  • Шифрование
  • Все ваши данные, хранящиеся в Elastic Stack, будут защищены шифрованием SSL/TLS. Это должно помочь успокоить как вашу компанию, так и клиентов. IP-фильтрация также предусмотрена для предотвращения связи нежелательных хостов с вашим кластером данных.
  • Ведение журнала аудита
  • Функция журнала автоматического аудита Elasticsearch ведет полный учет всех действий пользователей и системы. Функция ведения журнала аудита позволяет вам записывать все действия или ограничиваться определенными элементами. Затем эти журналы сохраняются в стеке для простоты доступа.

Это лишь несколько способов, с помощью которых Elasticsearch может помочь вам и вашей компании оставаться в безопасности и добиваться успеха. Для получения дополнительной информации обязательно ознакомьтесь с сессией Александра Рилсена в CF Camp в Мюнхене.

Помните, что ваш ColdFusion похож на луковицу. Он имеет много уровней, и в его основе лежит Java. Вы должны позаботиться о защите своей Java вместе с CFML, чтобы обеспечить максимальную безопасность вашего кода и приложений.

Узнайте больше об этой интересной теме на CF Camp в Мюнхене. Александр Рилсен проведет презентацию.

Связанный: Все CF Camp 2018

CF Camp 2018: единственная конференция Adobe ColdFusion в Европе

О спикере:

Александр Рилсен, муж, папа, разработчик Elasticsearch и его коммерческих расширений. Только бэкэнд-разработчик, фанат производительности, любит распределенные системы и новую бессерверную эру.

А чтобы продолжить изучение того, как сделать ваши приложения ColdFusion более современными и живыми, я рекомендую вам загрузить наш бесплатный контрольный список лучших практик ColdFusion Alive.

Потому что… возможно, вы несете ответственность за критически важное или приносящее доход приложение CF, которому вы не доверяете на 100 %, где внедрение новых функций является болезненным ситуативным процессом с медленным выполнением даже для простых запросов.

Что делать, если у вас нет плана действий на случай внезапного ухода разработчиков или отключения сервера? Возможно, каждый раз, когда на вашем сайте работает новый фрилансер, что-то ломается. Или доступность, безопасность и надежность вашего приложения плохие.

И если вы зависите от ColdFusion для своей работы, то вы не можете позволить своим методам разработки CF умереть на корню.

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

Достаточно, чтобы ваш коллега-разработчик CF уволился или ваш ИТ-директор решил покинуть (ошибочно) воспринимаемый тонущий корабль CFML, и вы можете потерять все — свой проект, с трудом завоеванные навыки CF и, возможно, даже свою работу. .

К счастью, есть ряд простых и логичных шагов, которые вы можете предпринять прямо сейчас, чтобы защитить себя от этих очевидных рисков.

Простые передовые методы работы с ColdFusion, которые помогут вам добиться успеха, что бы ни случилось дальше

Контрольный список лучших практик ColdFusion Alive

Современные передовые методы разработки ColdFusion, которые снижают стресс, неэффективность, затраты на жизненный цикл проекта, одновременно увеличивая скорость проекта и инновации.

Легко создавайте согласованную серверную архитектуру для разработки, тестирования и производства.

современная тестовая среда для предотвращения распространения ошибок

√ Автоматизированные инструменты непрерывной интеграции, которые хорошо работают с CF

переносимая среда разработки, встроенная в вашу кодовую базу… бесплатно!

Узнайте об этих и многих других стратегиях из нашего бесплатного Контрольного списка лучших практик ColdFusion Alive.

Первоначально опубликовано на сайте teratech.com 9 октября 2018 г.