Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- 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
- В 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
- 6. Проверка логов на предмет наличия нетипичных сообщений:
- * Проверить записи в wtmp и /var/log/secure*, обратив особое внимание на
- соединения с внешних хостов.
- * Проверить упоминание обращения к /dev/mem;
- * В /var/log/secure* посмотреть нет ли связанных с работой ssh строк с не
- текстовой информацией в поле версии, которые могут свидетельствовать о попытках взлома.
- * Проверка удаления файлов с логами, например, может не хватать одного файла с ротацией логов.
- * Выявление подозрительных соединений с локальной машины во вне, например,
- отправка email или попытки соединения по ssh во время вашего отсутствия.
- * Анализ логов пакетного фильтра с целью выявления подозрительных исходящих
- соединений. Например, даже скрытый руткитом бэкдор может проявить себя в логах
- через резолвинг DNS. Общая рекомендация сводится к контролю на промежуточном
- шлюзе соединений во вне для только принимающих внешние соединения машин и
- соединений из вне для только отправляющих запросы клиентских машин.
- 7. Если в процессе проверки обнаружен факт проникновения злоумышленника следует
- сделать копию дисковых разделов на отдельный носитель при помощи команды "dd" с
- целью более подробного анализа методов проникновения. Только после этого можно
- полностью переустановить всю систему с нуля. Одновременно нужно поменять все
- пароли и ключи доступа, уведомив об инциденте администраторов серверов, на
- которых осуществлялась удаленная работа.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement