Недавно на опеннете появилась очень интересная статья, наглядно демонстрирующая, что такое linux-безопасность. Перенесу её сюда, чтобы все желающие могли впечатлиться.
В процессе разбора истории со взломом kernel.org было выявлено, что атаковавшим удалось установить вредоносное ПО на Linux-машины некоторых разработчиков, используя которое были перехвачены ключи доступа. В списке рассылки разработчиков ядра Linux опубликована краткая инструкция по проверке целостности системы и выявлению следов активности злоумышленников. Суть опубликованных рекомендаций изложена ниже.
Ну, как выяснилось, имела место не "диверсия одного из разработчиков", как нас пытаются убедить линуксоиды на главной, а самый что ни на есть целенаправленный взлом, осуществлённый с применением вирусов для linux (которых, как известно, в природе нет).
Одним из очевидных способов гарантировать чистоту системы от активности злоумышленников является переустановка системы с нуля. Но прежде чем прибегнуть к переустановке, следует убедиться, что система действительно поражена. Чтобы обеспечить выявление скрывающих свое присутствие руткитов проверку желательно выполнять загрузившись с LiveCD.
И со второго же абзаца опеннет нас шокирует. В мире linux очевидным способом борьбы с вирусами является переустановка системы! А я-то, наивный, думал, что очевидным способом является сканирование системы с помощью антивирусов. Неужели антивирусов под линукс нет? Не может быть. Смотрим дальше.
1. Установка и запуск специализированных инструментов для выявления руткитов, например,
chkrootkit, ossec-rootcheck и rkhunter.
При запуске утилиты rkhunter возможно ложное срабатывание на некоторых системах
с Debian. Вызывающие ложные срабатывания факторы описаны в файле /usr/share/doc/rkhunter/README.Debian.gz
То есть антивирусы как бы есть, но они, во-первых, совсем не антивирусы, а во-вторых, могут признать заражённой абсолютно здоровую систему. Лучше перебдеть, да.
2. Проверка корректности сигнатур для всех установленных в системе пакетов.
Для дистрибутивов на базе RPM:rpm --verify --all
Для дистрибутивов с dpkg следует использовать скрипт:
dpkg -l \*|while read s n rest; do if [ "$s" == "ii" ]; then echo $n;
fi; done > ~/tmp.txt
for f in `cat ~/tmp.txt`; do debsums -s -a $f; doneУтилиту debsums следует установить отдельно:
sudo apt-get install debsumsВывод измененных файлов:
debsums -caВывод измененных файлов конфигурации:
debsums -ceПосмотреть пакеты без контрольных сумм:
debsums -lДругой вариант контрольных сумм для файлов в Debian:
cd /var/lib/dpkg/info
cat *.md5sums | sort > ~/all.md5
cd /
md5sum -c ~/all.md5 > ~/check.txt 2>&1
И никаких вам гуёв. Домозозяйки, пользуйтесь консолью!
3. Проверка на то, что установленные пакеты действительно подписаны
действующими цифровыми подписями дистрибутива.Для систем на базе пакетного менеджера RPM:
for package in `rpm -qa`; do
sig=`rpm -q --qf '%{SIGPGP:pgpsig}\n' $package`
if [ -z "$sig" ] ; then
# check if there is a GPG key, not a PGP one
sig=`rpm -q --qf '%{SIGGPG:pgpsig}\n' $package`
if [ -z "$sig" ] ; then
echo "$package does not have a signature!!!"
fi
fi
done
Итак, комедь продолжается. Интересно, для скольки пакетов будет выведено
"$package does not have a signature!!"?
4. При выявлении подозрительных пакетов их желательно удалить и установить заново.
Например, для переустановки ssh в дистрибутивах на базе RPM следует выполнить:
/etc/init.d/sshd stop
rpm -e openssh
zypper install openssh # для openSUSE
yum install openssh # для FedoraРекомендуется проделать эти операции, загрузившись с LiveCD и используя опцию 'rpm --root'.
Переустанавливай, пользователь, переустанавливай, не бойся. Система дружелюбна к тебе.
5. Проверка целостности системных скриптов в /etc/rc*.d и выявление
подозрительного содержимого в /usr/share. Эффективность выполнения проверок
можно гарантировать только при загрузке с LiveCD.Для выявления директорий в /usr/share, которые не принадлежат каким-либо
пакетам в дистрибутивах на базе RPM можно использовать следующий скрипт:for file in `find /usr/share/`; do
package=`rpm -qf -- ${file} | grep "is not owned"`
if [ -n "$package" ] ; then
echo "weird file ${file}, please check this out"
fi
done
Эффективность выполнения проверок можно гарантировать только при загрузке с LiveCD. Нет слов.
6. Проверка логов на предмет наличия нетипичных сообщений:
* Проверить записи в wtmp и /var/log/secure*, обратив особое внимание на
соединения с внешних хостов.
* Проверить упоминание обращения к /dev/mem;
* В /var/log/secure* посмотреть нет ли связанных с работой ssh строк с не
текстовой информацией в поле версии, которые могут свидетельствовать о попытках взлома.
* Проверка удаления файлов с логами, например, может не хватать одного файла с ротацией логов.
* Выявление подозрительных соединений с локальной машины во вне, например,
отправка email или попытки соединения по ssh во время вашего отсутствия.
* Анализ логов пакетного фильтра с целью выявления подозрительных исходящих
соединений. Например, даже скрытый руткитом бэкдор может проявить себя в логах
через резолвинг DNS. Общая рекомендация сводится к контролю на промежуточном
шлюзе соединений во вне для только принимающих внешние соединения машин и
соединений из вне для только отправляющих запросы клиентских машин.
Не стоит напоминать, что чтение логов без применения специальных средств эффективно только при малом количестве записей в лог-файлах. Ну и да, специального софта для просмотра логов в линуксе нет, что печально.
7. Если в процессе проверки обнаружен факт проникновения злоумышленника следует
сделать копию дисковых разделов на отдельный носитель при помощи команды "dd" с
целью более подробного анализа методов проникновения. Только после этого можно
полностью переустановить всю систему с нуля. Одновременно нужно поменять все
пароли и ключи доступа, уведомив об инциденте администраторов серверов, на
которых осуществлялась удаленная работа.
Шик и блеск. Занавес. Неудивительно, что парни с kernel.org месяц ковырялись.
https://www.opennet.ru/tips/2631_check_s … untu.shtml
Редактировался Дестер (09-10-11 11:56:27)
Неактивен
Это феил, у меня просто нет слов, в итоге, самая безопасная ос - Mac OS?
Неактивен
Дестер, очевидно толсто.
Ну, как выяснилось, имела место не "диверсия одного из разработчиков", как нас пытаются убедить линуксоиды на главной, а самый что ни на есть целенаправленный взлом, осуществлённый с применением вирусов для linux (которых, как известно, в природе нет).
Как-то я не понял мысль. Вредноносным ПО может быть даже команда rm -rf / А вирус - это программа, которая распространяется самостоятельно. Вкратце: при неограниченном root-доступе к машине я установлю туда всё, что угодно, включая трояны. Только вирусом это не будет ни разу.
В мире linux очевидным способом борьбы с вирусами является переустановка системы! А я-то, наивный, думал, что очевидным способом является сканирование системы с помощью антивирусов.
Очевидно, что 100% гарантии не даёт даже воздержание. При наличии root-доступа к машине (опять!), любой человек может насовать закладок в него, причём в такие места, где их потом даже с десятком антивирусов и антишпионов не найдут. Очевидно, что лучше просто переустановить.
То есть антивирусы как бы есть, но они, во-первых, совсем не антивирусы, а во-вторых, могут признать заражённой абсолютно здоровую систему. Лучше перебдеть, да.
Это не антивирусы, а специализированные инструменты для поиска руткитов. Руткиты не ищутся антивирусом, чудило
И никаких вам гуёв. Домозозяйки, пользуйтесь консолью!
Домохозяйку не будут целенаправленно ломать и ставить на её машину кучу руткитов и прочей нечисти.
Итак, комедь продолжается. Интересно, для скольки пакетов будет выведено
"$package does not have a signature!!"?
А это зависит от того, откуда были взяты пакеты. Если пакет взят с китайского форума кулхацкеров... а где гарантия, что в нём нет никакой нечисти?
Эффективность выполнения проверок можно гарантировать только при загрузке с LiveCD. Нет слов.
Бля (пардон), поковыряйся в глубине Windows при ней же запущенной. Любая система гарантирует защиту своих базовых сервисов. Очевидно, что чтобы досмотреть всё, нужно иметь доступ ко всем файлам.
Ну и да, специального софта для просмотра логов в линуксе нет
Пруф?
https://nolinux.w2c.ru - море баттхерта и деаонимизации
Неактивен
Руткиты не ищутся антивирусом
Ну это вообще пушка. Cureit их и лечит как раз.
Мне больше HP Slate понравился. Его в большой карман можно положить, а у Apple - сковородка какая-то бестолковая. © Руслан Карманов, twitter (-;
Неактивен
SemyonKozakov, предсказуемый ответ.
А вирус - это программа, которая распространяется самостоятельно.
Напомнило известный диалог:
- Это факты!
- Нет, это не факты!
Вирус это был, в какие бы лингвистические дебри ты не забирался бы.
Домохозяйку не будут целенаправленно ломать и ставить на её машину кучу руткитов и прочей нечисти.
Перевожу: в линуксе не думают о защите пользователей, пользователь никому не нужен.
Пруф?
Лучше ты дай подтверждение тому, что они есть.
Неактивен
Ну и да, специального софта для просмотра логов в линуксе нет, что печально
Ну вообще то есть, logcheck хотя бы, однако он только задетектит сам факт подозрительных действий. Борьба с с малварью в линупсах действительно предусматривает только переустановку системы. Другого у них не дано.
Редактировался selenscy (09-10-11 13:08:25)
База сама по себе сплошной скрипт (с) AleksK
При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка
Неактивен
Как бы ситуация с андройд маркетом сама за себя говорит
Да и не только там:
По-моему, это уже слишком.
Реклама на этой борде изначально была плохой затеей, а теперь она начала приносить уже первые плоды.
Несколько дней назад при входе в /b/ с android устройства, я увидел предложение скачать некий файл adroidiopera14.apk. Интересно то, что при входе в другие разделы этого сообщения не было. Оно вылезали при открытии тредов, обновлении страницы, т.е., при любой активности. Но тогда можно было просто нажать отмены и кроме небольшого неудобства это ничего не доставляло. Спустя день зайти в раздел стало уже невозможно, поскольку если нажать отмену, то из /b/ выкидывало на главную страницу. Изначально я подумал, что это как-то связано с куклоскриптом (да, знаю, идиот). И когда меня вконец это заебало, то я все-таки скачал эту хрень и даже установил. И... с моего телефона отпавилась пачка смс сообщений на номер некого контент провайдера. Каждое по ~30 рублей. Я сразу же написал об этом Абу на юзерэхо, где он уверил меня, что это из-за рекламы и он это исправит. Любой нормальный админ пошлет нахуй таких рекламодателей, но только не Абу! Он видимо заблочил только файл operaandroidi14.apk, а уже спустя пару часов после его "фикса", появился новый файл operaandroid12.apk
Меня больше всего удивило то, что никто из анонов даже не отписался по этому поводу. Неужели всем действительно похуй? Ведь многие сидят с android устройств
Мне больше HP Slate понравился. Его в большой карман можно положить, а у Apple - сковородка какая-то бестолковая. © Руслан Карманов, twitter (-;
Неактивен
AV для линукса есть, и от крупных производителей пруф https://www.kaspersky.com/anti-virus_linux_workstation, например.
Учитывая частоту случаев заражений, Antivirus для линуксов НАМНОГО менее популярны (в основном устанавливаются на файл-серверах).
Тот факт что линукс (да и MacOSX) на сегодняшний момент намного безопаснее винды, по моему несомненен.
В принципе, если вот такой вой поднимать для каждого нового вируса появившегося для Windows - то придётся открывать десятки/сотни таких тем в день. Наш SLOR не выдержит
- Модератор... ты очень, очень глубоко заблуждаешься...
- Два предупреждения за скрытый мат!
Неактивен
Ну таки есть:
https://www.eset.eu/products/nod32-for-linux
Гуи слизали с MSE.
Редактировался mav (09-10-11 13:40:43)
Мне больше HP Slate понравился. Его в большой карман можно положить, а у Apple - сковородка какая-то бестолковая. © Руслан Карманов, twitter (-;
Неактивен
Ну и да, специального софта для просмотра логов в линуксе нет, что печально.
Конечно нету, ибо в линупсе нету единого стандарта хранения логов системе, все логи хранятся в /var/log, где царит полный хаус и беспорядок, тогда, как все логи в винде доступны в виде xml, xml - единый стандарт.
Неактивен
В общем-то, это самый грандиозный линупс-феил в истории.
Неактивен
В Windows читают логи полностью? Освойте grep.
Асваивайте никто не запрещает.
Быт может к 3011 придумает GUI, оно тоже на g начинается.
Неужели и kernel-mode rootkit'ы? Кстати, там как раз недавно всплывал очень забавный руткит... не, уже буткит для Windows.
А вы о Kon-Boot слышали?
Сделать из него чего угодно никто не мешает. Исходники имеются.
Неактивен
Есть.
Нету, я вот решил написать логгер для своей говноутилиты на своем говноязыке разметки логов (желательно делать непохожим ни на один другой) и так с каждой говноутилитой в линупсе, как заставить сие поделие нормально читаться в твой программе?
В котором месте? Все логи проименованы по имени службы.
Блеать, не в том смысле, нету единого стандарта написания логов.
Одна проблема - он класно парсится, но плохо читается человеком.
Ъ-линуксойды вообще логи через tail -f читают.
Написать парсер xml на каком-нибуть руби что бы читать cat /var/log/kernel.log | rb_xml parse | tail -f дело 5 минут. А если бы баш был полноценным языком, как в руби, все можно было реализовать вот так
puts Log.parse(:boot).last 10
Редактировался Babusha (09-10-11 16:41:14)
Неактивен
Свеженькое...
А че, попробовали и не работает?
Неактивен