Cкрипты проверки безопасности Linux. Часть 2

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 для систематической проверки изменений конфигурации. 

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

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

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

Источник


Report Page