10 советов по обеспечению безопасности ColdFusion MX сервера

За последний год сильно увеличилась уязвимость веб сайтов. Безопасность - это самый важный вопрос в изготовлении какого-либо продукта. Существует множество способов отражать атаки хакеров, но самый важный из них это предотваращение этих атак.

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

Ниже приведены 10 советов по настройке безопасности ColdFusion MX сервера. Разделим их условно на 4 пункта:

 

Настройки, которые нужно выключить

1. Установка ColdFusion MX

Устанавливайте CF MX на веб сервере без справочной документации и примеров приложений. В то время как примеры приложений очень полезны для начинающих разработчиков, их CFML код свободно доступен для хакеров. Хоть безопасноть эти примерные прилжения и была пересмотрена еще в пятой версии ColdFusion, тем не менее лучше на веб сервере их не устанавливать, а пользоваться ими только на локальном компьютере.

2. Запретите доступ к RDS на веб сервере

Самый простой способ запретить доступ к RDS на веб сервере - это закрыть их паролем, которые не легко взломать.

3. Выключите дебаггер ColdFusion MX сервера

В административной оболочке ColdFusion MX сервера вы можете указать список IP адресов, для которых сервер будет показывать отладочную информацию. Это означает, что если компьютер с указанныим IP адресом будет просматривать CFML страницу, то отладочная информация будет показана только определенному пользователю. Заметьте, что если вы не укажите ни одного IP адреса и оставите дебаггер включенным, то отладочная информация бедет показываться ВСЕМ.

Следует указать IP адрес 127.0.0.1 и если умный хакер симитирует его, создав IP пакеты с адресом 127.0.0.1, то все-равно они не пройдут, т.к. их невозможно передавать через интернет изолированно. Также безопасны IP адреса 10.*.*.*, 192.168.*.* и промежуток между 172.16.*.* и 172.31.*.*. Если ваша локальная сеть использует эти адреса, то вы смело межете добавить их в список адресов, досупных для получения отладочной информации.

 

Настройки, которые нужно включить

1. Укажите страницу, которая будет показана в случае обнаружения ошибки

Хоть это и не обязательно, но желательно указать страницу, которая будет показана пользователю в случае возникновения ошибки. Сделать это можно в административной оболочке ColdFusion сервера в меню SERVER SETTINGS/Settings/Missing Template Handler. Следует заметить, что путь к файлу нужно указывать абсолютный, а не относительный (например, /swerror.cfm).

Поскольку указанная фами страница может быть ColdFusion страницей, то вы можете добавить в нее некторый программный код, который, например, будет отправлять администратору сервера письмо с сообщением о возникшей ошибке. Также можно воспользоваться тегом <cflog> и фиксировать ошибки в лог файле. Но если вы хотите, чтобы страница, на которой произошла ошибка, была показана пользователю в хорошо оформленном виде (в стиле данного сайта), то следует использовать теги <cftry> и <cfcatch>.

2. Укажите страницу, которая будет показана вместо отсутствующего шаблона страницы, приводящего к ошибке

Чаще всего следует указывать одинаковые страницы как для общих ощибкок, так и для ошибок об отсутствующем шаблоне страницы. Это делают для того, чтобы потенциальный вредитель, пробуя ваш сайт на похожие имена страниц, видел одну и ту же страницу при возникающей ошибке и не смог определить, какую ошибку он вызвал: общую или ошибку отсутствующего шаблона страницы. Не забывайте, что вы можете собирать много полезной информации в лог файле (тег <cflog>) о потенциальных атаках на ваш сайт.

3. Пароль для доступа к административной оболочке ColdFusion сервера должен быть как можно более сложным.

Тут действует тот же принцип, что и при указании пароля для RDS. Пароль должен быть примерно из 8 символов и содержать цифры, буквы и спец символы.

 

Повседневная обязанность

1. Читайте лог файлы как ColdFusion MX, так и веб сервера

Не многие разработчики просматривают лог файлы ColdFusion MX и веб серверов. А зря! Скрипты, которые приводят к известной уязвимости, легко обнаружить в лог файле веб сервера. Просматривая логи, обращайте внимание на одиночные IP адреса, с которых были сотни запросов через HEAD, а также запросы на испольнение фалов с такими именами, как, например, cmd.exe.

2. Читайте новости по безопасности того прдукта, которым пользуетесь

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

3. Всегда будьте готовы к восстановлению системы

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

В случае обнаружения атаки следует выполнить одну из двух задач:

В ColdFusionMX версии Enterprise, есть возможность с помощью утилиты Archive/Deploy быстро и легко создаватьи восстанваливать архивы настроек сервера. Соответственно, следует создавать архивы настроек после каждых проводимых изменений на сервере. Кроме того, следует постоянно сохранять настройки веб сервера и сервера баз данных.

 

Тестирование приложения перед публикацией в интернет

Перед тем, как опубликовать ваш сайт в интернете, следует протестировать его на отсутствие известных уязвимостей. Существует множество способов создания устойчивого от хакерских атак веб сайта и об этом выпущено уже множество книг. Вот пример одного из способов проверки - с помощью JavaScript'а.

Пример самой распространенной атаки на веб сайт:

Все современные броузеры поддерживают правило: JavaScript может иметь доступ только к "плюшкам" (cookies) сайта, на котором он отрабатывается. Уловка заключается в том, что можно через ссылку с постороннего сайта обратиться к странице с формой авторизации пользователя на другом сайте и передать через адресную строку опасный JavaScript код. Пример ссылки:

Естественно, параметры username и password указаны на угад и ни к чему не приведут, но опасный код в адресной строке отработается броузером - соберет всю информацию из "плюшек" (cookies) и отправит ее на сайт злоумышленника. Не трудно догадаться, что если в "плюшках" была такая секретная информация как, например, пароль или имя пользователя для доступа к сайту, то теперь все это будет известно злоумышленнику.

Чтобы закрыть эту уязвимость следует использовать функции HTMLEdit() и XMLEdit(), которые переводят символы <, >, ' в их ASCII эквиваленты. Т.е. строка <script> будет представлена в виде &lt;script&gt; и как скрипт не будет отработана.

Вы легко можете проверить свой сайт на чувствительность к такого рода атаке. Просто скопируйте приведенный ниже код в поле формы на вашем сайте и попробуйте выполнить запрос этой формы. Скрипт:
<script>alert("Обнаружена уязвимость!")</script>
Если на странице, обрабатывающей результат запроса, вы увидите этот код в таком же виде, как вы его указали - ничего страшного не произошло. Но если перед вами появиться окно-предупреждение, значит скрипт отрабатывается и ваш сайт имеет уязвимость! Возможно вы удивитесь, как часто будут появляться эти окна-предупреждения.

 

Заключение

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


Источник: www.macromedia.com/desdev/security/articles/topten_tips.html

 


Hosted by uCoz