Принудительное использование HttpOnly cookie с помощью JRun / ColdFusion - PullRequest
6 голосов
/ 26 июня 2009

Мы должны убедиться, что все файлы cookie на сайте CF7 установлены как HttpOnly.

Мы используем jsessionid для управления нашими сессиями, и JRun не создает это как HttpOnly.

Хотя существует возможность изменить существующий файл cookie, чтобы добавить этот параметр, нам нужно с самого начала установить для него значение HttpOnly.

Есть предложения?


Смежный вопрос: Установка флага безопасности для файлов cookie HTTPS.

Ответы [ 3 ]

3 голосов
/ 08 марта 2011

От: http://www.petefreitag.com/item/764.cfm

Запуск CF 8 или ниже и использование Application.cfc

<cfcomponent>
  <cfset this.sessionmanagement = true>
  <cfset this.setclientcookies = false>
  <cffunction name="onSessionStart">
      <cfheader name="Set-Cookie" value="CFID=#session.CFID#;path=/;HTTPOnly">
      <cfheader name="Set-Cookie" value="CFTOKEN=#session.CFTOKEN#;path=/;HTTPOnly">
  </cffunction>
<cfcomponent>

Убедитесь, что вы указали setclientcookies = false.

При использовании Application.cfm

Если вы все еще используете файл Application.cfm, вы можете использовать следующее:

<cfapplication setclientcookies="false" sessionmanagement="true" name="test">
<cfif NOT IsDefined("cookie.cfid") OR NOT IsDefined("cookie.cftoken")>
   <cfheader name="Set-Cookie" value="CFID=#session.CFID#;path=/;HTTPOnly">
   <cfheader name="Set-Cookie" value="CFTOKEN=#session.CFTOKEN#;path=/;HTTPOnly">
</cfif>
3 голосов
/ 03 августа 2011

Во-первых, теплый прием всем беженцам PCI DSS! Беглецы из Appscan, Webinspect, Hailstorm и NTOSpider также приглашаются. Садитесь прямо здесь, у меня есть торт для вас:

Хотя для Питера уже слишком поздно, на самом деле возможно, чтобы JRun генерировал HTTPOnly (и защищенные) куки с самого начала, как он и просил. Найдите файл jrun-web.xml. Это, вероятно, будет в каталоге, как

C:\JRun4\servers\servername\cfusion-ear\cfusion-war\WEB-INF\.

Вы должны добавить следующее в раздел cookie-config :

<cookie-config>
    <cookie-path>/;HttpOnly</cookie-path>
</cookie-config>

Если ваш сайт работает по протоколу HTTPS, вам также следует включить опцию безопасного cookie. Но будьте осторожны, его сервер в целом, а не конкретное приложение. Поэтому он может не подходить для вашей общей среды:

<cookie-config>
    <cookie-secure>true</cookie-secure>
    <cookie-path>/;HttpOnly</cookie-path>
</cookie-config>

Если вы не застряли в MX7 или CF8, существует официальная настройка для это в CF9.01 Dcoldfusion.sessioncookie.httponly

Я проверил это на ColdFusion MX7, и он работает как положено. Dodged Appscan я сделал.

0 голосов
/ 29 июня 2009

Цель состоит в том, чтобы первый запрос был защищенным (и прошел сканирование), поэтому, если этот пост охватывает это, то это решит проблему.

Поправьте меня, если я не прав, но похоже, что вам нужно перенаправить на HTTPS, если запрос приходит через HTTP. Разве вы не можете поймать это с помощью правила перезаписи URL, прежде чем запрос будет отправлен в ColdFusion вообще?

...