Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы администрирования и системного программирования в операционной системе Linux. В 2 частях. Ч.2. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
2.1.2. СТРУКТУРА ФАЙЛА EXPORTS
В системе Linux файл exports содержит список экспортированных катало­гов в левом столбце и список связанных с ним параметров в правом. Список файловых систем отделён от списка клиентов пробелом, и после имён каждого клиента в скобках стоит список параметров, разделённых запятыми. Синтаксис записей в файле exports имеет следующую структуру:
адрес_папки клиент(опции)
Файловые системы, перечисленные в файле exports без указания конкрет­ных хостов, монтируются на всех компьютерах, что является значительной брешью в системе безопасности.
К сожалению, нет способа указать несколько спецификаций клиентов для одного набора параметров. Необходимо повторить параметры для всех желае­мых клиентов.
Типы спецификаций клиента, которые могут указываться в файле exports:
− имя хоста;
− сетевая группа (записывается после знака @; используется редко);
− полностью определённые имена доменов (записывается с использова-
нием шаблонного символа *);
− IPv4-сеть (IPv4-адрес/маска);
− IPv6-сеть (IPv6-адрес/маска).
В таблице 2.1 представлены опции для экспорта файловых систем с по­мощью протокола NFS.
2.1. Основные опции экспорта файловых систем в Linux
Опция Описание
rw
ro
sync
Разрешить чтение и запись в этой папке Разрешить только чтение Отвечать на следующие запросы только тогда, когда
данные будут сохранены на диск (по умолчанию)
async
secure
insecure
Не блокировать подключения пока данные записыва­ются на диск
Использовать для соединения только порты ниже 1024 Использовать любые порты
21
Опция Описание
Продолжение табл. 2.1
nohide
hide
root_squash
no_root_squash
all_squash
subtree_check
no_subtree_check
Не скрывать поддиректории при открытии доступа к нескольким директориям (выявляет файловые системы, смонтированные в дереве экспортированных файлов)
Противоположна по смыслу опции nohide Подменять запросы от root на анонимные, используется
по умолчанию Не подменять запросы от root на анонимные Превращать все запросы в анонимные Проверять не пытается ли пользователь выйти за пре-
делы экспортированной папки Отключить проверку обращения к экспортированной
папке; улучшает производительность, но снижает безо­пасность, можно использовать, когда экспортируется раздел диска
anonuid
anongid
noaccess
wdelay
no_wdelay
secure_locks
insecure_locks
pnfs
Указывает uid для анонимного пользователя Указывает gid для анонимного пользователя Блокировать доступ к данному каталогу и подкатало-
гам Откладывать запись в ожидании объединения обновле-
ний Немедленно записывать данные на диск Требует авторизации для всех запросов на блокировку Использует менее строгие критерии блокировки (под-
держивает старых клиентов) Разрешить параллельные расширения NFS в версии
V4.1 для обеспечения прямого доступа клиентов
rерliсаs=путь@хост
Посылать клиентам список альтернативных сервером для этого экспорта
22
2.1.3. КЛИЕНТСКАЯ ЧАСТЬ ПРОТОКОЛА NFS
Прежде чем начать работать с файловой системой NFS, клиент должен её смонтировать, т.е. подключить удалённый раздел сервера в системе клиента. Процессы монтирования сетевых и локальных файловых систем во многом схо­жи. При монтировании файловой системы необходимо воспользоваться коман­дой mount. Полная команда при монтировании будет иметь следующий вид:
$ sudo mount –о список_флагов сервер:импортируемый_каталог распо­ложение
Каталогу, расположенному на указанном устройстве, будет поставлен в соответствие каталог локальной файловой системы. После окончания монтиро­вания доступ к сетевой файловой системе осуществляется традиционными средствами.
При завершении работы с монтируемым каталогом, рекомендуется его размонтировать при помощи команды umount.
В таблице 2.2 перечислены флаги, используемые при монтировании фай­ловой системы.
2.2. Флаги команды mount в системе Linux
Флаг Назначение
rw Монтирование файловой системы для чтения-записи (должна
экспортироваться сервером в режиме чтения-записи)
ro Монтирование файловой системы только для чтения bg Если смонтировать файловую систему не удаётся (сервер не от-
вечает), следует перевести операцию в фоновый режим и про­должить обработку других запросов на монтирование
hard Если сервер отключился, операции, которые пытаются полу-
чить к нему доступ, блокируются до тех пор, пока сервер не включится вновь
soft Если сервер отключился, операции, которые пытаются получить
к нему доступ, завершаются выдачей сообщения об ошибке
intr Позволяет прерывать с клавиатуры заблокированные операции
(будут выдаваться сообщения об ошибке)
nointr Не позволяет прерывать с клавиатуры заблокированные опера-
ции
23
Продолжение табл. 2.2
Флаг Назначение
nointr Не позволяет прерывать с клавиатуры заблокированные опера-
ции
retrans=n Указывает, сколько раз нужно повторить запрос, прежде чем
будет выдано сообщение об ошибке (для файловых систем, смонтированных с флагом soft)
timeo=n Задаёт интервал тайм-аута для запросов (в десятых долях се-
кунды)
rsize=n Задаёт размер буфера чтения равным n байт wsize=n Задаёт размер буфера записи равным n байт sес=режим Задаёт режим безопасности nfsvers=n Задаёт версию протокола NFS. Клиентская сторона NFS по
умолчанию пытается автоматически согласовать подходящую версию протокола
При монтировании удалённого каталога с использованием протокола NFS выполняются следующие операции:
1) на сервере и клиенте запускается RPC-сервер, обслуживанием которо-
го занимается процесс portmapper и регистрируется на порту tcp/111 и udp/111;
2) запускаются сервисы (rpc.nfsd, rpc.statd и др.), которые регистрируют-
ся на RPC сервере и регистрируются на произвольных сетевых портах (если в настройках сервиса не задан статичный порт);
3) команда mount на компьютере клиента отправляет ядру запрос на
монтирование сетевого каталога с указанием типа файловой системы, хоста и собственно – каталога, ядро формирует RPC-запрос процессу portmap на NFS сервере на порт udp/111 (если на клиенте не задана опция работать через tcp);
4) ядро сервера NFS опрашивает RPC о наличии демона rpc.mountd и
возвращает ядру клиента сетевой порт, на котором работает демон;
5) утилита mount отправляет RPC запрос на порт, на котором работает
rpc.mountd. Теперь NFS сервер может проверить достоверность клиента, осно-
вываясь на его IP адресе и номере порта, чтобы убедиться, можно ли этому клиенту смонтировать указанную файловую систему;
24
Рис. 2.1. Файл fstab
6) демон монтирования возвращает описание запрошенной файловой
системы;
7) команда mount клиента выдаёт системный вызов, чтобы связать опи-
сатель файла, полученный в шаге 5, с локальной точкой монтирования на хосте клиента. Описатель файла хранится в коде NFS клиента, и с этого момента лю­бое обращение пользовательских процессов к файлам на файловой системе сервера будет использовать описатель файла как стартовую точку.
С помощью команды mount можно создавать лишь временные сетевые точки монтирования. Файловые системы, которые являются частью постоянной конфигурации, должны быть указаны в файле /etc/fstab, для того чтобы они ав­томатически монтировались на этапе начальной загрузки операционной систе­мы. На рисунке 2.1 представлен пример, описывающий структуру файла fstab.
В данном примере элементы файла fstab предназначены для монтирова­ния файловой системы /home, расположенной на компьютере monk. Параметры монтирования файловой системы NFS задаёт поле flags в файле fstab. Это те же самые параметры, которые указываются в команде mount.
2.1.4. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ NFS-СЕРВЕРА
Этот протокол изначально не предполагал никаких мер безопасности, и благодаря этому он был удобным. Версия NFSv4 устранила дефекты системы безопасности, которые были присущи предыдущим версиям, обеспечив силь­ную поддержку службам безопасности и внедрив более совершенную иденти­фикацию пользователей.
Все версии протокола NFS не зависят от механизма, обеспечивающего безопасность работы в сети, и большинство серверов поддерживают разные режимы аутентификации:
− AUTH_NONE – без аутентификации;
− AUTH_SYS – способ управления доступом для пользователей и групп;
− RPCSEC_GSS – строгий режим аутентификации, предполагающий це-
лостность и закрытость в дополнение к аутентификации.
В большинстве организаций применяется режим AUTH_SYS, который ис­пользует идентификаторы групп и пользователей в системе. В этой схеме при запросе к серверу клиент просто посылает локальный идентификатор пользова-
25
теля и группы. Сервер сравнивает значения этих идентификаторов со значе­ниями из своего файла /etc/passwd и определяет, следует ли предоставлять дос­туп данному пользователю. Таким образом, если два пользователя имеют оди­наковые идентификаторы на двух разных клиентах, то они получат доступ ко всем файлам друг друга. Более того, пользователи, имеющие права админист­ратора системы, могут с помощью команды su установить любой идентифика­тор пользователя по своему усмотрению, после этого сервер предоставит им доступ к соответствующим файлам.
Клиентам разрешается использовать любой ТСР- или UDР-порт для под­ключения к серверу NFS. Однако некоторые серверы могут требовать, чтобы запросы поступали из привилегированного порта, для этого используется флаг secure. Другие серверы позволяют выбирать порт по своему усмотрению. Од­нако применение привилегированных портов не приводит к реальному повы­шению безопасности системы.
Также существует дополнительный механизм аутентификации – прото­кол Kerberos в сочетании со слоем NFS RPSSEC GSS . Эта конфигурация требу­ет от клиента и сервера совместного участия в работе механизма Kerberos. Ме­ханизм Kerberos аутентифицирует клиентов централизованно, тем самым пре­дотвращая возможность самоидентификации, описанной выше. Кроме того, протокол Kerberos обеспечивает сильное шифрование и гарантирует целост­ность файлов, передаваемых по сети.

2.2. ФАЙЛОВАЯ СИСТЕМА SMB

2.2.1. СЕРВЕРНАЯ ЧАСТЬ ПРОТОКОЛА SMB
Samba уже пару десятилетий используется для организации общего дос­тупа к файлам и принтерам с разных устройств. Большое количество всевоз­можных опций пакета обеспечивает гибкость системы.
Пакет Samba настраивается в файле /etc/samba/smb.conf. В этом файле указываются каталоги для совместного использования, их права доступа и об­щие рабочие параметры Samba. Пакеты Linux достаточно удобны тем, что в них предоставляется хорошо документированный файл конфигурации Samba, кото­рый является хорошей отправной точкой для новых настроек.
Для большинства применений нужен только небольшой файл конфигура­ции. Для вывода списка всех параметров конфигурации Samba и их значений используется команда testparm -v. Этот список включает настройки из файла
26
smb.conf, а также любые значения по умолчанию, которые администратор не переопределил. После запуска пакет Samba проверяет свой файл конфигурации каждые несколько секунд и загружает любые внесённые в него изменения, при этом перезагрузка устройства не требуется.
Конфигурационный файл smb.conf разбит на разделы. Названия разделов заключаются в прямоугольные скобки (например, [global], [homes]).
Раздел global определяет переменные, которые Samba будет использовать для определения доступа ко всем ресурсам. В разделе global присутствуют сле­дующие параметры:
− workgroup – рабочая группа. Для упрощения работы пользователей
WORKGROUP указывается как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
− security – уровень безопасности сервера. Значение user означает авто-
ризацию по паре логин/пароль;
− map to guest – параметр указывает, когда пользователю будет предос-
тавляться гостевой доступ. Доступно три значения: never – никогда, bad user – когда такого пользователя не существует, bad password – когда пароль введён неверно;
− log file – адрес файла, в котором будет записываться информация об
ошибках и др.;
− passdb backend – способ хранения паролей пользователей;
− wins support – включить или выключить поддержку WINS;
− dns proxy – возможность проксирования запросов к DNS.
Все остальные секции описывают отдельный ресурс сервера (например, public, private).
Специальный раздел homes позволяет удалённым пользователям иметь доступ к своим домашним директориям. Так что, если пользователи Windows попытаются подключиться к этому разделу со своих Windows-машин, то они будут подключены к своим персональным домашним директориям.
Отдельные записи в разделах указываются в соответствии с формулой
name = значение
Некоторые параметры разделов:
− path – полный путь до директории на жестком диске;
− guest ok – возможность доступа к каталогу без пароля (гостевой дос-
туп);
− browsable – даёт возможность, показывать ли каталог на сервере среди
прочих. Если установлен параметр no, то доступ будет возможен по полному пути;
27
− force user – пользователь, от которого ведётся работа с каталогом.
Для повышения безопасности сервера, обычно используют nobody. Главное не использовать пользователя root – это небезопасно;
− writable – значение параметра yes позволяет пользователю выполнять
действия над файлами внутри каталога – переименование, добавление, удале­ние, перемещение в подкаталог и копирование;
− valid users – список пользователей, у которых есть доступ к каталогу.
Если пользователей несколько, их имена указываются через запятую. Если не­обходим доступ для пользователей, принадлежащих группе, перед именем группы устанавливается символ @;
− security – режим аутентификации пользователей будет использовать
сервер Samba;
− hosts allow – список устройств, которым разрешено использовать ре-
сурс;
− hosts deny – список устройств, которым запрещено использовать ре-
сурс;
− socket options – параметры сетевого соединения;
− comment – комментарий ресурса, который будет выводиться в сетевом
браузере напротив имени ресурса.
2.2.2. КЛИЕНТСКАЯ ЧАСТЬ ПРОТОКОЛА SMB
Монтирование общих SМВ-ресурсов работает совсем не так, как это дела­ется в других сетевых файловых системах. В частности, SМВ-тома монтируют­ся конкретным пользователем, а не самой системой.
Для выполнения монтирования SМВ-ресурсов требуется локальное раз­решение. Пользователю также нужен пароль для идентификации, который по­зволит удалённому SМВ-серверу разрешить доступ к общему ресурсу. Типич­ная командная строка в системе Linux для подключения монтирования SMB­ресурса выглядит следующим образом:
$ sudo mount -t cifs –о username=имя_пользователя //монтируемый _раздел_сервера/ /каталог_пользователя/
В системе Windows монтирования сетевых ресурсов выполняются для конкретного пользователя, тогда как в системе Linux они выполняются, как правило, для всей системы в целом. Серверы Windows обычно не допускают, чтобы несколько разных пользователей могли получить доступ к смонтирован­ному общему ресурсу Windows.
28
С точки зрения клиента Linux все файлы в смонтированном каталоге при­надлежат пользователю, который его смонтировал. Параметры монтирования uid, gid, fmask и dmask можно настроить таким образом, чтобы права собствен­ности и биты разрешений были более точно согласованы с предполагаемой по­литикой доступа для этого ресурса.
2.2.3. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ SMB-СЕРВЕРА
Важно помнить о влиянии безопасности на совместное использование файлов и других сетевых ресурсов. Чтобы обеспечить базовый уровень безо­пасности для типичной организации, необходимо сделать две вещи:
1) явно указать, какие клиенты могут получить доступ к общим ресурсам
SМВ-сервера. Эта часть конфигурации задаётся параметром hosts allow в файле smb.conf. Важно убедиться, что он содержит только необходимые IР-адреса,
диапазоны адресов или имена хостов. В файл smb.conf можно также включить параметр настройки hosts deny, запрещающий конкретным устройствам исполь­зовать ресурсы сервера;
2) блокировать доступ к SМВ-серверу за пределами сети вашей органи-
зации. В пакете Samba используется шифрование только для аутентификации с помощью пароля. В нём не используется шифрование для передачи данных. Почти во всех случаях следует блокировать доступ извне сети организации, чтобы пользователи случайно не загружали файлы в открытом виде через Интернет. Блокировка обычно выполняется на уровне сетевого брандмауэра. Пакет Samba использует UDР-порты 137 – 139 и ТСР-порты 137, 139 и 445.

2.3. РАЗВЁРТЫВАНИЕ И КОНФИГУРИРОВАНИЕ СЕТИ

2.3.1. СОЗДАНИЕ ТОПОЛОГИИ
Для имитации физической сети использована виртуальная машина. Топо­логия сети была реализована на основе виртуальной машины Eve-NG. Полу­чившаяся топология представлена на рис. 2.2 и полностью отражает все аспек­ты требуемой сети. Все дальнейшие действия будут проводиться над устройст­вами сети, реализованной в виртуальной машине.
29
Рис. 2.2. Реализация топологии в виртуальной машине Eve-NG
2.3.2. НАСТРОЙКА МАРШРУТИЗАТОРА
Выполним настройку маршрутизатора R1
Router>en
Router#conf t
Router(config)#hostname R1
R1(config)#int e0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no sh
R1(config-if)#ex
R1(config)#int e0/1
30
R1(config-if)#ip add 192.168.2.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no sh
R1(config-if)#ex
R1(config)#int e0/2
R1(config-if)#ip add 172.16.0.11 255.255.255.0
R1(config-if)#ip nat outside
R1(config-if)#no sh
R1(config-if)#ex
R1(config)#int e0/3
R1(config-if)#ip add 172.16.10.1 255.255.255.0
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]