Шрифт:
Интервал:
Закладка:
• 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-протокола – дать общее описание, насколько это только возможно, двунаправленного, восьмибитового взаимодействия, главной целью которого является обеспечение стандартного метода взаимодействия терминального устройства и терминал-ориентированного процесса. При этом протокол может быть использован и для организации взаимодействий «терминал-терминал» (связь) и «процесс-процесс» (распределенные вычисления)."
Telnet является протоколом приложения и использует транспортный протокол TCP. Протокол Telnet для обеспечения функциональности основан на следующих базовых концепциях:
• сетевого виртуального терминала (Network Virtual Terminal, NV'T):
• согласования параметров взаимодействия;
• симметрии связи «терминал-процесс». Рассмотрим эти концепции подробнее.
Сетевой виртуальный терминал позволяет абстрагироваться от реалий жизни. Удаленная программа может считать, что она использует один тип терминала, а у клиента может быть совершенно другой тип терминала. Сетевой виртуальный терминал – это стандартное описание наиболее широко используемых возможностей реальных физических терминальных устройств. Сетевой виртуальный терминал позволяет описать и преобразовать в стандартную форму способы отображения и ввода информации. Telnet-клиент и Telnet-cepвep преобразовывают характеристики физических устройств в спецификацию сетевого виртуального терминала, что позволяет унифицировать характеристики физических устройств и обеспечить принцип совместимости устройств с разными возможностями. Характеристики диалога диктуются устройством с меньшими возможностями.
- Операционная система UNIX - Андрей Робачевский - Программное обеспечение
- Искусство программирования для Unix - Эрик Реймонд - Программное обеспечение
- Разработка приложений в среде Linux. Второе издание - Майкл Джонсон - Программное обеспечение
- Недокументированные и малоизвестные возможности Windows XP - Роман Клименко - Программное обеспечение
- Windows Vista. Трюки и эффекты - Юрий Зозуля - Программное обеспечение
- Изучаем Windows Vista. Начали! - Дмитрий Донцов - Программное обеспечение
- Windows Vista - Виталий Леонтьев - Программное обеспечение
- Microsoft Windows XP Professional. Опыт сдачи сертификационного экзамена 70-270 - Владислав Карпюк - Программное обеспечение
- Основы программирования в Linux - Нейл Мэтью - Программное обеспечение
- Windows Vista. Мультимедийный курс - Олег Мединов - Программное обеспечение