Комментарии по теме

««Создание быстрого ввода пароля в систему SAP ERP ECC на стороне клиента»»
Сергей Трапезников:
Согласитесь, в случае периодической смены паролей, Ваше решение будет не удобным. если с компа на комп, то тогда лучше использовать WTS (терминальный сервер), как промежуточный слой. По связке...
««Создание быстрого ввода пароля в систему SAP ERP ECC на стороне клиента»»
Сергей Трапезников:
Есть еще третий более простой способ -использование технологии single logon. Sap logon будет использовать windows пароль, очень удобно.
«Введение в бе­зо­па­сно­сть системы SAP*»
Максим Мельник:
Спасибо за статью. В части безопасности SAP есть пожелания:   1. На что обратить при формировании требований? (предположу, что есть специфика. применимая только к SAP-системам) 2. Какие...

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь
Digital Security
Поляков Александр

SAP Security:
как взломать SAP за 60 секунд

Все публикации автора

Усиление настроек SSL/TLS за счет использования безопасных типов шифрования на сервере приложений NetWeaver AS Java 7.0x и 6.40

03 апреля 2014, 15:40

Усиление настроек SSL/TLS за счет использования безопасных типов шифрования на сервере приложений NetWeaver AS Java 7.0x и 6.40

Опубликовано Питером Тодоровым в IT Security & Risk Office, 11 марта 2013 г.

В одной из предыдущих заметок я уже описывал, как защитить SAP NetWeaver AS ABAP (все версии) и AS Java версии 7.10 и выше. Эта дополнительная заметка необходима, потому что мы зачастую вынуждены работать во множестве систем, в том числе с более древними версиями, чем 7.10.

В этой статье я остановлюсь на вопросе усиления безопасности шифрования для сервера приложений NetWeaver AS Java (v. 7.0 и старше) и на том, как уменьшить вероятность  атаки BEAST. С точки зрения настроек SSL различие в том, что версии AS Java 7.10 и выше используют менеджер подключения к Сети (ICM), а более старые – Web Dispatcher. Диспетчер поддерживает соединения с клиентами, в том числе отвечает за SSL/TLS-соединения.

Подготовка к работе:

Необходимым условием для внедрения описываемой конфигурации является настроенный и запущенный SSL/TLS на сервере приложений.

Предупреждение:

Как я уже упоминал в предыдущих записях в блоге, необходим баланс между усилением настроек шифрования с целью уменьшения вероятности BEAST-атак и удобством использования сервиса. Усиление шифрования предполагает поддержку сервером только безопасных шифров. Если у клиента хоть что-то в системе (например, браузер) не поддерживает шифры, навязываемые сервером, то будет невозможно установить зашифрованное соединение. Это может привести к недовольству клиентов, которые не смогут воспользоваться вашими услугами. В данной заметке я стараюсь найти золотую середину между безопасностью системы и удобством ее использования для клиентов.

Усиление настроек шифрования:

Для настройки SSL/TLS-шифров на сервере приложений я выбрал инструмент под названием Visual Administrator. Запустите его и подключитесь к системе, настройки которой вы хотите усилить. В навигационном дереве пройдите в закладку Cluster, далее Dispatcher → Services → SSL Provider. В нижнем правом углу находится закладка Cipher Suite со списком настроенных шифров.

По умолчанию около 50 (в зависимости от версии) типов шифрования настроено и активно в системе. Наша задача состоит в том, чтобы:

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

После удаления слабых шифров и шифров без кодирования (шифры типа _NULL_) наш выбор будет ограничен 20 позициями. Теперь их нужно ранжировать по силе. Название шифра – это набор алгоритмов, использованных для обеспечения безопасного обмена сообщениями. Возьмем название шифра и посмотрим внимательно, что за ним скрывается. Например, SSL_RSA_WITH_RC4_128_MD5:

  • SSL – протокол (альтернативой ему является, например, TLS);
  • RSA – обмен ключами/аутентификация ключей (альтернатива – PSK);
  • RC4_128 – алгоритм шифрования сообщений и длина ключа (альтернатива –  CBC);
  • MD5 – аутентификация/проверка целостности сообщения (альтернатива – SHA).

Для уменьшения вероятности атак BEAST лучше отдать предпочтение шифрам RC4. Также лучше выбирать более сильное шифрование с длинными ключами. Для аутентификации сообщений лучше пользоваться SHA, поскольку принято считать, что он безопаснее, чем MD5. С учетом сказанного я предлагаю использовать следующие шифры в такой последовательности:

TLS_RSA_PSK_WITH_RC4_128_SHA
TLS_PSK_WITH_RC4_128_SHA
TLS_DHE_PSK_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA

Если система должна быть абсолютно непроницаемой для BEAST, вам стоит активировать только те пять шифров, которые приведены выше. Однако это может привести к тому, что клиенты начнут жаловаться на невозможность запустить SSL/TLS-подключения к системе. Таким образом, я предлагаю дополнительно активировать следующие CBC-шифры:

TLS_RSA_PSK_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_PSK_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_DHE_PSK_WITH_AES_256_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
TLS_PSK_WITH_3DES_EDE_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
TLS_PSK_WITH_AES_128_CBC_SHA
TLS_DHE_PSK_WITH_AES_128_CBC_SHA
TLS_RSA_PSK_WITH_AES_128_CBC_SHA

Данные настройки должны быть воспроизведены отдельно для каждого процесса диспетчера в системе. И наконец, перезагрузите систему – и все готово!