oio11: (Default)
[personal profile] oio11

Содержание

проверка linux-системы на наличие следов взлома

Применимость: Linux

Слова для поиска: взломали, крякнули, хакнули, защита, безопасность


Задача:

У вас есть подозрение, что злоумышленники проникли на ваш сервер. Что делать?

Решение:

Одним из очевидных способов гарантировать чистоту системы от активности злоумышленников является переустановка системы с нуля. Но прежде чем прибегнуть к переустановке, следует убедиться, что система действительно поражена. Чтобы обеспечить выявление скрывающих свое присутствие руткитов проверку желательно выполнять загрузившись с LiveCD.

Инструменты

Установить и использовать специализированные инструменты для выявления руткитов, например,chkrootkitossec-rootcheck и rkhunter.

Сиганатуры

Проверить корректность сигнатур для всех установленных в системе пакетов. Для дистрибутивов на базе 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  

Подписи

Убедиться, что установленные пакеты действительно подписаны действующими цифровыми подписями дистрибутива.

Для систем на базе пакетного менеджера 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

Переустановка пакетов

При выявлении подозрительных пакетов их желательно удалить и установить заново.

Например, для переустановки ssh в дистрибутивах на базе RPM следует выполнить:

/etc/init.d/sshd stop rpm -e openssh zypper install openssh	# для openSUSE yum install openssh	# для Fedora

Рекомендуется проделать эти операции, загрузившись с LiveCD и используя опцию 'rpm –root'.

Целостность

Проверка целостности системных скриптов в /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

В Debian для определения какому пакету принадлежит файл следует использовать «dpkg-query -S»:

 for file in `find /usr/share/GeoIP`; do     package=`dpkg-query -S ${file} 2>&1 | grep "not found"`     if [ -n "$package" ] ; then        echo "weird file ${file}, please check this out"     fi  done

Аудит suid root программ:

 find / -user root -perm -4000 -ls

Системный журнал

Проверить логи на предмет наличия нетипичных сообщений:

  • Проверить записи в wtmp и /var/log/secure*, обратив особое внимание на соединения с внешних хостов.
  • Проверить упоминание обращения к /dev/mem;
  • В /var/log/secure* посмотреть нет ли связанных с работой ssh строк с не

текстовой информацией в поле версии, которые могут свидетельствовать о попытках взлома.

  • Проверка удаления файлов с логами, например, может не хватать одного файла с ротацией логов.
  • Выявление подозрительных соединений с локальной машины во вне, например,

отправка email или попытки соединения по ssh во время вашего отсутствия.

  • Анализ логов пакетного фильтра с целью выявления подозрительных исходящих

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

  • Установить, настроить и постоянно использовать logwatch или аналог.

Резервирование

Если в процессе проверки обнаружен факт проникновения злоумышленника следует сделать копию дисковых разделов на отдельный носитель при помощи команды «dd» с целью более подробного анализа методов проникновения. Только после этого можно полностью переустановить всю систему с нуля. Одновременно нужно поменять все пароли и ключи доступа, уведомив об инциденте администраторов серверов, на которых осуществлялась удаленная работа.

Смотрите также:


http://www.colobridge.net/wiki/безопасность/проверка_linux-системы_на_наличие_следов_взлома

(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

May 2025

S M T W T F S
    123
45678910
11121314151617
181920212223 24
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 29th, 2025 04:23 pm
Powered by Dreamwidth Studios