Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое acl в foler access

Системное администрирование Linux

2017-11-13 17:28:20 6022 0

Настройка прав доступа ACL

Для создания прав доступа к файлам Samba ресурса сервера используйте ACL (Access Control List — список контроля доступа). При помощи ACL вы можете установить доступ к файлам определенным группам, либо конечным пользователям.

Новый ресурс

Для примера допустим у вас в системе есть две группы admins и managers, а также два пользователя alexei и petr.

Создадим директорию Managers для доступа на чтение и запись пользователям, входящим в группу managers.

mkdir -m 700 Managers

setfacl -m d:g:managers:rwx,g:managers:rwx Managers

Первая команда создаст директорию с правами чтения выполнения и изменения содержимого для пользователя root.
Второй командой мы установим те же права для пользователей группы managers.

Файлы и директории, создаваемые пользователями этой группы, либо root-ом, будут наследовать атрибуты доступа.

Просмотр прав доступа

Увидеть права доступа из консоли можно выполнив команду:

Программа выведет следующий текст:

Управление доступом

Для управлением доступом используется команда setfacl.
Для модификации или добавления правила используется параметр -m.

Если пользователь пропущен, то права назначаются владельцу файла.
Если группа пропущена, то права назначаются группе-владельцу файла.

Добавить право на чтение/запись файла secretinfo пользователям alexei и petr:

setfacl -m user:alexei:rw,u:petr:rw secretinfo

Права по умолчанию

Для директорий можно указать ACL права, которые будут автоматически добавляться для файлов и директорий, создаваемых в ней.
Для этого используется идентификатор default или параметр -d. На саму директорию права указанные в default не распространяются.

Для файлов и директорий, создаваемых в директории managerdata, добавить право чтение/записи для пользователя petr.

setfacl -m default:user:iivanov:rw managerdata

Рекурсивная установка прав

Для установки прав для всех файлов и директорий внутри директории используется параметр -R.
Так как для того, чтобы читать файл необходимы права на чтение r, а для того чтобы читать директорию необходимы права на чтение и выполнение rx, то можно при указании прав вместо х указывать X.
Флаг X устанавливает права на выполнение только для директорий и файлов, которые уже имеют право на выполнение.
Флаг X вычисляется на момент запуска setfacl, поэтому в default правилах она интерпретируется как x.

Разрешить пользователю alexei читать все файлы и просматривать директории в folder.

setfacl -R -m d:u:alexei:rwx,u:apetrov:rwX folder

setfacl -R -m d:u:alexei:rw,u:apetrov:rwX folder

Обе команды имеют недостаток, который проявляется при создании новых файлов и директорий.
Разница в том, что в первом случае пользователь alexei получит право на выполнение всех новых файлов создаваемых в folder и вложенных директориях,
а во втором случае пользователь не сможет просматривать новые директории.

Удаление прав

Удалить права доступа к файлу secretfile для пользователя petr.

setfacl -x u:petr secretfile

Удалить права доступа ко всем файлам и директориям внутри folder для пользователя alexei.

setfacl -R -x u:alexei folder

Очистка правил

Для удаления всех ACL правил используется опция -b. Ее также можно использовать совместно с -m, для того, чтобы заместить права.

Удалить все ACL правила и разрешить пользователю petr читать secretfile.

setfacl -b -m u:petr:r secretfile

Эффективная маска

Эффективная маска используется для ограничения определенного действия для всех пользователей и групп описанных в ACL. То есть можно например запретить всем писать в файл установив эффективную маску r-x.

setfacl -m m::rx filename

Иногда эффективная маска вычисляется автоматически (например при действии chmod, а также при создании файла, так как применяется права umask). Для отмены маски ее следует установить в значение rwx.

Порядок определения доступа к файлу

Может ли пользователь выполнить действие над файлом или директорией определяются следующим образом.

  1. Используются права владельца, если пользователь им является.
  2. Используются права, указанные конкретно для этого пользователя.
  3. Если действие разрешено хотя бы для одной из группы в которую входит пользователь.
  4. Если пользователь не входит ни в одну группу описанную в ACL, то используются права для other.

Создание и изменение в Powershell NTFS разрешений ACL

Основной способ ограничения доступа к файлам и папкам дает файловая система NTFS с ее таблицами ACL. Это может быть право только на чтение файла (открытие и просмотр), на чтение и запись (открытие, просмотр, изменение и сохранение) и многие другие. Такие права мы чаще устанавливаем через GUI назначая права не конечному пользователю, а группе в которой он состоит. Все действия по созданию и изменению мы так же можем сделать через Powershell.

Навигация по посту:

На мой взгляд использование консоли Powershell лишнее при выдаче таких прав. Риск совершить ошибку в консоли намного выше, чем при работе в GUI, да и время для написания команды уйдет больше. Есть специфичные задачи, например в виде аудита или перенос прав где Powershell очень поможет.

Основы разрешений

ACL (access controll list) — делится на два вида:

  1. SACL (System Access Control List) — используется для аудита;
  2. DACL (Discretionary Access Control List) — используется для выдачи и проверки разрешений пользователям и группам.

Оба этих типа разрешений хранятся в специальной таблице MFT (Master File Table).

Основное средство для редактирования этих разрешений в GUI можно увидеть зайдя в свойства файла или папки:

В области 4 выделены следующие разрешения:

  • Read — открытие файла и папки;
  • List folder contents — открытие папки;
  • Write — создание файлов и папок и их изменение;
  • Read & Execute — открытие и запуск исполняемых файлов;
  • Modify — открытие, создание, изменение и удаление файлов и папок;
  • Full Control — включает разрешения modify, а так же управление разрешениями файла или папки.

Чаще всего мы работаем с разрешениями выше, но есть еще один список с возможностью настройки прав более тонко:

Как можно догадаться — разрешения указанные в области 1 это просто набор нескольких правил из области 3. Их так же еще называют «Premission Sets» и «Special Premissions».

Групповые разрешения могут принимать флаги Allow и Deny, которые разрешат или запретят указанные действия. Указывать разрешения для пользователей через Deny считается плохой практикой и практически не используется.

Кроме этого существует наследование:

Наследование помогает установить разрешения для одной папки так, что оно будет применяться ко вложенным файлам и папкам. Если наследование отключить (2), то у нас будет возможность убрать все наследуемые разрешения или оставить их.

Функции по работе со строками в Powershell

Получение текущих разрешений в Powershell

На примере ниже я верну разрешения для папки «C:TestFolder»

В области 1 выделен владелец папки, а под областью 2 отображаются все группы и пользователи с правами.

Мы можем проверять права не только локальной, но и сетевой папки. На примере ниже возвращена та же папка:

Читать еще:  Access treeview примеры

Поиск всех папок с правами у определенной группы

Представим, что мы хотим проверить права данные определенной группе. Мы можем заходить в свойства каждой папки и смотреть вкладку «Безопасности», а можем сделать это через Powershell.

Обычно у нас есть какой-то каталог с общим доступом с папками внутри, на которые мы выдаем разрешения. В моем случае такой каталог «Moscow», а на папки внутри я уже даю права:

В следующем примере я узнаю на какие папки установлены разрешения для TestGroup:

Изменение, копирование и добавление разрешений

Еще одна причина использовать Powershell — это возможность копирования разрешений. Например так я поставлю разрешения для папки Folder2 такие же, как и Folder2:

Возможности добавить нового пользователя в список ACL или изменить его права одним командлетом у нас нет. В обоих случаях мы должны будет создавать копию объекта ACL, изменять ее отдельным классом, а затем применять используя метод. Сам объект, который мы получаем через Get-ACL, имеет множество методов:

Для создания нового объекта с правами используется класс «FileSystemAccessRule», который в команде будет выглядеть так:

Расшифровать значения можно следующим образом:

  • IdentityReferenceString — пользователь или группа формата «DOMAINAdministrator»;
  • FileSystemRights — сами разрешения, например «Read»;
  • InheritanceFlags и PropagationFlags — определяют наследование. Например вы можете сделать так, что папки внутри указанной будут наследовать разрешения, а файлы нет. Ниже будут приведены несколько примеров. Более подробно об этом можно почитать на сайте Microsoft;
  • AccessCpmtrolType — разрешить или запретить (Allow/Deny).

Изменение и добавление прав у пользователя и групп

Допустим у нас есть пользователь «Test User (001)» с возможностью чтения папки «Folder1» и мы хотим добавить еще права на запись. Это будет выглядеть так:

Наследование типа ‘ContainerInherit, ObjectInherit’ говорит о том, что оно касается этой папки и всех вложенных папок и файлов.

Таким же образом работает добавление новой группы или пользователя в список ACL:

Права, которые мы можем дать имеют сокращенное название и они отображены далее:

У вас может быть много ошибок связанных с созданием класса с новыми разрешениями. Я бы советовал выводить существующие права и сравнивал бы их с новыми — это позволит снизить вероятность ошибок.

При этом вы можете применить набор разрешений, например в виде Write, но результат будет отображаться в виде «Special Premission»:

Если бы я указал наследование в виде ‘ContainerInherit, ObjectInherit’, то права бы применились как нужно:

Поэтому я рекомендую смотреть существующие разрешения на примере того, как я сделал это выше.

Удаление прав у пользователя или группы

Для удаления всех разрешений есть метод «RemoveAccessRuleAll». Работает он так же:

Для удаления конкретного права, например только возможность чтения, есть метод «RemoveAccessRule». С этим методом у меня были проблемы после которых действующие разрешения менялись на Special и изменить эту ситуацию у меня не получилось. Если вам нужно все же убрать одно разрешение — я бы советовал удалять все разрешения у пользователя, а затем добавлять их заново. У пользователя было право на Чтение и Запись, но мне нужно было оставить только чтение:

Смена владельца

Смена владельца файла или папки делается через метод SetOwner. Этот метод, в качестве идентификатора, принимает SID пользователя и что бы его узнать нужно использовать класс «System.Security.Principal.Ntaccount». На практике это выглядит так:

Как отсортировать в Powershell объекты через Sort-Object

Включение или отключение наследования папок и файлов

Для управления наследованием используется метод «SetAccessRuleProtection», который устанавливает следующее:

  1. Нужно ли блокирование от родительской папки.
  2. Нужна ли перезапись прав.

Значения указываются в $True или $False. Например так я включу наследование и заменю существующие разрешения родительскими:

Сбор всех прав и их экспорт в CSV

Учитывая примеры выше мы можем временно собирать отчеты по выданным правам. Пример того, как может выглядеть отчет:

Команда iCACLS – управление доступом к файлам и папкам.

Команда iCACLS позволяет отображать или изменять списки управления доступом (Access Control Lists (ACLs) ) к файлам и папкам файловой системы. Утилита iCACLS.EXE является дальнейшим усовершенствованием утилиты управления доступом CACLS.EXE.

Управление доступом к объектам файловой системы NTFS реализуется с использованием специальных записей в таблице MFT (Master File Table). Каждому файлу или папке файловой системы NTFS соответствует запись в таблице MFT, содержащая специальный дескриптор безопасности SD (Security Descriptor). Каждый дескриптор безопасности содержит два списка контроля доступа:

System Access-Control List (SACL) — системный список управления доступом .

Discretionary Access-Control List (DACL) — список управления избирательным доступом.

SACL управляется системой и используется для обеспечения аудита попыток доступа к объектам файловой системы, определяя условия при которых генерируется события безопасности. В операционных системах Windows Vista и более поздних, SACL используется еще и для реализации механизма защиты системы с использованием уровней целостности ( Integrity Level, IL).

DACL — это собственно и есть список управления доступом ACL в обычном понимании. Именно DACL формирует правила, определяющие, кому разрешить доступ к объекту, а кому — запретить.

Каждый список контроля доступа (ACL) представляет собой набор элементов (записей) контроля доступа — Access Control Entries, или ACE) . Записи ACE бывают двух типов (разрешающий и запрещающий доступ), и содержит три поля:


SID
пользователя или группы, к которому применяется данное правило


Вид доступа
, на которое распространяется данное правило


Тип ACE
— разрешающий или запрещающий.

SID — Security ID – уникальный идентификатор, который присваивается каждому пользователю или группе пользователей в момент их создания. Посмотреть примеры SID можно , например с помощью команды WHOAMI /ALL. Как видим, система управления доступом к объектам NTFS оперирует не именами, а идентификаторами SID. Поэтому, например нельзя восстановить доступ к файлам и папкам, существовавший для удаленного из системы пользователя, создав его заново с тем же самым именем – он получит новый SID и правила записей ACE, применяемые к старому идентификатору SID, выполняться не будут.

При определении результатов запросов на доступ к объектам файловой системы NTFS применимы следующие правила:

Если в дескрипторе безопасности отсутствует DACL , то объект считается незащищенным, т.е. все имеют к нему неограниченный доступ.

Если DACL существует, но не содержит ни одного элемента ACE, то доступ к объекту закрыт для всех.

Для того чтобы изменить DACL объекта, пользователь (процесс) должен обладать правом записи в DACL (WRITE_DAC — WDAC). Право записи может быть разрешено или запрещено, с помощью утилиты icalc.exe, но даже если установлен запрет, все равно разрешение на запись имеется хотя бы у одного пользователя владельца файла или папки (поле Owner в дескрипторе безопасности), так как владелец всегда имеет право изменять DAC.

Читать еще:  Access to this resource is restricted

Варианты применения команды iCACLS:


ICACLS имя /save ACL_файл [/T] [/C] [/L] [/Q]
— сохранение DACL для файлов и папок, соответствующих имени, в ACL-файл для последующего использования с командой /restore. Обратите внимание, что метки SACL, владельца и целостности не сохраняются.


ICACLS каталог [/substitute SidOld SidNew [. ]] /restore ACL_файл [/C] [/L] [/Q]
— применение ранее сохраненных DACL к файлам в каталоге.


ICACLS имя /setowner пользователь [/T] [/C] [/L] [/Q]
— смена владельца всех соответствующих имен. Этот параметр не предназначен для принудительной смены владельца; используйте для этой цели программу takeown.exe.


ICACLS имя /findsid Sid [/T] [/C] [/L] [/Q]
— поиск всех соответствующих имен, содержащих ACL с явным упоминанием ИД безопасности.


ICACLS имя /verify [/T] [/C] [/L] [/Q]
— поиск всех файлов с неканоническими ACL или длинами, не соответствующими количеству ACE.


ICACLS имя /reset [/T] [/C] [/L] [/Q]
— замена ACL на унаследованные по умолчанию для всех соответствующих файлов.


ICACLS имя [/grant[:r] Sid:perm[. ]] [/deny Sid:perm [. ]] [/remove[:g|:d]] Sid[. ]] [/T] [/C] [/L] [/Q] [/setintegritylevel Level:policy[. ]]

/grant[:r] Sid:perm — предоставление указанных прав доступа пользователя. С параметром :r эти разрешения заменяют любые ранее предоставленные явные разрешения. Без параметра :r разрешения добавляются к любым ранее предоставленным явным разрешениям.

/deny Sid:perm — явный отзыв указанных прав доступа пользователя. Добавляется ACE явного отзыва для заявленных разрешений с удалением этих же разрешений в любом явном предоставлении.

/remove[:[g|:d]] Sid — удаление всех вхождений ИД безопасности в ACL. С параметром :g удаляются все вхождения предоставленных прав в этом ИД безопасности. С параметром :d удаляются все вхождения отозванных прав в этом ИД безопасности.

/setintegritylevel [(CI)(OI)]уровень — явное добавление ACE уровня целостности ко всем соответствующим файлам. Уровень задается одним из следующих значений:

Уровню могут предшествовать параметры наследования для ACE целостности, применяемые только к каталогам.

Механизм целостности Windows Vista и более поздних версий ОС, расширяет архитектуру безопасности путём определения нового типа элемента списка доступа ACE для представления уровня целостности в дескрипторе безопасности объекта (файла, папки). Новый ACE представляет уровень целостности объекта. Он содержится в системном ACL (SACL), который ранее используемом только для аудита. Уровень целостности также назначается токену безопасности в момент его инициализации. Уровень целостности в токене безопасности представляет уровень целостности (Integrity Level, IL) пользователя (процесса). Уровень целостности в токене сравнивается с уровнем целостности в дескрипторе объекта когда монитор безопасности выполняет проверку доступа. Система ограничивает права доступа в зависимости от того выше или ниже уровень целостности субъекта по отношению к объекту, а также в зависимости от флагов политики целостности в соответствующей ACE объекта. Уровни целостности (IL) представлены идентификаторами безопасности (SID), которые представляют также пользователей и группы, уровень которых закодирован в относительном идентификаторе (RID) идентификатора SID. Наиболее распространенные уровни целостности:

SID = S-1-16-4096 RID=0x1000 — уровень Low (Низкий обязательный уровень)

SID= S-1-16-8192 RID=0x2000 – уровень Medium (Средний обязательный уровень)

SID= S-1-16-12288 RID=0x3000 – уровень High (Высокий обязательный уровень)

SID= S-1-16-16384 RID=0x4000 – уровень системы (Обязательный уровень системы).

e — включение наследования

d — отключение наследования и копирование ACE

r — удаление всех унаследованных ACE

ИД безопасности могут быть в числовой форме (SID), либо в форме понятного имени (username). Если задана числовая форма, добавьте * в начало ИД безопасности, например — *S-1-1-0. Параметры командной строки iCACLS:

/T — операция выполняется для всех соответствующих файлов и каталогов, расположенных в заданном каталоге.

/C — выполнение операции продолжается при любых файловых ошибках. Сообщения об ошибках по-прежнему выводятся на экран.

/L — операция выполняется над самой символьной ссылкой, а не над ее целевым объектом.

/Q — утилита ICACLS подавляет сообщения об успешном выполнении.

Утилита ICACLS сохраняет канонический порядок записей ACE:

разрешение — это маска разрешения, которая может задаваться в одной из двух форм:


последовательность простых прав:

N — доступ отсутствует

F — полный доступ

M — доступ на изменение

RX — доступ на чтение и выполнение

R — доступ только на чтение

W — доступ только на запись

D — доступ на удаление


список
отдельных прав через запятую в скобках:

DE — удаление
RC — чтение
WDAC — запись DAC
WO — смена владельца
S — синхронизация
AS — доступ к безопасности системы
MA — максимально возможный
GR — общее чтение
GW — общая запись
GE — общее выполнение
GA — все общие
RD — чтение данных, перечисление содержимого папки
WD — запись данных, добавление файлов
AD — добавление данных и вложенных каталогов
REA — чтение дополнительных атрибутов
WEA — запись дополнительных атрибутов
X — выполнение файлов и обзор папок
DC — удаление вложенных объектов
RA — чтение атрибутов
WA — запись атрибутов

Права наследования могут предшествовать любой форме и применяются только к каталогам:

(OI) — наследование объектами

(CI) — наследование контейнерами

(IO) — только наследование

(NP) — запрет на распространение наследования

(I) — наследование разрешений от родительского контейнера

Примеры использования iCACLS:

icacls — запуск без ключей используется для получения краткой справки по использованию команды.

icacls C:Users — отобразить список управления доступом для папки C:Users. Пример отображаемой информации:

C:Users NT AUTHORITYсистема:(OI)(CI)(F)
BUILTINАдминистраторы:(OI)(CI)(F)
BUILTINПользователи:(RX)
BUILTINПользователи:(OI)(CI)(IO)(GR,GE)
Все:(RX)
Все:(OI)(CI)(IO)(GR,GE)

Успешно обработано 1 файлов; не удалось обработать 0 файлов

icacls c:windows* /save D:win7.acl /T — сохранение ACL для всех файлов в каталоге c:windows и его подкаталогах в ACL-файл D:win7.acl. Сохраненные списки ACL позволят восстановить управление доступом к файлам и каталогам в исходное состояние, поэтому, прежде чем выполнять какие-либо изменения, желательно иметь файл сохраненных списков ACL.

Пример данных сохраненных списков доступа ACL:

В тех случаях, когда при выполнении команды iCACLS возникает ошибка, вызванная отказом в доступе к обрабатываемому объекту, можно продолжить выполнение команды, если задан параметр /C:

icacls «C:System Volume Information*» /save D:SVI-C.acl /T /C — сохранение списков управления доступом ACL для всех файлов и подкаталогов каталога C:System Volume Information с продолжением обработки в случае возникновения ошибки. По результатам обработки отображается сообщение о количестве успешно, и не успешно, обработанных файлов.

Для восстановления доступа к файлам и папкам используется параметр /restore:

icacls c:windows /restore D:win7.acl — восстановление списков контроля доступа к файлам и папкам каталога c:windows из ранее сохраненного ACL-файла D:win7.acl.

Что такое acl в foler access

По традиции для тех кто будет собирать эту схему Packet tracer я привожу полную конфигурацию всех устройств с описанием команд.

Читать еще:  Module entry point

Конфигурация для маршрутизатора:

Запускаем пинг с пользовательского компа до сервера

Как видим доступ есть. Нам же необходимо, чтобы доступ имел только админ. Для этого нам необходимо создать список доступа (пусть он будет иметь порядковый номер 10), в котором мы разрешим всем пакетам от администратора (172.16.0.100) доступ в подсеть серверов (172.16.1.0/24). После чего применим это правило на сабинтерфейсе fa0/0.3 (для серверов) для всех исходящих пакетов.

Тестируем настройки. Запускаем пинг с пользовательского компьютера в сторону сервера.

Пишет Destination host unreachable – хост назначения недоступен.

Запускаем пинг с компьютера администратора.

Пинг идет – значит ACL настроили правильно. Что происходит когда мы пингуем сервер с ноутбука администратора? Пакет сначала поступает на саибинтерфейс fa0/0.2 маршрутизатора. На данном интерфейсе не настроены списки доступа значит пакет проходит далее. Роутер смотрит в свою таблицу маршрутизации и видит что подсеть серверов находится на сабинтерфейсе fa0/0.3. Перед отправкой пакета маршрутизатор видит, что к данному интерфейсу прикреплен ACL 10. В данном списке доступа всего одна запись – разрешить отправку пакетов только хосту 172.16.0.100 (ноут админа). Маршрутизатор смотрит в Ip-пакет и видит адрес отправителя 172.16.0.100 после чего отправляет пакет в подсеть серверов. Ip-пакет с любым отличным от 172.16.0.100 будет отбрасываться, так как в конце ACL 10 стоит неявный deny any – запретить все.

Теперь перейдем к расширенным спискам доступа. Пользователям в нашей сети необходимо иметь доступ к файловому хранилищу и веб-сайту. Мы же ранее полностью ограничили им доступ к серверу. Необходимо исправить ситуацию и в этом нам помогут расширенные списки доступа. Расширенные списки доступа могут проверять Ip-адреса источника/отправителя, тип протокола, UDP/TCP-порты. В нашей ситуации необходимо будет проверять номера портов. Если пользователь обращается к серверу по разрешенному порту, то маршрутизатор пропускает такой пакет. Разрешенные порты: 80 (HTTP – доступ к веб-сайту), 21 (FTP – доступ к файловому хранилищу). Протоколы HTTP и FTP работают поверх TCP. Также для распознавания доменных имен на нашем сервере поднят DNS. DNS-сервер работает на порту 53.

Размещать расширенный список доступа будем на сабинтерфейсе fa0/0.3. Но на этом интерфейсе уже размещен список доступа. Вспоминаем правило: Нельзя разместить более одного списка доступа на интерфейс. Так что придется удалить созданный ранее список доступа. Правило, созданное для администратора перенесем в новый расширенный список с именем Server-out.

Конфигурация для маршрутизатора:

С компьютера админа пинг до сервера есть:

С компьютера пользователя пинга нет:

Проверим с компьютера пользователя проходят ли DNS-запросы до сервера. Для этого запустим утилиту nslookup – которая определяет Ip-адрес до доменному имени.

DNS-запросы проходят без проблем. Проверим доступ к нашему условному Web-сайту через браузер:

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Настройка Site-To-Site IPSec VPN на Cisco

Настройка GRE туннеля на Cisco

Сравнение команд Cisco, Huawei и Juniper

Сброс пароля на коммутаторах и маршрутизаторах Cisco

Расширенные листы контроля доступа (Extended ACL)

На устройствах Cisco

3 минуты чтения

В наших материалах по Cisco, посвященных конфигурации сетевых устройств мы часто встречаемся со стандартными листами (списками) контроля доступа. А теперь поговорим о расширенных. Расширенные листы могут также фильтровать трафик по следующим параметрам:

  • IP-адреса — фильтрация на основе IP-адреса источника и адреса назначения;
  • Порты — фильтрация на основе порта источника / порта назначения;
  • Тип протокола TCP/IP — протоколы TCP, UDP, IP и так далее;

Что делать?

Для начала необходимо создать лист. Сделаем это с помощью команды:

Синтаксис команды следующий:

  • NUMBER — номер листа;
  • PERMIT/DENY — разрешение или запрет трафика;
  • SOURCE/DESTINATION ADDRESS — адреса источника и назначения;
  • WILDCARD_MASK — обратная маска;
  • PROTOCOL_INFORMATION — название или номер протокола TCP, UDP, IP и так далее;

Кстати, для расчета wildcard (обратной) маски, вы можете воспользоваться нашим калькулятором подсетей:

Следующим шагом необходимо применить наш свежесозданный лист на интерфейс и его направление (на вход или выход):

Параметры in и out определяют направление, на котором будет применен лист контроля доступа Для нумерации расширенных листов контроля доступа необходимо использовать следующую нумерацию: со 100 до 199 и с 2000 до 2699

Пример настройки (сценарий №1)

В топологии указанной ниже, нам нужно разрешить пользователям из подсети 10.0.0.0/24 доступ к серверу S2 (адрес 192.168.0.1), но не к серверу S1 (адрес 172.16.0.1/24).

Для начала, напишем ACL и разрешим доступ к серверу S2. Сделаем это мы следующей командой:

Данная команда разрешает весь трафик из подсети 10.0.0.0 на хост 192.168.1.0. Затем, запретим доступ к серверу S1:

Наконец, применим данные листы контроля доступа на интерфейсе R1:

Пример настройки (сценарий №2)

Приведем иной пример использования расширенных листов контроля доступа: У нас снова есть сеть 10.0.0.0/24 и сервер S1, который слушает порт 80. Нам нужно разрешить пользователям доступ к веб-ресурсам на данном сервере, но также необходимо запретить какой-либо другой доступ, к примеру Telnet.

Для начала, нам нужно разрешить трафик из пользовательской подсети к веб-серверу на порту 80, что выполняется командой

Используя ключевое слово TCP, мы можем фильтровать пакеты по портам источника и назначения. В примере выше, мы разрешили путь трафику из подсети 10.0.0.0 на хост 172.16.0.1 на порт 80 (веб-порт).

Теперь нужно запретить Telnet трафик из подсети 10.0.0.0 в подсеть 172.16.0.1. Для этого нужен еще один аксес-лист, на этот раз с запрещающим выражением:

Далее, применим его на интерфейс с помощью следующих команд:

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

  • Extended ACL
  • Cisco листы контроля доступы
  • 173
  • 25

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Ссылка на основную публикацию
Adblock
detector