Для дистрибутивов с действующей поддержкой уязвимость Shellshock устраняется простым обновлением пакета bash. Но если обновления уже не выпускаются, решение проблемы будет сложнее. Рабочих вариантов всего два — обновлять bash другим способом или отказываться от bash в пользу другого shell-интерпретатора.
Рубрика «bash» - 19
Исправление уязвимости shellshock для устаревших систем
2014-10-02 в 19:38, admin, рубрики: bash, linux, Shellshock, информационная безопасность, уязвимостьНачало активного применения ShellShock
2014-09-29 в 11:34, admin, рубрики: bash, linux, информационная безопасность
Доброе время суток %username%! Хочу рассказать историю о том, как мой сервер каждый день подвергается атаке через CVE-2014-6271 (shellshock). Для тех, кто вдруг упустил это из виду, две публикации на «Хабре»: «CVE-2014-6271, CVE-2014-7169: удалённое выполнение кода в Bash» и «Новая опасная уязвимость ShellShock позволяет атаковать множество устройств, от смартфонов до промышленных серверов».
Итак, после того, как информация попала в публичный доступ, в логах сервера я стал видеть запросы к серверу, где заголовки содержали вызов bash. Сначала, это были безобидные запросы, где referer и UserAgent http запросы содержали вызов из bash ping xxx.xxx.xxx.xxx — можно догадаться, что это уже поиск потенциальных жертв.
Сегодня ночью стало все куда интереснее. Проверяя логи сервера я наткнулся на такой запрос:
Читать полностью »
Уведомление о новой последней ревизии в SVN с помощью libnotify
2014-09-29 в 8:47, admin, рубрики: bash, svn, Ubuntu, разработкаПривет, читатели!
Хотелось бы вам рассказать, как я сделал для себя «напоминалку» о том, что в SVN появилась более новая ревизия, чем та, с которой я работаю.
Первая мысль — написать Bash-скрипт, который будет по CRON уведомлять меня о новой ревизии. Возникает вопрос: по e-mail или стандартными средствами Ubuntu? Я склонился использовать утилиту «notify-send», так как не хотел захламлять ящик практически ненужными сообщениями.
Под катом немного кода.
Читать полностью »
Всё, что вы хотели знать об уязвимости Shellshock (но боялись спросить)
2014-09-29 в 5:33, admin, рубрики: bash, Shellshock, Блог компании Mail.Ru Group, информационная безопасность, уязвимостьПомните Heartbleed? Shellshock можно отнести к той же «весовой категории», с таким же стильным названием, хоть и без классного логотипа (кому-то из департамента маркетинга этой уязвимости надо бы этим заняться). Но у Shellshock есть потенциал стать не менее важной птицей, чем Heartbleed. И сейчас я хотел бы собрать воедино всю необходимую информацию, которая поможет всем желающим справиться с ситуацией и избежать возможных проблем из-за неочевидной, на первый взгляд, угрозы.
Для начала позвольте поделиться с вами некоторой информацией из блога Роберта Грэма, который провёл превосходный анализ уязвимости. Рассмотрим представленный ниже HTTP-запрос:
target = 0.0.0.0/0
port = 80
banners = true
http-user-agent = shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)
http-header = Cookie:() { :; }; ping -c 3 209.126.230.74
http-header = Host:() { :; }; ping -c 3 209.126.230.74
http-header = Referer:() { :; }; ping -c 3 209.126.230.74
Если его применить к диапазону уязвимых IP, то получим такой результат:
Проще говоря, Роберт заставил кучу удалённых машин пинговать его, просто отправив в сеть специально сформированный запрос. Беспокойство вызывает тот факт, что он заставил эти машины выполнить произвольную команду (в данном случае безобидный ping), что открывает широчайшие возможности.
Читать полностью »
CVE-2014-6271, CVE-2014-7169: удалённое выполнение кода в Bash
2014-09-24 в 16:08, admin, рубрики: bash, security, vulnerability, информационная безопасность Сегодня были опубликованы детали об уязвимости в Bash.
Вкратце, Bash позволяет экспортировать функции как переменные окружения:
$ myfunc() { echo "Hello"; }
$ export -f myfunc
$ env | grep -A1 ^myfunc
myfunc=() { echo "Hello"
}
Уязвимость состоит в том, что если после тела функции (после последнего символа "}") добавить ещё какую-нибудь команду, и экспортировать её — она будет выполнена при вызове дочернего интерпретатора:
Читать полностью »
Реанимация серверов Ubuntu на Hetzner или немного полезных команд
2014-09-23 в 14:03, admin, рубрики: bash, Hetzner, linux, linux kernel, ubuntu server, операционные системы, Серверное администрирование
Этот небольшой пост-шпаргалка предназначен для тех у кого внезапно в ходе неудачного эксперимента или обновления перестал пинговаться сервер, отвалился ssh
и прочее. Проще говоря он о восстановлении сервера после обновлений, взломов и тому подобного. По моим ощущениям последнее бывает гораздо реже. Читать полностью »
Скрипт создания зеркала обновлений для Eset Nod32 на Linux
2014-08-04 в 16:14, admin, рубрики: bash, ESET, linux, nod32, script, update mirror, велосипедостроениеЕсли вы занимаетесь администрированием, велика вероятность что рано или поздно встанет вопрос — «На клиентских машинах стоит антивирус Nod32, надо бы создать для них единое зеркало обновлений». И тут возможны несколько путей развития сюжета:
- «Сервер на Windows, денег достаточно». Тут всё довольно просто — покупаем лицензию, ставим нужный дистрибутив Nod32 на сервер, настраиваем, радуемся. Вариант более мифический, так как крайне редко, когда на IT «денег достаточно».
- «Сервер на Windows, денег не достаточно». Тут возможны варианты. Начиная от использования варезных лицензий, до ручного скриптинга и использования Linux-решений (cygwin в помощь).
- «Сервер на Linux». Деньги в этом случае особого значения просто не имеют. У нас есть руки, есть голова, и есть желание сделать всё довольно качественно и надежно.
Вот про третий вариант мы сейчас и поговорим.
Как за два дня установить 80 новых IP-телефонов или история одного костыля
2014-07-21 в 3:39, admin, рубрики: bash, curl, escene, ip-телефония, linux, voip, костыль, системное администрирование, системные извращения, трэш, угар, чад Здравствуйте, читатели!
Недавно в компании, в которой я работаю, было принято решение о переходе на VoIP-телефонию, чтобы связать наконец-то наши многочисленные офисы в единую телефонную сеть. В качестве SIP-сервера был выбран очень интересный продукт Communigate Pro. Долго определялись с абонентскими устройствами, одним из основных критериев, при выборе ТА, было наличие встроенного гигабитного свитча. В итоге выбор пал на телефонные аппараты (далее ТА) ESCENE GS330-PEN. Все бы ничего, но произошло страшное — подвел поставщик, поэтому внедрение сервиса перенеслось почти на пол года. Когда партия телефонов наконец была получена, нам был установлен жесткий дедлайн. Тут-то и возник вопрос: как быстро сконфигурировать и расставить на рабочих местах 80 ТА. Под катом вас ожидает несколько скриптов и алгоритм действий Читать полностью »
Написание своих автодополнений для Shell. Часть 2: bash
2014-07-19 в 13:01, admin, рубрики: bash, linux, Программирование
В данных статьях (решил, что тематически лучше разбить на две части) описываются некоторые основы создания файлов автодополнений для собственной программы.
- Часть 1: zsh
- Часть 2: bash
Преамбула
В процессе разработки одного своего проекта возникло желание добавить также файлы автодополнений (только не спрашивайте зачем). Благо я как-то уже брался за написание подобных вещей, но читать что-либо тогда мне было лень, и так и не осилил.
Введение
Bash, в отличие от zsh, требует к себе некоторого велосипедостроения в отношении автодополнений. Бегло погуглив, я не нашел более-менее нормальных туториалов, потому за основу были взяты имеющиеся в системе файлы автодополнений для pacman
(искренне надеюсь, что отцы-основатели Arch'а не придумывали много велосипедов).
Создание скрипта для публикации
2014-07-18 в 5:50, admin, рубрики: bash, Программирование, публикация приложений, системное администрирование Время от времени появляется задача: сделать скрипт для публикации, который нужно обновлять но невозможно изменять. Например это может быть скрипт инициализации, зашитый внутрь образа виртуальной машины или скрипт для установки движка сайта (публикуемый разработчиком движка).
В статье я расскажу о приемах, которые применяю для создания таких скриптов, они помогут избежать некоторых граблей, сохранить простоту и гибкость скриптов. Подход подойдет для тех скриптов, поведение которых должно меняться в зависимости от потребностей автора, обновлений и т.п. Подход НЕ подойдет для скриптов, которые должны работать автономно (без связи с системой автора).
Я использую такой подход в bash-скриптах, но общий принцип можно применять независимо от языка.
Читать полностью »