Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 56
Текст из файла (страница 56)
В последнем файлеопределяются правила доступа. Этот файл можно изменять только с помощью программы lidsadm.228Конфигурирование сервераСпособность — это возможность программы совершать какое-либодействие. В табл. 8.10 каждая из способностей рассмотрена более подробно. Формат способностей, в котором они содержатся в файле lids.cap,выглядит так:[ + /-]номер:названиеЕсли в первом поле установлен знак «+», значит эта способность включена. Номер — это просто порядковый номер способности.
Название определяет действие, разрешенное или запрещенное программам. Выключениеспособности распространяется на все программы, кроме тех, которые непосредственно указаны в правилах доступа с помощью программы lidsadm. Еслиспособность включена, ее ограничение распространяется на все без исключения программы. Нельзя установить ограничение на все программы, кроменескольких. Пример файла l i d s . с о р приведен в листинге 8.15.Листинг 8.15.
Пример файла lids.cap+0:CAP_CHOWN+1:CAP_DAC_OVERRIDE+ 2:CAP_DAC_READ_SEARCH+3:CAP_FOWNER+4:CAP_FSETID+5:CAP_KILL+6:CAP_SETGID+7:CAP_SETUID+8:CAP_SETPCAP-9:CAP_LINUX_IMMUTABLE-10:CAP_NET_BIND_SERVICE+11:CAP_NET_BROADCAST-12:CAP_NET_ADMIN-13:CAP_NET_RAW+14:CAP_IPC_LOCK+15:СAP_IPCJDWNER-16:CAP_SYS_MODULE-17:CAP_SYS_RAWIO-18:CAP_SYS_CHROOT+19:CAP_SYS_PTRACE+20:CAP_SYS_PACCT-21:CAP_SYS_ADMIN+22:CAP_SYS_BOOT+23:CAP_SYS_NICE+24:CAP_SYS_RESOURCE+25:CAP_SYS_TIME+2 6:CAP_SYS_TTY_CONFIG+27:CAP_HIDDEN+28:CAP INIT KILL229Конфигурирование сервераТаблица 8.10СпособностиСпособностьCAP_CHOWNCAP_DAC_OVERRIDECAP DAC READ SEARCHCAP_FOWNERCAP_FSETIDCAPJOLLCAP_SETGIDCAP_SETUIDCAP SETPCAPCAP_LINUX_IMMUTABLECAP NET BIND SERVICECAP NET BROADCASTCAP_NET_ADMINCAP NET RAWCAP_IPC_LOCKCAP_IPC_LOCKCAP_SYS_MODULECAP_SYS_RAWIOCAP_SYS_CHROOTCAP_SYS_PTRACECAP_SYS_PACCTCAP_SYS_ADMINCAP_SYS_BOOTCAP_SYS_NICECAP_SYS_RESOURCECAP SYS TIMECAP SYS TTY CONFIGCAP_HIDDENCAP_INIT_KILL230ОписаниеРазрешает (или запрещает, если способность выключена) программамизменять группу и владельца файла.
Далее подразумевается, что рассматриваемая способность включена и если ее отключить, то данное действие будетнедоступно программамПрограммы, запускаемые пользователем root, не будут принимать во вниманиеправа доступа к файлам. Например, если режим доступа к файлу пользователяравен 0600, то даже root не сможет открыть его (получить доступ к файлу)То же самое, но для каталогов (режимы доступа: чтение и поиск)Запрещает операции с файлами, если идентификатор владельца файла несовпадает с идентификатором пользователя, который выполняет операциюРазрешает установку битов SUID и SGID для файлов, не принадлежащихпользователю rootРазрешает процессам пользователя root завершать («убивать») процессыдругих пользователейРазрешает программам изменять группу, под которой они работают.Программа должна быть запущена пользователем root.
Эту возможностьиспользуют программы: httpd, sendmail, safejnysql, safejinger, postfix, ftpdРазрешает программам изменять пользователя, под которым они работают.Программа должна быть запущена пользователем rootВключает способность программ редактировать способностиОтключите данную способность.
Эта способность относится к таким атрибутамфайлов, как SJMMUTABLE (команда chattr -i) и S_APPEND (chattr -a)Разрешает программам прослушивать порты с номерами, меньшими 1024Разрешает программам отправлять широковещательные пакетыЭта способность относится к сетевому администрированию: конфигурированиесетевых интерфейсов, изменение таблиц маршрутизации ядра, правил firewallи т.п.Разрешает программам использовать сокет-соединения (Raw Unix Socket)Разрешает процессам пользователя root блокировать сегменты разделяемойпамятиРазрешает процессам пользователя root вмешиваться в межпроцессорноевзаимодействие процессов других пользователейУправляет способностью загружать (выгружать) модули ядра.
Отключитеданную способностьУправление доступом к файлам устройств, например, /dev/mem, /dev/hd*,/dev/sd*. Другими словами, разрешает прямой ввод/выводРазрешает изменять корневой каталог в процессе работы пользователя.Отключите данную способностьРазрешает программа использовать функцию ptracef). Включите даннуюспособностьУправляет способностью конфигурировать учет процессов. Отключите даннуюспособностьУправляет способностью изменения многих системных параметров: от установления имени компьютера до монтирования дисков. Отключите данную способность, иначе ничего не сможете сделать в системеУправляет способностью перезагружать машинуУправляет способностью изменять приоритет процессов других пользователейДанная способность относится ко всевозможным ограничениям системныхресурсов, например, дисковые квоты, количество консолей.
Выключите даннуюспособностьРазрешает изменять системное времяРазрешает изменять настройки консолейРазрешает программам становиться невидимыми в списке процессовРазрешает «убивать» потомков процесса init. К потомкам относятся практическивсе демоны, запущенные при запуске системыКонфигурирование сервераДля инициализации способностей используются команды lidsadm -I. Этукоманду обычно помещают в сценарии автозагрузки системы, например, гс.1оса1,и, как правило, эта команда должна быть последней, чтобы могли беспрепятственно загрузиться демоны и инициализироваться сетевые интерфейсы.Теперь перейдем к настройке параметров отправления сообщений электронной почты.
Эти параметры, как уже было отмечено, находятся в файлеlids.net (см. листинг 8.16).Листинг 8.16. Файл lids.netMAIL_SWITCH=1MAIL_RELAY=127.0.0.1:25MAIL_SOURCE=localhostMAIL_FROM=LIDS@domain.ruMAIL_TO=admin@adminhome.ruMAIL_SUBJECT=The intrusion is revealedПервый параметр включает (1) или отключает (0) функцию отправки сообщения.
Параметр MAIL_RELAY определяет IP-адрес сервера SMTP и портсервиса SMTP. MAIL_SOURCE — это источник почты, то есть узел, отправивший сообщение. Параметр MAIL_FROM устанавливает адрес отправителя, аMAIL_TO — адрес получателя. MAIL_SUBJECT — это тема сообщения.В качестве адреса получателя рекомендую установить номер мобильноготелефона, точнее e-mail-адрес, который сопоставлен с вашим номером телефона. Этот адрес можно узнать у вашего оператора мобильной связи.
В этомслучае сообщение о вторжении будет отправлено по SMS прямо на мобильный телефон, что очень удобно — не будете же вы всегда находиться возлекомпьютера, ожидая сообщения от LIDS?Следующий этап настройки системы LIDS — это изменение пароляадминистратора системы LIDS. Для изменения пароля (точнее, установкинового пароля), введите команду:lidsadm -P8.9.4. Правила доступаПравила доступа системы LIDS чем-то напоминают правила бастиона, ноданные правила распространяются не на пакеты, а на программы. Правиладоступа хранятся в файле lids.conf и редактировать этот файл можнотолько с помощью программы lidsadm.
Первоначально у вас уже установленыопределенные правила, просмотреть которые вы можете с помощью команды:lidsadm -LОбновить правила вы можете с помощью команды:lidsadm -иЯ рекомендую вам очистить все правила и создать собственные. К тому же,первоначально установленные правила у вас не будут работать, так как кромеимени файла система LIDS также использует и номер mode, а в вашей системеномера информационных узлов (inodes) будут отличаться от номеров узлов намашине разработчиков LIDS. Очистить правила можно с помощью команды:lidsadm -Z231Конфигурирование сервераПравила состоят из трех частей:1. Объекта.2.
Субъекта.3. Доступа (цели).Объект — это любой объект (файл, каталог), который будет защищен спомощью системы LIDS или на который будет действовать ограничениедоступа. Если защитить каталог, то будут защищены все файлы в этомкаталоге, все подкаталоги, все файлы в подкаталогах и т.д.Субъектом является защищенная программа, которой предоставляетсядоступ к защищенному объекту. Субъект также должен быть защищен спомощью LIDS. Параметр доступ (цель) устанавливает тип доступа к объекту:READчтение.WRITE....запись.DENYзапрещает любой доступ.APPENDразрешает запись в конец файла.IGNOREигнорирование защиты.Устанавливается правило так:lidsadm -А -о объект -s субъект -j доступЕсли параметр «субъект» не указан, то правило будет действовать длявсех программ.Для начала защитим нашу систему от самого известного «троянскогоконя» — rootkit.
О том, что такое rootkit и какой вред он может причинитьвашей системе вы можете прочитать в статье Инги Захаровой «Сканирование на предмет обнаружения rootkit'oB» http://www.softerra.ru/review/security/16999/pagel.html.Пакет rootkit заменяет стандартные утилиты администрирования их «поддельными» версиями, что позволяет скрыть следы атаки и несанкционированного доступа.Для защиты от такого рода «троянов» создайте такие правила:lidsadm -А -о /bin -j READlidsadm -A -o /sbin -j READlidsadm -A -o /etc -j READlidsadm -A -o / u s r / b i n -j READlidsadm -A -o / u s r / s b i n -j READlidsadm -A -o /lib -j READlidsadm -A -o /boot -j READКак видите, мы не определили субъект в наших правилах, поэтомуустановленные ограничения будут распространяться на все программы: мыразрешаем доступ «только чтение» всем программам, но запрещаем запись вуказанные каталоги.Как я уже отмечал, при установке правил нужно учитывать особенностиустановленных в вашей системе программ.
Если оставить все как есть,некоторые программы не смогут работать. Например, программа mount пи232Конфигурирование серверашет в файл /etc/mtab при монтировании новой файловой системы. Установите такие дополнительные правила, разрешив некоторым субъектам доступ WRITE к некоторым файлам:lidsadm -А -о /etc -s / b i n / m o u n t -j WRITElidsadm -A -s -o / e t c /bin/umount -j WRITElidsadmlidsadmlidsadmlidsadmlidsadm-A-A-A-A-A-s-s-s-s-s-o-o-o-o-o/ l i b / m o d u l e s / 2 .
2 . 1 7 - 2 1 m d k /sbin/depmod -j WRITE/ e t c / m t a b / s b i n / f s c k . e x t 2 -j WRITE/etc / e t c / r e . d / r c . l o c a l -j WRITE/etc/HOSTNAME / e t c / r e . d / r c . s y s i n i t -j WRITE/etc/mtab / e t c / r e . d / r c . s y s i n i t -j WRITEОднако в этих правилах перечислены далеко не все субъекты, которымнеобходим доступ к указанным объектам, но этих правил достаточно длязапуска системы и монтирования файловых систем.
В этой главе будут ещерассмотрены субъекты регистрации пользователей в системе, которым необходим доступ к файлам /etc/passwd и /etc/shadow, а правила для всехостальных программ, которые используются в вашей системе вам предстоитдобавить самостоятельно. Вот эти правила:lidsadm -A -o /etc/shadow -j DENYlidsadm -A -o /etc/shadow -s / b i n / l o g i n -j READlidsadm -A /etc/shadow -s / b i n / s u -o -j READlidsadm -A -o /etc/shadow -s / u s r / s b i n / i n . f t p d -j READЕсли не добавлять в систему LIDS последние три правила, никто (дажеroot) не сможет зарегистрироваться в системе.