Cкрипты проверки безопасности Linux. Часть 2
Life-Hack [Жизнь-Взлом]/ХакингДля защиты системного загрузчика GRUB, администратору необходимо использовать шифрование пароля в MD5 формате:
[root@machine~]# grub-md5-crypt
После выполнения команды, администратору необходимо открыть файл /boot/grub/menu.lst или /boot/grub/grub.conf и добавить MD5-пароль:
[root@machine~]# vi /boot/grub/menu.lst
или
[root@machine~]# vi /boot/grub/grub.conf
Вновь созданный MD5-пароль может быть добавлен в конфигурационный файл GRUB.
5.2 Защита загрузочной директории /BOOT
Во время аудита необходимо проверить состояние каталога / boot, так как ядро системы и связанные с ним файлы находятся в каталоге / boot. Вы должны убедиться, что этому каталогу разрешен доступ только для чтения, чтобы предотвратить несанкционированные изменения важных системных файлов. Для проверки откройте файл / etc / fstab и проверьте конфигурацию:
##vi /etc/fstab
В файле должна присутствовать строка:
LABEL=/boot /boot ext2 defaults,ro 1 2
5.3 Проверка открытых портов и активных соединений
Следующий скрипт может использоваться для проверки сервисов, запущенных в системе:
# netstat–tulpn
A script for port scanning is:
scan() {
if [[ -z $1 || -z $2 ]]; then
echo “Usage: $0 <host><port, ports, or port-range>”
return
fi
local host=$1
local ports=()
case $2 in
*-*)
IFS=- read start end <<< “$2”
for ((port=start; port <= end; port++)); do
ports+=($port)
done
;;
*,*)
IFS=, read -ra ports <<< “$2”
;; *)
ports+=($2) ;;
esac
for port in “${ports[@]}”; do
alarm 1 “echo >/dev/tcp/$host/$port” &&
echo “port $port is open” ||
echo “port $port is closed”
done
}
Межсетевой экран iptables
Во время аудита необходимо проверить конфигурацию межсетевого экрана Linux для предотвращения несанкционированного доступа. Для управления трафиком в iptables должны быть созданы правила, которые будут фильтровать входящие и исходящие пакеты и пересылать их на основе IP-адреса и номера порта TCP / UDP.
# iptables -n -L -v --line-numbers
ICMP/broadcast запросы
В ходе аудита, необходимо проверить, что системы настроены на игнорирование ping и широковещательных запросов. Для этого убедитесь, что в файле “/etc/sysctl.conf” добавлены следующие строки:
# игнорировать ICMP запросы:
net.ipv4.icmp_echo_ignore_all = 1
# игнорировать широковещательные запросы:
net.ipv4.icmp_echo_ignore_broadcasts = 1
5.4 Проверка установленных обновлений
В системы должны быть установлены последние обновления:
# yum updates # yum check-update
6. Проверка автоматически выполняемых заданий CRON
Аудитор должен проверить кому разрешено и запрещено выполнять задания в cron. Доступ к cron контролируется c использованием файлов /etc/cron.allow и /etc/cron.deny.
# echo ALL >>/etc/cron.deny
7. Проверка форсированного режима безопасности SELINUX
В ходе аудита важно проверить статус SELinux. Данный механизм должен быть включен в системе.
Существует три режима SELinux:
- Enforcing: политика SELinux включена принудительно. SELinux запрещает доступ, основываясь на правилах политики SELinux.
- Permissive: политика SELinux не принудительна. SELinux не запрещает доступ, но запреты журнлируются как действия, которые были бы запрещены, если переключить политику в принудительный режим.
- Disabled: SELinux отключен. Используются только дискретные правила DAC.
В ходе аудита, можно использовать следующий сценарий, чтобы проверить состояние SELinux или использовать команды system-configselinux, getenforce или sestatus:
ENABLED=`cat /selinux/enforce` if [ “$ENABLED” == 1 ]; then echo “SELinux is enabled, disable? (yes/no):” read disable if [ $disable == “yes” ]; then echo “disabling selinux” setenforce 0 fi fi
Скрипт LBSA для проверки основных опций безопасности
LBSA (сценарий аудита базовой безопасности Linux) — это базовый сценарий для проверки конфигурации безопасности Linux. Сценарий следует запускать из командной строки с привилегиями root или, в идеале, запускать на регулярной основе с использованием планировщика cron для систематической проверки изменений конфигурации.
Целью данного скрипта является экспресс аудит настроек безопасности и выгрузка отчета с описанием возможных параметров, которые могут быть изменены, чтобы обеспечить более высокую степень защищенности. В случае же, если нет каких-либо рекомендаций по какой-то опции, скрипт просто выводит одну строчку с отработкой чека, а итоговое решение всегда остается за администратором. Прежде чем запускать проверку, разработчики настоятельно рекомендуют ознакомиться с руководством и изучить рекомендуемые разделы для получения дополнительной информации.

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