Вход/Регистрация
Linux
вернуться

Стахнов Алексей Александрович

Шрифт:

rpm -U –force rpm_package_name.rpm

После переустановки пакетов вы должны удалить файлы, установленные в вашу систему взломщиком. Данные, полученные chkrootkit, помогут вам определить местонахождение файлов.

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

LIDS

LIDS (Linux Intrusion Detection/Defence System) – система обнаружения и защиты от вторжения. Представляет собой дополнение к ядру операционной системы Linux, добавляющее дополнительные возможности для увеличения безопасности операционной системы. LIDS позволяет запретить или ограничить доступ к файлам, памяти, устройствам, сетевым интерфейсам, запущенным приложениям и т. п. пользователю root, что дает возможность надежно оградить даже взломанную операционную систему от дальнейшего вмешательства.

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

LIDS позволяет распределять права доступа к файлам на уровне программ, а не на уровне пользователей, а также запретить перезапуск операционной системы, загрузку/выгрузку модулей ядра и многое другое.

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

Помимо всего прочего, в LIDS присутствует встроенный детектор сканирования сетевых портов.

Установка

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

Далее, нам необходимо перекомпилировать ядро операционной системы Linux с поддержкой LIDS. Для этого в пункте меню конфигурации ядра Code maturity level options необходимо включить опцию Prompt for development and/or incomplete code/drivers .

После этого в пункте меню General setup необходимо включить опцию Sysctl support .

Далее необходимо зайти в меню Linux Intrusion Detection System. Это меню полностью относится к конфигурированию LIDS. Первым идет включение поддержки LIDS в ядре:

[*] Linux Intrusion Detection System support (EXPERIMENTAL)

После включения поддержки LIDS станет доступным список опций настройки LIDS:

• Maximum protected objects to manage – этот пункт позволяет установить максимальное количество защищаемых объектов;

• Maximum ACL subjects to manage – позволяет установить максимальное количество субъектов правил доступа LIDS;

• Maximum ACL objects to manage – позволяет установить максимальное количество объектов правил доступа LIDS;

• Maximum protected proceeds – позволяет установить максимальное количество защищаемых процессов;

• Hang up console when raising securit alert – разрешает закрытие консоли, с которой произошло нарушение безопасности;

• Security alert when execing unprotected programs before sealing LIDS – разрешает вывод сообщения о нарушении безопасности при запуске незащищенных программ;

• Do not execute unprotected programs before sealing LIDS – включает запрет на запуск незащищенных программ до установки способностей;

• Try not to flood logs – при включении этой опции LIDS не будет записывать в log-файлы дублирующиеся сообщения об одном и том же нарушении защиты;

• Autorized time between two identic logs (seconds)  – устанавливается время в секундах, в течение которых проверяется появление двух идентичных сообщений, чтобы не записывать одинаковые сообщения в log-файлы;

• Allow switching LIDS protections – включает возможность отключения и включения LIDS в процессе работы системы после ввода пароля. При включении данной опции появляется возможность поменять любые параметры работы без перезагрузки операционной системы;

• Numbers of attempts to submit password – определяет количество попыток ввода пароля, по истечении которых отключение LIDS становится невозможным на заданный далее промежуток времени;

• Time to wait after fail (seconds)  – время в секундах, в течение которого после ввода неправильного пароля указанное количество раз, отключение LIDS становится невозможным;

• Allow remote users to switch LIDS protections – дает возможность удаленным пользователям отключать LIDS. С целью увеличения безопасности вашей операционной системы не включайте эту опцию;

• Allow any program to switch LIDS protections – позволяет любой программе отключать LIDS. Не включайте эту опцию;

• Allow reloading config. File – разрешает переконфигурирование LIDS без перезагрузки компьютера;

• Port Scanner Detector in kernel – позволяет в ядро операционной системы добавить детектор сканирования портов;

• Send security alerts through network – разрешает отправку электронной почты при нарушении безопасности на указанный электронный адрес с информацией о нарушении. Письмо отправляется незамедлительно при попытке совершения несанкционированных действий;

• Hide klids network threads – позволяет скрывать сетевые соединения LIDS;

• Number of connection tries before giving up – задается количество попыток соединения с SMTP-сервером;

• Sleep time after a failed connection – задает время в секундах между попытками соединения с почтовым сервером;

• Message queue size – определяет максимальное количество почтовых сообщений в очереди. При превышении данного количества самое старое неотправленное сообщение удаляется из очереди;

• LIDS debug – используется для включения вывода отладочных сообщений LIDS.

После конфигурирования можно компилировать и устанавливать ядро операционной системы.

Конфигурирование LIDS

После установки LIDS в каталоге /etc появляется каталог lids, содержащий следующие конфигурационные файлы:

• lids.cap – предназначен для хранения текущих значений установок способностей;

• lids.net – предназначен для настройки отправки электронных сообщений системой LIDS;

• lids.pw – в этом файле записан в зашифрованном виде пароль администратора. Изменять этот файл можно только с помощью lidsadm;

• lids.conf – файл содержит текущие установки правил доступа. Изменять этот файл можно только с помощью lidsadm.

Способности

Способности (capabilities) – определяют возможность программ совершать какие-либо действия. LIDS позволяет использовать по отношению к программам большое количество способностей. В частности, LIDS поддерживает способность перезагружать компьютер, изменять владельца файла, загружать или выгружать модули ядра и многое другое.

Текущие установки способностей хранятся в файле lids.cap в формате:

[+I-] Номер: Способность

Здесь:

• + – включает способность;

• – – отключает способность.

Редактировать файл lids.cap можно с помощью любого текстового редактора.

Включение способности влияет на все программы без исключения, а выключение влияет на все программы, кроме тех, которым напрямую указана данная способность с помощью правил доступа lidsadm.

Сразу после установки LIDS файл lids.cap содержит включенными следующие способности:

• CAP_CHOWN – устанавливает способность программ изменять владельца и группу владельца файла;

• CAP_DAC_OVERRIDE – разрешает программам, запускаемым пользователем root, не принимать во внимание режимы доступа к файлам. При отключении этой способности пользователь root теряет возможность изменять любые файлы, невзирая на права доступа;

• CAP_DAC_READ_SEARCH – то же самое, что и предыдущая способность, только по отношению к каталогам;

• CAP_FOWNER – разрешает операции с файлами, когда владелец файла должен совпадать с пользователем, совершающим операцию;

• CAP_FSETID – разрешает установку SUID– или SGID-бита на файлах, не принадлежащих пользователю root;

• CAP_KILL – разрешает процессам пользователя root «убивать» чужие процессы;

• CAP_SETGID – управляет способностью программ пользователя root изменять группу, под которой работает программа;

• CAP_SETUID – управляет способностью программ пользователя root изменять пользователя, под которым работает программа;

• CAP_SETPCAP – разрешает программам менять способности;

• CAP_LINUX_IMMUTABLE – управляет способностью снимать атрибуты S_IMMUTABLE и S_APPEND с файлов;

• CAP_NET_BIND_SERVICE – разрешает программам использовать сетевой порт, меньший чем 1024;

• CAP_NET_BROADCAST – управляет способностью программ рассылать широковещательные пакеты;

• CAP_NET_ADMIN – параметр управляет большим количеством различных способностей: конфигурирование сетевых интерфейсов, изменение правил брандмауэра, изменение таблиц маршрутизации и многих других, связанных с сетевыми настройками Linux;

• CAP_NET_RAW – управляет способностью программ использовать сокеты;

• CAP_IPC_LOCK – управляет способностью процессов пользователя root блокировать сегменты разделяемой памяти;

• CAP_IPC_OWNER – управляет доступом программ пользователя root к ресурсам межпроцессорного взаимодействия процессов, не принадлежащих пользователю root;

• CAP_SYS_MODULE – управляет способностью загружать модули ядра;

• CAP_SYS_RAWIO – управляет доступом на чтение/запись к таким устройствам, как /dev/mem, /dev/kmem, /dev/port, /dev/hdXX, /dev/sdXX;

• CAP_SYS_CHROOT – управляет способностью устанавливать корневой каталог для текущей командной оболочки;

• CAP_SYS_PTRACE – этот параметр включает способность программ использовать вызов функции ptrace , которая позволяет управлять выполнением процессов-потомков процессу-родителю;

• CAP_SYS_PACCT – управляет способностью конфигурировать учет процессов;

• CAP_SYS_ADMIN – управляет множеством способностей: управление устройством /dev/random, создание новых устройств, конфигурирование дисковых квот, настройка работы klogd, установка имени домена, установка имени хоста, сброс кэша, монтирование и размонтирование дисков, включение/отключение swap-раздела, установка параметров последовательных портов и многое другое;

• CAP_SYS_BOOT – управляет способностью перегружать систему;

• CAP_SYS_NICE – управляет способностью изменять приоритет процессов, не принадлежащих пользователю root;

• CAP_SYS_RESOURCE – управляет способностью изменять лимиты использования ресурсов системы: дисковые квоты, зарезервированное пространство на Ext2-разделах, максимальное количество консолей и т. п.;

• CAP_SYS_TIME – управляет способностью изменять системное время;

• CAP_SYS_TTY_CONFIG – управляет способностью изменять настройки tty-устройств;

• CAP_HIDDEN – управляет способностью программ делаться невидимыми в списке процессов. Не влияет на все программы;

• CAP_INIT_KILL – управляет способностью «убивать» процессы-потомки процесса init.

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

Для инициализации параметров способностей в процессе загрузки используется команда

lidsadm -I

Обычно ее ставят в конце /etc/rc.d/rc.local, что позволяет произвести отключение способностей только после запуска всех необходимых для работы сервера программ. Правила доступа Все управление LIDS осуществляется с помощью программы – lidsadm. Lidsadm работает в двух режимах – настройки правил доступа или ввода команд администрирования. Установки правил доступа находятся в файле /etc/lids/lids.conf. Для просмотра текущих установок правил доступа необходимо выполнить следующую команду:

lidsadm -L

LIST

Subject ACCESS TYPE Object

–

Any File READ /sbin

Any File READ /bin

Any File READ /boot

Any File READ /lib

Any File READ /usr

Any File DENY /etc/shadow

/bin/login READ /etc/shadow

/bin/su READ /etc/shadow

Any File APPEND /var/log

Any File WRITE /var/log/wtmp

/sbin/fsck.ext2 WRITE /etc/mtab

Any File WRITE /etc/mtab

Any File WRITE /etc

/usr/sbin/sendmail WRITE /var/log/sendmail.st

/bin/login WRITE /var/log/lastlog

/bin/cat READ /home/xhg

Any File DENY /home/httpd

/usr/sbin/httpd READ /home/httpd

Any File DENY /etc/httpd/conf

/usr/sbin/httpd READ /etc/httpd/conf

/usr/sbin/sendmail WRITE /var/log/sendmail.st

/usr/XHR6/bin/XF8 6_SVGA NO_INHERIT RAWIO

/usr/sbin/in.ftpd READ /etc/shadow

/usr/sbin/httpd NO_INHERIT HIDDEN

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

• READ – доступ на чтение;

• WRITE – запись;

• DENY – запрет на какой-либо доступ;

• APPEND – открытие только для записи в конец файла;

• IGNORE – игнорирование защиты.

Построение прав доступа подробно описано в документации на пакет LIDS, поэтому мы на этом здесь не останавливаемся.

После настройки LIDS необходимо перезагрузить операционную систему. В том случае, если с функционированием LIDS возникли проблемы, можно загрузить Linux с выключенным LIDS, для чего при загрузке необходимо передать ядру операционной системы параметр security=o. Например, для LILO это будет выглядеть так:

LILO boot: linux security=0

Tripwire

Программный пакет tripwire предназначен для обнаружения изменения файлов, позволяя обнаруживать порчу данных и взломы. База данных контрольных сумм файлов шифруется, что предотвращает ее подделку взломщиками.

Непосредственно после установки операционной системы необходимо установить tripwire, которая, используя правила, определенные политикой безопасности, создает базу данных, содержащую информацию обо всех файлах в системе (список файлов может задаваться администратором) – размер, контрольная сумма, дата модификации и т. п. После создания базы данных она ежедневно сравнивается с текущим состоянием файловой системы, позволяя обнаружить добавленные, измененные и удаленные файлы. Получаемые при этом отчеты могут быть просмотрены с различной степенью детализации.

Пакет tripwire входит в состав практически всех современных дистрибутивов Linux.

AIDE

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

Функционально программа является аналогом tripwire, только имеет более простые конфигурационные файлы и интерфейс.

Ссылки

• acl.bestbits.at – официальная страница проекта Linux ACLs (Access Control Lists).

• bog.pp.ru/work/tripwire.html – Bog BOS: Tripwire: принципы работы, установка и настройка.

• freshmeat.net/projects/netramet/ – страница проекта NeTraMet.

• gazette.linux.ru.net/lg75/articles/rus-maiorano.html – Ariel Maiorano. Инсталляция и использование AIDE. Перевод А. Куприна.

• linuxrsp.ru/artic/portsentry.html – Ерижоков A. A. Portsentry.

• linuxrsp.ru/artic/posixacls.html – Ерижоков А. А. Списки контроля доступа.

• linuxrsp.ru/artic/stunnel.html – Ерижоков A. A. Stunnel: Шифрование трафика.

• linuxsecurity.com – сайт, посвященный безопасности операционной системы Linux.

• rootshell.com – сайт, посвященный безопасности операционных систем.

• stunnel.mirt.net – официальный сайт пакета Stunnel.

• www.chkrootkit.org – официальный сайт chkrootkit.

• www.cs.tut.ii/~rammer/aide.html – страница разработчика AIDE.

• www.false.com/security/linux/ – Secure Linux patches by Solar Designer – дополнения к ядру Linux, повышающие безопасность операционной системы.

• www.insecure.org – местонахождение программы nmap – сканера сетевых портов.

• www.lids.org – сайт проекта LIDS.

• www.linuxrsp.ru/artic/lids.html – Ерижоков A. A. LIDS – система обнаружения и защиты от вторжения.

• www.monkey.org/~dugsong/dsniff – страничка программы-снифера Dsniff.

• www.psionic.com – сайт Psionic Software, разработчика программы Portsentry.

• www.softerra.ru/freeos/16901/ – Oktay Altunergil. Понятие Rootkit. Перевод Инги Захаровой.

• www.softerra.ru/freeos/16999/ – Oktay Altunergil. Сканирование для обнаружения Rootkit. Перевод Инги Захаровой.

• www.softerra.ru/freeos/17032/ – Денис Колисниченко. Протоколирование.

• www.tripwire.org – сайт разработчиков Tripwire.

• www.opennet.ru/docs/RUS/netramet/index.html – Денис Матыцын. Сбор статистики по TCP/IP на базе NeTraMet.

• REFERENCE MANUAL NeTraMet & NeMaC. Nevil Brownlee.

Глава 28 Доступ к удаленным компьютерам

Мы уже неоднократно упоминали о том, что любая UNIX-подобная операционная система может удаленно администрироваться и конфигурироваться. Говорили мы и о возможности удаленной работы на компьютере под управлением Linux, а также и об администрировании через Web-интерфейс. Настало время познакомиться с полным удаленным администрированием, которое обеспечивает протокол Telnet и одноименные программа-сервер и программа-клиент.

Telnet

Под Telnet понимают трехкомпонентную систему, состоящую из:

• Telnet-клиента;

• Telnet-cepBepa;

• Telnet-протокола.

В общем, ничего оригинального. Клиент-серверная система, использующая свой протокол обмена. Начнем с протокола.

Протокол Telnet

Протокол Telnet описан в стандарте RFC854. Авторы стандарта определяют назначение Telnet следующим образом:

"Назначение Telnet-протокола – дать общее описание, насколько это только возможно, двунаправленного, восьмибитового взаимодействия, главной целью которого является обеспечение стандартного метода взаимодействия терминального устройства и терминал-ориентированного процесса. При этом протокол может быть использован и для организации взаимодействий «терминал-терминал» (связь) и «процесс-процесс» (распределенные вычисления)."

  • Читать дальше
  • 1
  • ...
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: