У нас есть несколько серверов Amazon. На них установлена версия bash 4.1.2.Касперский утверждаетчто все версии bash до 4.3 небезопасны. Когда я провожу этот тест...
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
... он возвращает: hello
, и даже несмотря на то, чтоЛайфхакер говоритчто я должен получить ошибку обратно: bash: warning: x: ignoring function definition attempt bash.....
, я думаю, простое "привет" достаточно хорошо. Я все еще сомневаюсь.
Можете ли вы объяснить, какой информации я могу доверять?
решение1
Номер версии программы не является хорошим показателем проблем безопасности, которые она имеет. При обнаружении дыры в безопасности стандартной практикой является исправление только этой дыры, а не обновление программы до более поздней версии, которая может оказаться несовместимой в неявных случаях.
Таким образом, видя, что у вас bash 4.1, вы не получаете никакой информации о том, уязвим ли он для Shellshock. Используйте тест, например, тот, который вы уже нашли. Поскольку x='() { :;}; echo vulnerable' bash -c 'echo hello'
не печатает vulnerable
, вы не уязвимы для ошибки Shellshock. Тот факт, что вы не видите сообщение об ошибке, также указывает на то, что ваша копия bash также имеет исправлениясвязанные ошибки, обнаруженные в результате Shellshock. Статья, в которой упоминаются эти сообщения об ошибках, устарела: с последними исправлениями эта команда просто выводит hello
.