Категорія: Security

 

Самопідписаний SSL сертифікат в Railo

Нещодавно зіткнувся з доволі відомою проблемою для CFML-розробників: CFHTTP відмовляється працювати з HTTPS-сайтом якщо сертифікат є само-підписаним, або не засвідченим авторизованим центром. Більше того, у мене сертифікат був у порядку, оглядачі чудово його сприймали, але не Railo.

Стандартним рішенням є додавання відкритої частини сертифікату до сховища ключів (keystore) JVM, котру використовує ColdFusion/Railo.

Але ця процедура може виявитися доволі хитрою, коли мова йде про Railo.

 

Спочатку я спробував піти "правильним" шляхом, та скористатися вбудованими функціями якраз для цього діла:

SSLCertificateList("hostname") чудово показала мені список сертифікатів (а він там був один) потрібного сайту.

SSLCertificateInstall("hostname") без жодних претензій його встановила.

Але ж дулі! Все одно продовжив бачити помилку sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

 

Тоді я взявся за консоль. Спочатку я перевірив чи спрацювали функції:

$ cd ~/webapps/xxxxx/WEB-INF/railo/security/
$ keytool -list -keystore cacerts

Потрібний сертифікат був у списку. Підказка: за умовчанням пароль для keytool є "changeit" (без лапок, звісно).

Про всяк випадок я спробував перевстановити його вручну. Для цього експортував .crt файл сертифікату сайту за допомогою оглядача (Firefox, в моєму випадку) та замінив запис:

$ keytool -delete -alias myalias -keystore cacerts
$ keytool -import -alias myalias -keystore cacerts -file /home/zzz/xxxxx.crt
$ keytool -list -keystore cacerts

Після цього перезапустив Railo та... не отримав нічого.

 

Наступна спроба зареєструвати сертифікат аналогічним способом була пов’язана з JVM, для Ubuntu та JVM від Sun шлях до них виглядає десь так:

/usr/lib/jvm/java-6-sun/jre/lib/security/

Вона теж виявилася невдалою, хоча для Adobe ColdFusion цей спосіб зазвичай працює.

 

Насамкінець я згадав, що Railo має ще кореневий контекст, в моєму випадку це тека

/opt/railo/webapps/ROOT/WEB-INF/railo/security/

Повторивши імпорт ще тут та перезапустивши Railo все запрацювало!

 

Автор: Сергій Галашин | Опубліковано: 01.09.2010 о 22:21 | Категорії: Gotchas - Java - Railo - Security -

 

Новини Adobe ColdFusion - 06.2010

На останній конференції SOTR з’явилася інформація про деякі плановані оновлення в ACF 9.0.1. Серед найбільш цікавих: множинні ORM джерела даних, HQL з cfquery та підтримка Amazon S3. Не кажучи вже про більш як півтисячі виправлень.

Було випущено офіційний посібник з безпеки ColdFusion Lockdown Guide (PDF).

Вийшли друком перша та друга частини головної книги CFML-програміста: Adobe ColdFusion 9 Web Application Construction Kit. Вже можна знайти на Амазоні.

Випущено оновлення безпеки для ACF 8.0, 8.0.1 та 9.0 та всіх ОС, що виправляє ряд серйозних вразливостей. Більше деталей в офіційному бюлетені APSB10-11.

На завершення можна згадати про гарний холівар, ініційований Террі Райяном, в якому з ентузіазмом взяли участь чимало провідних учасників спільноти. Насолоджуйтесь :)

Автор: Сергій Галашин | Опубліковано: 22.06.2010 о 10:33 | Категорії: Adobe - Amazon S3 - ColdFusion 9 - Community - Conferences - Security -

 

Cumulative Hot Fix 1 for Coldfusion 9

Ось і прийшов час для випуску першого набору оновлень для ACF9. Він містить невелику кількість патчів для баґів, знайдених з моменту релізу та рекомендується до застосування в першу чергу тим, хто потерпає від описаних проблем. Жодних критичних оновлень він не містить.

Автор: Сергій Галашин | Опубліковано: 20.02.2010 о 18:00 | Категорії: Adobe - ColdFusion 9 - Security -

 

Важливе оновлення безпеки для ACF9 (CVE-2010-0185)

Вчора було опубліковано інформаційний бюлетень з безпеки від Adobe, що повідомив про появу виправлення для вразливості в Solr.

Вразливість заключається в тому, що будь-хто може дістатися до колекції знаючи URL спеціального формату.

Adobe позначила вразливість як важливу та настійливо рекомендує вжити заходів для виправлення, що докладно описані в публікації How to limit access to the Solr collections

Автор: Сергій Галашин | Опубліковано: 30.01.2010 о 13:12 | Категорії: Adobe - ColdFusion 9 - Security -

 

Випущено Railo 3.1.2

Не пройшло і двох тижнів від випуску попередньої версії, а в Railo розродилися повноцінним релізом.

Незважаючи на порівняно незначну зміну номеру версії, вона містить в собі значну кількість покращень та виправлень. Про них і піде мова нижче. Примітка: це переклад офіційного тексту, тому тут слово "ми" відноситься до розробників Railo.

  • Розширення серверу Railo власними мітками (тегами)
    Дивіться цю публікацію в блозі:
    CFC custom tag example
  • Загальна підтримка систем кешування
    Скоро з'явиться публікація про це.
  • Згенеровані ключі для INSERT запитів
    Скоро з'явиться публікація про це.
  • Колекція міток CFAJAX*
    Написана Андреа Камполоньї з використанням міток на базі cfc (це розширення не є частиною ядра). Ми (CFUG) теж згадували про цей проект.
    Дивіться цю публікацію в блозі:
    Railo AJAX tags
    Сторінка проекту:
    Project Railo AJAX
  • Покращення безпеки
    У випадку використання певних можливостей було можливо прочитати будь-який файл на розділі, де знаходиться веб-корінь (web root). Подяки Полу Клікенбергові та Піту Фрейтагу, що незалежно виявили цю проблему.
    Всі паролі в railo-web.xml.cfm та railo-server.xml.cfm тепер закодовані.
    Всі поля паролів в Railo Administrators тепер приховані за маскою.
    Доступ до конфігурації Railo за допомогою мітки cfadmin тепер за умовчанням тільки для читання.
  • Нові версії серверів застосунків
    В комплект встановлення Railo 3.1.2 ми включили останню стабільну версію Resin. Тепер він включає також win64 connector, так що ви можете легко встановити його з IIS6 or 7 на 64bit Windows.
    Railo Express тепер поставляється в двох версіях. Одна містить типовий Jetty, а інший Resin 3.1.9. Встановлення залишається таким самим легким: просто розпакуйте архів та виконайте файл запуску, що відповідає платформі.
  • Зміни сторінки завантаження
    Відразу після оновленого блоку скачування Railo Resin express ми додали список наявних патчів різних типів, з прямими посиланнями на завантаження. Вони можуть бути потрібні у випадку, коли ваш сервер знаходиться за файрволом чи проксі, що внеможливлює автоматичну процедуру. Завітайте на сторінку скачувань.
  • Оновлено образ Amazon AMI
    Відразу після описаних вище змін ми також оновили образ для Amazon EC2, так що ви можете створювати вашу інсталяцію з неї. Образ включає встановлені застосунки:
    • Apache 2.2
    • Tomcat 6.0.2
    • Railo 3.1.2.001
    • Mura 5.1.1102
    • Mango Blog 1.4
    Скоро буде опубліковано інформацію про те, як створити власну інсталяцію на базі Railo AMI для EC2.
  • Оновлено вихідні файли
    Ви можете знайти вихідні коди Railo 3.1.2.001 у звичному JBoss SVN репозиторії, або на сторінці завантажень.

 

Цей список англійською плюс формальний список змін з трекеру проекту можна переглянути в блозі Railo.

Як завжди, розповсюджувач можна скачати з сайту getRailo.org, оновитися ж з попередньої версії найкраще за допомогою вбудованої системи оновлення. Докладно про неї написано в Довідці з оновлення Railo 3.x.

 

Автор: Сергій Галашин | Опубліковано: 30.11.2009 о 07:24 | Категорії: Cloud Computing - Railo - OpenSource - Ajax - News - JavaScript - Security -

 

Убезпечення контексту Railo з IIS та Apache

Джеймс Аллен (James Allen) наводить поради як закрити Railo Administrator від небажаного доступу, пропонуючи зробити це засобами IIS.

Натомість Піт Фрейтаґ (Pete Freitag) рекомендує закрити увесь railo-context засобами Apache. Треба зауважити, що це актуально у тому випадку, якщо не використовуються cfform, cfchart та інші речі, котрі потребують вільного доступу до контексту.

 

Автор: Сергій Галашин | Опубліковано: 25.10.2009 о 16:23 | Категорії: Apache - IIS - Railo - Security -

 

Hack My CF

Брайан Рінальді з Foundeo Inc., про якого ми вже згадували в повідомленнях, присвячених безпеці, запустив ще один цікавий проект: Hack My CF.

Ввівши доменне ім'я та електронну скриньку (котра має знаходитися на тому ж домені -- що не дуже зручно, але має певний сенс), HMCF робить ряд запитів до вашого сайту та перевіряє його на наявність певних вразливостей, в тому числі XSS та інших. Повного списку тестів, на жаль, не надано. Напевне розробники залишили собі заділ для комерційних послуг зацікавленим власникам сайтів. Результати тестів будуть надіслані на вказану скриньку.

 

Автор: Сергій Галашин | Опубліковано: 22.10.2009 о 19:41 | Категорії: ColdFusion 8 - Security -

 

Вектор Script Injection атаки

Марк Кругер (Mark Kruger) знову робить корисну справу: досліджує можливість проведення Script Injection атаки через завантаження (upload) шкідливого скрипта.

Він розглядає послідовність кроків для "обману" скрипта завантаження, котрий хоч і проводить перевірку даних, але має розповсюджену вразливість, на котру рідко звертають увагу: завантаження відразу відбувається в публічно доступну директорію. Завдяки затримкам між етапами обробки є можливість виконати шкідливий скрипт до того, як його буде видалено.

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

Про все це дещо докладніше в Script Injection Attack: Smoking Gun?

Найбільшою проблемою дослідження наслідків такої атаки є труднощі з ідентифікацією шкідливих скриптів, адже вони вже не існують пост-фактум. Особисто я використовую два обробники помилок 404 в Application.cfc: один слугує для запису помилок, перенапрямлених з веб-серверу (фейкова сторінка 404.cfm), інший -- для заптів до недозволених cfm-сторінок (дозволені зазвичай index.cfm та wsdl.cfm - для веб-сервісів). Це дає деяку інформацію у випадку спроб дослідження додатку через навмисні запити до неіснуючих сторінок.

Автор: Сергій Галашин | Опубліковано: 22.09.2009 о 14:02 | Категорії: Blogs - Security - Tips -

 

Cumulative Hot Fix 3 for ColdFusion 8.0.1

Вчора було випущено оновлення CHF 3 for ColdFusion 8.0.1, призначене спеціально для цієї версії. Більше того, Adobe рекомендує використовувати це оновлення тільки у тому випадку, якщо вам заважають виправлені недоліки.

Автор: Сергій Галашин | Опубліковано: 02.09.2009 о 21:26 | Категорії: Adobe - ColdFusion 8 - News - Security -

 

Хотфікс від Adobe для FCKEditor (APSB09-09)

Не пройшло й тижня від моменту публікації про вразливість, але Adobe розродилася швиденьким хотфіксом.

При тому всьому визнала вразливість критичною та опублікувала розлоге пояснення своєї позиції з питання.

Так чи інакше, варто скористатися нагодою та оновитися: hotfix for potential ColdFusion 8 input sanitization issue.

 

Автор: Сергій Галашин | Опубліковано: 08.07.2009 о 19:44 | Категорії: News - Security -

 

Вразливість у FCKeditor для ColdFusion 8.0.1

Серйозну вразливість було знайдено в FCKeditor, а конкретно в CF-конекторі для завантаження файлів.

Справа в тому, що в CF 8.0.1 він увімкнутий за умовчанням, що може бути використано для завантаження .cfm (а також .asp, що ) скриптів, що було описано в нещодавному повідомленні.

Тому дуже рекомендується вжити запобіжних заходів, від вимкнення конектора в налаштуваннях і до видалення завантажувача файлів, якщо ним не користуєтеся. Бо кілька сайтів вже було скомпроментовано.

Більше інформації та рекомендаці можна знайти в наступних повідомленнях:

CF8 and FCKEditor Security threat

ColdFusion 8 FCKeditor Vulnerability

Potential ColdFusion security issue (офіційна нота від Adobe з обіцянкою виправити проблему).

Автор: Сергій Галашин | Опубліковано: 04.07.2009 о 09:34 | Категорії: ColdFusion 8 - Security -

 

Підміна MIME типу при завантаженні .cfm файлів на сервер

Днями прокотилася хвиля серйозних порушень роботи сайтів та навіть цілих ColdFusion серверів, пов'язана з використанням вразливості, коли підміна MIME типу завантажуваного файлу дозволяла залити .cfm скрипт та виконати його.

Ось простий приклад як це можна зробити:

<cfhttp url="http://target.example.com/upload" method="post">
 <cfhttpparam file="#ExpandPath("badstuff.cfm")#"
  mimetype="image/gif"
  type="file"
  name="photo">
</cfhttp>

Така проста конструкція легко дозволяє обійти вбудовану перевірку типу:

<cffile action="upload"
  filefield="photo"
  accept="image/gif,image/jpeg"
  destination="#ExpandPath("./photos/")#">

Приклади було взято з посту Піта Фрейтаґа (Pete Freitag), в якому він наводить рекомендації щодо захисту від подібних атак.

Зокрема, можна використати вбудовані функції IsImageFile("path") (з урахуванням вже описаної проблеми) та IsPDFFile("path"), використовувати окремий сервер (простіше кажучи, окремий домен - скажімо з nginx - для швидкодії) для статичного вмісту (як то Amazon S3), користуватися можливостями Sandboxing (якщо у вас CF Enterise), відключати можливість виконання скриптів для тек завантаження та іншими методиками.

Ці та інші поради описані у вищевказаному повідомленні, також варто звернути увагу на коментарі до нього, там теж є слушні поради.

Також варто звернути увагу на аналогічне повідомлення Брента Фрая (Brent Frye), котрий зазнав серйозних неприємностей через описану проблему, тому теж уклав список порад для її обходу.

 

Автор: Сергій Галашин | Опубліковано: 01.07.2009 о 05:34 | Категорії: Blogs - Gotchas - Security -

 

Проблема при обробці деяких JPG-малюнків в ColdFusion 8

Марк Кругер (Mark Kruger) нещодавно опублікував докладне пояснення ситуації, коли за деяких умов спроба обробки JPG-малюнків змушувало перезавантажуватися JVM, з відповідними наслідками для ColdFusion.

Проблема виявилася в некоректній обробці JPG "ICC" профілі в javax.imageio класах з JVM версії 1.6.0_04. Тому, хто раптом має цю версію, варто оновитися, проблему було вирішено вже в наступній збірці (після того вже було ще декілька).

Дізнатися докладніше про суть проблеми та знайти тестові JPG-файли для компроментації можна в оригінальному пості Марка.

Автор: Сергій Галашин | Опубліковано: 29.06.2009 о 09:00 | Категорії: ColdFusion 8 - Java - Security -