Смекни!
smekni.com

Исследование уровня безопасности операционной системы Linux (стр. 12 из 15)

· Возможности файловой системы ext2, права доступа, программы изменения прав доступа и владельца файла chmod и chown, атрибуты файлов, программы работы с атрибутами chattr и lsattr, пакет lcap, пользовательские дисковые квоты, пакет для работы с дисковыми квотами quota, пример безопасной настройки системы с помощью прав доступа, расширенных атрибутов и дисковых квот;

· Библиотека PAM, ее возможности, методы ограничения ресурсов с помощью PAM, перечень модулей PAM и их описание, формат конфигурационных файлов PAM, пример безопасной настройки системы с использованием ограничения ресурсов;

· Безопасность на уровне ядра, межсетевой экран netfilter, обзор возможностей брандмауэра netfilter, программный пакет iptables, использование iptables для настройки брандмауэра Linux, пример безопасной настройки межсетевого экрана для работы в небезопасной сети;

· Удаленное управление, протоколы Telnet, rsh, SNMP, описание протокола SSH, программный продукт OpenSSH, описание конфигурационного файла демона sshd, пример настройки безопасного сервера SSH;

· Программный пакет Linux ACLs, листы доступа на основе расширенных атрибутов, программы getfacl и setfacl;

· Система обнаружения и защиты от вторжения LIDS, возможности ядер 2.4, формат конфигурационных файлов LIDS;

· Расширенное окружение обнаружения вторжений AIDE, назначение, принцип работы.

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

Помимо теоретической части к каждому разделу в приложении приводится пример практического применения рассмотренного материала. Все примеры, приведенные в работе, были опробованы в реальных условиях и успешно реализованы на серверах Узбекского внешнеэкономического информационно-коммерческого центра «Узинкомцентр» при Агентстве внешних экономических связей Республики Узбекистан. На момент защиты работы мной были проинсталлированы и настроены семь серверов на базе ОС Linux, четверо из них являются серверами общего назначения, остальные трое – специализированные сервера с ограниченным набором функций. Пять серверов успешно функционируют по сей день. Двое упразднены за ненадобностью.

Список литературы

1. Linux. Алексей Стахнов, издательство «БХВ-Петербург», Санкт-Петербург, 2002.

2. Техническая электронная документация по операционной системе Linux.

Приложение

ПРИМЕР 1.

Исходные данные: ОС Linux RedHat 7.3 без графической оболочки. Назначение – маршрутизатор.

Задача: удалить неиспользуемые регистрационные записи и добавить три записи. Необходимо добавить пользователей anna и pavel, а также одного пользователя с именем systemuser для системных нужд.

Реализация.

Изначально файл пользовательских регистрационных записей может иметь следующий вид:

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

news:x:9:13:news:/etc/news:

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

rpm:x:37:37::/var/lib/rpm:/bin/bash

В зависимости от установленных программ, содержание этого файла может отличаться от приведенного.

Из соображений безопасности следует удалить следующие неиспользуемые в данной конфигурации сервера системные записи: adm, lp, shutdown, halt, news, operator, games, gopher, ftp. Системная запись lp используется только в том случае, если к компьютеру подключен принтер. Настраиваемый компьютер выполняет функции маршрутизатора, следовательно эта регистрационная запись является лишней. Записи shutdown и halt позволяют обычным программам выключать компьютер, что для сервера является только дополнительной брешью в безопасности. Записи news, gopher и ftp используется в том случае, если сервер выполняет функции службы новостей, сервера GOPHER или FTP-сервера. Учетная запись games используется программами графического интерфейса, а поскольку последний отсутствует на маршрутизаторе, эта учетная запись тоже является лишней.

Для удаления пользователей необходимо для каждой учетной записи выполнить команду

userdel <имя_пользователя>

В реализации это будет выглядеть так:

[root@gw /]# userdel adm

[root@gw /]# userdel lp

[root@gw /]# userdel shutdown

[root@gw /]# userdel halt

[root@gw /]# userdel news

[root@gw /]# userdel operator

[root@gw /]# userdel games

[root@gw /]# userdel gopher

[root@gw /]# userdel ftp

Первая часть поставленной задачи выполнена. Далее необходимо добавить указанных пользователей.

[root@gw /]# useradd –m –s /bin/bash –c ‘Normal User’ –d /home/pavel –g users pavel

[root@gw /]# useradd –m –s /bin/bash –c ‘Normal User’ –d /home/pavel –g users anna

[root@gw /]# useradd –r –s /sbin/nologin –c ‘System User’ –d /var/empty systemuser

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

[root@gw /]# passwd anna

Changing password for user anna.

New password: <ввод_пароля>

Retype new password: <повтор_ввода_пароля>

passwd: all authentication tokens updated successfully.

[root@gw /]# passwd pavel

Changing password for user pavel.

New password: <ввод_пароля>

Retype new password: <повтор_ввода_пароля>

passwd: all authentication tokens updated successfully.

В результате произведенных действий система будет содержать все необходимые для нормального функционирования системные регистрационные записи, а также двух пользователей anna и pavel, которые смогут заходить и работать в системе.

ПРИМЕР 2.

Исходные данные: ОС Linux RedHat 7.3 без графической оболочки. Назначение – сервер приложений. Программное обеспечение – web-сервер Apache, FTP-сервер Proftpd. Web-сервер выполняется от имени системного пользователя nobody, FTP-сервер – от имени системного пользователя ftpuser. Оба пользователя входят в группу nogroup. На сервере работает web-портал, имеющий распределенную структуру. Весь портал делится на 2 части: администрируемую часть – динамические данные и неадминистрируемую часть – статические данные или оболочка. Администрирование динамической части может осуществляться как с помощью протокола FTP, так и с помощью специально разработанного web-интерфейса. Статические данные может изменять только привилегированный пользователь и только с помощью терминального доступа.

Задача: настройка защищенной конфигурации web-портала с использованием средств разграничения прав доступа.

Реализация.

Допустим, что все файлы объекта защиты, то есть web-портала, находятся в директории /www. В свою очередь, директория /www содержит каталоги ftp и html: первый – для хранения и доступа к файлам по FTP протоколу, второй – для доступа к файлам по протоколу HTTP. Для обеспечения эффективной защиты файлы, находящиеся в каталоге /www, должны иметь доступ только на чтение для пользователей nobody и ftpuser. Файлы, находящиеся в каталоге /www/ftp, должны быть доступны на чтение и на запись как пользователю ftpuser, так и пользователю nobody. В свою очередь, файлы каталога /www/html должны быть доступны только пользователю nobody и с правами только на чтение. Привилегированный пользователь всегда имеет право на чтение и на запись, независимо от прав доступа, установленных для файла.

Учитывая, что оба пользователя nobody и ftpuser принадлежат одной группе nogroup, права на каталог /www могут быть установлены следующим образом:

[root@app /]# chmod 050 /www

[root@app /]# chown root:nogroup /www

[root@app /]# ls –l

d---r-x--- 1 root nogroup 4096 Фев 7 19:48 www

Первая команда устанавливает права только на чтение и вход в каталог для пользователей группы-владельца каталога. Вторая команда меняет группу-владельца каталога на группу nogroup. Третья команда позволяет просмотреть сделанные изменения. Как видно из результата выполнения третьей команды, каталог www теперь имеет права доступа для группы только на чтение и вход, для пользователя-владельца и всех остальных какие-либо права отсутствуют вообще.

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

[root@app www]# chown –R ftpuser:nogroup /www/ftp

[root@app www]# chmod –R o-rwx /www/ftp

[root@app www]# chmod –R ug+rw /www/ftp

[root@app www]# chown –R nobody:root /www/html

[root@app www]# chmod –R go-rwx /www/html

[root@app www]# chmod –R u+r /www/html

[root@app www]# ls –l /www

drwxrwx--- 1 ftpuser nogroup 4096 Фев 7 19:55 ftp

dr-x------ 1 nobody root 4096 Фев 7 20:01 html

Первая команда меняет группу-владельца и пользователя-владельца для каталога ftp, вторая – отменяет все права на операции с файлами для всех остальных, третья – добавляет права на чтение и запись для пользователя-владельца и группы-владельца. Ключ –R позволяет рекурсивно изменить параметры у текущего каталога и всех подкаталогов и файлов, хранящихся в нем. Следующая команда “chown –R nobody:root /www/html” позволяет изменить пользователя-владельца для каталога html и всех его подкаталогов и файлов на пользователя nobody. Команда “chmod –R go-rwx /www/html” отменяет все права для группы-владельца и всех остальных. Далее команда “chmod –R u+r /www/html” устанавливает права только на чтение для пользователя-владельца. Последняя команда выводит результат выполненных операций на экран. Задача выполнена!

Следует сделать маленькое замечание: все вышеприведенное верно только в том случае, если маска создания файла по умолчанию при создании каталогов и файлов была определена как 022 (umask 022). В противном случае действия, которые необходимо предпринять для установки необходимых прав доступа, зависят от конкретных настроек системы.

ПРИМЕР 3.

Исходные данные: ОС Linux RedHat 7.3 без графической оболочки. Программное обеспечение – пакет lcap. В данном случае функциональное назначение сервера существенной роли не играет.