security

http://aboutubuntu.ru/secure-deletion-of-data-in-linux.html

snort

debsums — инструмент для сверки контрольных сумм файлов, установленных пакетов с эталоном
debsums -c

This feature prevents the ability to delete or rename files in world writable directories
(such as /tmp) that are owned by another user.
Audit:
# df —local -P | awk {‘if (NR!=1) print $6’} | xargs -I ‘{}’ find ‘{}’ -xdev -type d \( -perm -0002 -a ! -perm -1000 \) 2>/dev/null
Remediation:
# df —local -P | awk {‘if (NR!=1) print $6’} | xargs -I ‘{}’ find ‘{}’ -xdev -type d \( -perm -0002 -a ! -perm -1000 \) 2>/dev/null | xargs chmod a+t
===========================================================================
Verifying packages gives a system administrator the ability to detect if package files wechanged, which could indicate that a valid binary was overwritten with a trojaned binaAudit:
Perform the following to verify integrity of installed packages.
# rpm -qVa | awk ‘$2 != «c» { print $0}’
If any output shows up, you may have an integrity issue with that package
Кодовый символ Означает
S Изменился размер файла
M Изменились атрибуты доступа файла
5 Изменилась контрольная сумма MD5 файла
D Старший и младший номер файла устройства изменились
L Ошибка ссылки
U Изменился владелец файла
G Изменилась группа файла
T Время создания или время последней модификации файла изменились

c %config конфигурационный файл
d %doc файл документации
g %ghost файл, который не включен в пакет
l %license файл лицензии
r %readme README фай
============================================================================
Оповещение об открытой ssh сессии
cat /etc/ssh/sshrc
/usr/local/bin/ssh_login_alert.sh

cat /usr/local/bin/ssh_login_alert.sh
#!/bin/bash
ip=`echo $SSH_CONNECTION | awk ‘{print $1}’`
tip=»82.118.23.38″
if [ $ip != $tip ]; then
echo «Security Warning SSH Connection Established with \»$USER\» $(echo $SSH_CONNECTION | awk ‘{print $1}’) to `hostname`»|mail -s `hostname` slava@friendhosting.net,pkhodnevich@yandex.ru,chief@friendhosting.net
fi
=============================================================================
yum install aide
cat /usr/local/bin/aide.sh
#!/bin/bash
# Скрипт для запуска AIDE и отправки отчетов по почте
# Имя файла для логов
logfile=/var/log/aide/`date +%d.%m.%Y-%H:%M`.log
# Почта для отчетов
admin_mail=slava@friendhosting.net
# Параметры базы данных такие как в /etc/aide.conf
databasedir=/var/lib/aide
database=aide.db.gz
database_out=aide.db.new.gz
# Проверяем не защен ли уже один из экземляров скипта
runfile=/var/run/aide_run
[ -e $runfile ] && { echo «AIDE process already running.»; exit 0; }
touch $runfile
if [ ! -e $databasedir/$database ]; then
# Если файла базы для чтения не существует запускаем инциализацию
/usr/sbin/aide —init —report=file://$logfile > /dev/null
# Отправляем сообщение на почту
mail -s «AIDE database initialized on `hostname`» «$admin_mail» < $logfile else # Запускаем обновление /usr/sbin/aide --update --report=file://$logfile > /dev/null
# Отправляем логи на почту
mail -s «AIDE working result from `hostname`» «$admin_mail» < $logfile fi # У AIDE есть очень полезная функция - сравнивать между собой две базы # поэтому на всякий случай сохраняем историю баз по дате cp $databasedir/$database_out $databasedir/aide.db.`date +%d.%m.%Y-%H:%M`.gz # Переименовываем новую базу в базу для чтения mv $databasedir/$database_out $databasedir/$database rm $runfile ##### ======================================================================= Perform the following to determine if unconfined daemons are running on the system. # ps -eZ | egrep "initrc" | egrep -vw "tr|ps|egrep|bash|awk" | tr ':' ' ' | awk '{print $NF }' [no output produced] ======================================================================= # ls /proc/PID/cwd - для процесса с pid’ом PID покажет окружение директории, из которой был запущен файл. Также можно воспользоваться утилитой find, чтобы найти исполняемый файл. Когда файл найден, необходимо посмотреть атрибуты/время файла # stat shell Выяснить, что это за файл поможет утилита strings. # strings shell - покажет строки, которые содержит бинарный файл. Использование rkhunter # rkhunter --update # rkhunter --propupd # rkhunter -c --cs2 проанализировать все крон-задания для root и других пользователей: # egrep -ri ‘wget|sh|fetch|curl’ /var/spool/cron